mirror of
https://github.com/androidx/media.git
synced 2025-05-03 21:57:46 +08:00
commit
f1b37bc547
373
RELEASENOTES.md
373
RELEASENOTES.md
@ -1,5 +1,277 @@
|
||||
# Release notes
|
||||
|
||||
### 2.17.0 (2022-02-24)
|
||||
|
||||
* Core library:
|
||||
* Sleep and retry when creating a `MediaCodec` instance fails. This works
|
||||
around an issue that occurs on some devices when switching a surface
|
||||
from a secure codec to another codec
|
||||
([#8696](https://github.com/google/ExoPlayer/issues/8696)).
|
||||
* Add `MediaCodecAdapter.getMetrics()` to allow users obtain metrics data
|
||||
from `MediaCodec`.
|
||||
([#9766](https://github.com/google/ExoPlayer/issues/9766)).
|
||||
* Fix Maven dependency resolution
|
||||
([#8353](https://github.com/google/ExoPlayer/issues/8353)).
|
||||
* Disable automatic speed adjustment for live streams that neither have
|
||||
low-latency features nor a user request setting the speed
|
||||
([#9329](https://github.com/google/ExoPlayer/issues/9329)).
|
||||
* Rename `DecoderCounters#inputBufferCount` to `queuedInputBufferCount`.
|
||||
* Make `SimpleExoPlayer.renderers` private. Renderers can be accessed via
|
||||
`ExoPlayer.getRenderer`.
|
||||
* Updated some `AnalyticsListener.EventFlags` constant values to match
|
||||
values in `Player.EventFlags`.
|
||||
* Split `AnalyticsCollector` into an interface and default implementation
|
||||
to allow it to be stripped by R8 if an app doesn't need it.
|
||||
* Track selection:
|
||||
* Support preferred video role flags in track selection
|
||||
([#9402](https://github.com/google/ExoPlayer/issues/9402)).
|
||||
* Update video track selection logic to take preferred MIME types and role
|
||||
flags into account when selecting multiple video tracks for adaptation
|
||||
([#9519](https://github.com/google/ExoPlayer/issues/9519)).
|
||||
* Update video and audio track selection logic to only choose formats for
|
||||
adaptive selections that have the same level of decoder and hardware
|
||||
support ([#9565](https://github.com/google/ExoPlayer/issues/9565)).
|
||||
* Update video track selection logic to prefer more efficient codecs if
|
||||
multiple codecs are supported by primary, hardware-accelerated decoders
|
||||
([#4835](https://github.com/google/ExoPlayer/issues/4835)).
|
||||
* Prefer audio content preferences (for example, the "default" audio track
|
||||
or a track matching the system locale language) over technical track
|
||||
selection constraints (for example, preferred MIME type, or maximum
|
||||
channel count).
|
||||
* Prohibit duplicate `TrackGroup`s in a `TrackGroupArray`. `TrackGroup`s
|
||||
can always be made distinguishable by setting an `id` in the
|
||||
`TrackGroup` constructor. This fixes a crash when resuming playback
|
||||
after backgrounding the app with an active track override
|
||||
([#9718](https://github.com/google/ExoPlayer/issues/9718)).
|
||||
* Amend logic in `AdaptiveTrackSelection` to allow a quality increase
|
||||
under sufficient network bandwidth even if playback is very close to the
|
||||
live edge ([#9784](https://github.com/google/ExoPlayer/issues/9784)).
|
||||
* Video:
|
||||
* Fix decoder fallback logic for Dolby Vision to use a compatible
|
||||
H264/H265 decoder if needed.
|
||||
* Audio:
|
||||
* Fix decoder fallback logic for Dolby Atmos (E-AC3-JOC) to use a
|
||||
compatible E-AC3 decoder if needed.
|
||||
* Change `AudioCapabilities` APIs to require passing explicitly
|
||||
`AudioCapabilities.DEFAULT_AUDIO_CAPABILITIES` instead of `null`.
|
||||
* Allow customization of the `AudioTrack` buffer size calculation by
|
||||
injecting an `AudioTrackBufferSizeProvider` to `DefaultAudioSink`.
|
||||
([#8891](https://github.com/google/ExoPlayer/issues/8891)).
|
||||
* Retry `AudioTrack` creation if the requested buffer size was > 1MB.
|
||||
([#9712](https://github.com/google/ExoPlayer/issues/9712)).
|
||||
* Extractors:
|
||||
* Fix incorrect parsing of H.265 SPS NAL units
|
||||
([#9719](https://github.com/google/ExoPlayer/issues/9719)).
|
||||
* Parse Vorbis Comments (including `METADATA_BLOCK_PICTURE`) in Ogg Opus
|
||||
and Ogg Vorbis files.
|
||||
* Text:
|
||||
* Add a `MediaItem.SubtitleConfiguration.id` field which is propagated to
|
||||
the `Format.id` field of the subtitle track created from the
|
||||
configuration
|
||||
([#9673](https://github.com/google/ExoPlayer/issues/9673)).
|
||||
* Add basic support for WebVTT subtitles in Matroska containers
|
||||
([#9886](https://github.com/google/ExoPlayer/issues/9886)).
|
||||
* Prevent `Cea708Decoder` from reading more than the declared size of a
|
||||
service block.
|
||||
* DRM:
|
||||
* Remove `playbackLooper` from `DrmSessionManager.(pre)acquireSession`.
|
||||
When a `DrmSessionManager` is used by an app in a custom `MediaSource`,
|
||||
the `playbackLooper` needs to be passed to `DrmSessionManager.setPlayer`
|
||||
instead.
|
||||
* Ad playback / IMA:
|
||||
* Add support for
|
||||
[IMA Dynamic Ad Insertion (DAI)](https://support.google.com/admanager/answer/6147120)
|
||||
([#8213](https://github.com/google/ExoPlayer/issues/8213)).
|
||||
* Add a method to `AdPlaybackState` to allow resetting an ad group so that
|
||||
it can be played again
|
||||
([#9615](https://github.com/google/ExoPlayer/issues/9615)).
|
||||
* Enforce playback speed of 1.0 during ad playback
|
||||
([#9018](https://github.com/google/ExoPlayer/issues/9018)).
|
||||
* Fix issue where an ad group that failed to load caused an immediate
|
||||
playback reset
|
||||
([#9929](https://github.com/google/ExoPlayer/issues/9929)).
|
||||
* UI:
|
||||
* Fix the color of the numbers in `StyledPlayerView` rewind and
|
||||
fastforward buttons when using certain themes
|
||||
([#9765](https://github.com/google/ExoPlayer/issues/9765)).
|
||||
* Correctly translate playback speed strings
|
||||
([#9811](https://github.com/google/ExoPlayer/issues/9811)).
|
||||
* DASH:
|
||||
* Support the `forced-subtitle` track role
|
||||
([#9727](https://github.com/google/ExoPlayer/issues/9727)).
|
||||
* Stop interpreting the `main` track role as `C.SELECTION_FLAG_DEFAULT`.
|
||||
* Fix base URL exclusion logic for manifests that do not declare the DVB
|
||||
namespace ([#9856](https://github.com/google/ExoPlayer/issues/9856)).
|
||||
* Support relative `MPD.Location` URLs
|
||||
([#9939](https://github.com/google/ExoPlayer/issues/9939)).
|
||||
* HLS:
|
||||
* Use chunkless preparation by default to improve start up time. If your
|
||||
renditions contain muxed closed-caption tracks that are **not** declared
|
||||
in the master playlist, you should add them to the master playlist to be
|
||||
available for playback, or turn off chunkless preparation with
|
||||
`HlsMediaSource.Factory.setAllowChunklessPreparation(false)`.
|
||||
* Support key-frame accurate seeking in HLS
|
||||
([#2882](https://github.com/google/ExoPlayer/issues/2882)).
|
||||
* Correctly populate `Format.label` for audio only HLS streams
|
||||
([#9608](https://github.com/google/ExoPlayer/issues/9608)).
|
||||
* RTSP:
|
||||
* Provide a client API to override the `SocketFactory` used for any server
|
||||
connection ([#9606](https://github.com/google/ExoPlayer/pull/9606)).
|
||||
* Prefer DIGEST authentication method over BASIC if both are present
|
||||
([#9800](https://github.com/google/ExoPlayer/issues/9800)).
|
||||
* Handle when RTSP track timing is not available
|
||||
([#9775](https://github.com/google/ExoPlayer/issues/9775)).
|
||||
* Ignore invalid RTP-Info header values
|
||||
([#9619](https://github.com/google/ExoPlayer/issues/9619)).
|
||||
* Transformer:
|
||||
* Increase required min API version to 21.
|
||||
* `TransformationException` is now used to describe errors that occur
|
||||
during a transformation.
|
||||
* Add `TransformationRequest` for specifying the transformation options.
|
||||
* Allow multiple listeners to be registered.
|
||||
* Fix Transformer being stuck when the codec output is partially read.
|
||||
* Fix potential NPE in `Transformer.getProgress` when releasing the muxer
|
||||
throws.
|
||||
* Add a demo app for applying transformations.
|
||||
* The transformer module is no longer included by depending on
|
||||
`com.google.android.exoplayer:exoplayer`. To continue using transformer,
|
||||
add an additional dependency on
|
||||
`com.google.android.exoplayer:exoplayer-transformer`.
|
||||
* MediaSession extension:
|
||||
* By default, `MediaSessionConnector` now clears the playlist on stop.
|
||||
Apps that want the playlist to be retained can call
|
||||
`setClearMediaItemsOnStop(false)` on the connector.
|
||||
* Cast extension:
|
||||
* Fix bug that prevented `CastPlayer` from calling `onIsPlayingChanged`
|
||||
correctly ([#9792](https://github.com/google/ExoPlayer/issues/9792)).
|
||||
* Support audio metadata including artwork with
|
||||
`DefaultMediaItemConverter`
|
||||
([#9663](https://github.com/google/ExoPlayer/issues/9663)).
|
||||
* FFmpeg extension:
|
||||
* Make `build_ffmpeg.sh` depend on LLVM's bin utils instead of GNU's
|
||||
([#9933](https://github.com/google/ExoPlayer/issues/9933)).
|
||||
* Android 12 compatibility:
|
||||
* Upgrade the Cast extension to depend on
|
||||
`com.google.android.gms:play-services-cast-framework:20.1.0`. Earlier
|
||||
versions of `play-services-cast-framework` are not compatible with apps
|
||||
targeting Android 12, and will crash with an `IllegalArgumentException`
|
||||
when creating `PendingIntent`s
|
||||
([#9528](https://github.com/google/ExoPlayer/issues/9528)).
|
||||
* Remove deprecated symbols:
|
||||
* Remove `Player.EventLister`. Use `Player.Listener` instead.
|
||||
* Remove `MediaSourceFactory#setDrmSessionManager`,
|
||||
`MediaSourceFactory#setDrmHttpDataSourceFactory`, and
|
||||
`MediaSourceFactory#setDrmUserAgent`. Use
|
||||
`MediaSourceFactory#setDrmSessionManagerProvider` instead.
|
||||
* Remove `MediaSourceFactory#setStreamKeys`. Use
|
||||
`MediaItem.Builder#setStreamKeys` instead.
|
||||
* Remove `MediaSourceFactory#createMediaSource(Uri)`. Use
|
||||
`MediaSourceFactory#createMediaSource(MediaItem)` instead.
|
||||
* Remove `setTag` from `DashMediaSource`, `HlsMediaSource` and
|
||||
`SsMediaSource`. Use `MediaItem.Builder#setTag` instead.
|
||||
* Remove `DashMediaSource#setLivePresentationDelayMs(long, boolean)`. Use
|
||||
`MediaItem.Builder#setLiveConfiguration` and
|
||||
`MediaItem.LiveConfiguration.Builder#setTargetOffsetMs` to override the
|
||||
manifest, or `DashMediaSource#setFallbackTargetLiveOffsetMs` to provide
|
||||
a fallback value.
|
||||
* Remove `(Simple)ExoPlayer.setThrowsWhenUsingWrongThread`. Opting out of
|
||||
the thread enforcement is no longer possible.
|
||||
* Remove `ActionFile` and `ActionFileUpgradeUtil`. Use ExoPlayer 2.16.1 or
|
||||
before to use `ActionFileUpgradeUtil` to merge legacy action files into
|
||||
`DefaultDownloadIndex`.
|
||||
* Remove `ProgressiveMediaSource#setExtractorsFactory`. Use
|
||||
`ProgressiveMediaSource.Factory(DataSource.Factory, ExtractorsFactory)`
|
||||
constructor instead.
|
||||
* Remove `ProgressiveMediaSource.Factory#setTag` and, and
|
||||
`ProgressiveMediaSource.Factory#setCustomCacheKey`. Use
|
||||
`MediaItem.Builder#setTag` and `MediaItem.Builder#setCustomCacheKey`
|
||||
instead.
|
||||
* Remove `DefaultRenderersFactory(Context, @ExtensionRendererMode int)`
|
||||
and `DefaultRenderersFactory(Context, @ExtensionRendererMode int, long)`
|
||||
constructors. Use the `DefaultRenderersFactory(Context)` constructor,
|
||||
`DefaultRenderersFactory#setExtensionRendererMode`, and
|
||||
`DefaultRenderersFactory#setAllowedVideoJoiningTimeMs` instead.
|
||||
* Remove all public `CronetDataSource` constructors. Use
|
||||
`CronetDataSource.Factory` instead.
|
||||
* Change the following `IntDefs` to `@Target(TYPE_USE)` only. This may break
|
||||
the compilation of usages in Kotlin, which can be fixed by moving the
|
||||
annotation to annotate the type (`Int`).
|
||||
* `@AacAudioObjectType`
|
||||
* `@Ac3Util.SyncFrameInfo.StreamType`
|
||||
* `@AdLoadException.Type`
|
||||
* `@AdtsExtractor.Flags`
|
||||
* `@AmrExtractor.Flags`
|
||||
* `@AspectRatioFrameLayout.ResizeMode`
|
||||
* `@AudioFocusManager.PlayerCommand`
|
||||
* `@AudioSink.SinkFormatSupport`
|
||||
* `@BinarySearchSeeker.TimestampSearchResult.Type`
|
||||
* `@BufferReplacementMode`
|
||||
* `@C.BufferFlags`
|
||||
* `@C.ColorRange`
|
||||
* `@C.ColorSpace`
|
||||
* `@C.ColorTransfer`
|
||||
* `@C.CryptoMode`
|
||||
* `@C.Encoding`
|
||||
* `@C.PcmEncoding`
|
||||
* `@C.Projection`
|
||||
* `@C.SelectionReason`
|
||||
* `@C.StereoMode`
|
||||
* `@C.VideoOutputMode`
|
||||
* `@CacheDataSource.Flags`
|
||||
* `@CaptionStyleCompat.EdgeType`
|
||||
* `@DataSpec.Flags`
|
||||
* `@DataSpec.HttpMethods`
|
||||
* `@DecoderDiscardReasons`
|
||||
* `@DecoderReuseResult`
|
||||
* `@DefaultAudioSink.OutputMode`
|
||||
* `@DefaultDrmSessionManager.Mode`
|
||||
* `@DefaultTrackSelector.SelectionEligibility`
|
||||
* `@DefaultTsPayloadReaderFactory.Flags`
|
||||
* `@EGLSurfaceTexture.SecureMode`
|
||||
* `@EbmlProcessor.ElementType`
|
||||
* `@ExoMediaDrm.KeyRequest.RequestType`
|
||||
* `@ExtensionRendererMode`
|
||||
* `@Extractor.ReadResult`
|
||||
* `@FileTypes.Type`
|
||||
* `@FlacExtractor.Flags` (in `com.google.android.exoplayer2.ext.flac`
|
||||
package)
|
||||
* `@FlacExtractor.Flags` (in
|
||||
`com.google.android.exoplayer2.extractor.flac` package)
|
||||
* `@FragmentedMp4Extractor.Flags`
|
||||
* `@HlsMediaPlaylist.PlaylistType`
|
||||
* `@HttpDataSourceException.Type`
|
||||
* `@IllegalClippingException.Reason`
|
||||
* `@IllegalMergeException.Reason`
|
||||
* `@LoadErrorHandlingPolicy.FallbackType`
|
||||
* `@MatroskaExtractor.Flags`
|
||||
* `@Mp3Extractor.Flags`
|
||||
* `@Mp4Extractor.Flags`
|
||||
* `@NotificationUtil.Importance`
|
||||
* `@PlaybackException.FieldNumber`
|
||||
* `@PlayerNotificationManager.Priority`
|
||||
* `@PlayerNotificationManager.Visibility`
|
||||
* `@PlayerView.ShowBuffering`
|
||||
* `@Renderer.State`
|
||||
* `@RendererCapabilities.AdaptiveSupport`
|
||||
* `@RendererCapabilities.Capabilities`
|
||||
* `@RendererCapabilities.DecoderSupport`
|
||||
* `@RendererCapabilities.FormatSupport`
|
||||
* `@RendererCapabilities.HardwareAccelerationSupport`
|
||||
* `@RendererCapabilities.TunnelingSupport`
|
||||
* `@SampleStream.ReadDataResult`
|
||||
* `@SampleStream.ReadFlags`
|
||||
* `@StyledPlayerView.ShowBuffering`
|
||||
* `@SubtitleView.ViewType`
|
||||
* `@TextAnnotation.Position`
|
||||
* `@TextEmphasisSpan.MarkFill`
|
||||
* `@TextEmphasisSpan.MarkShape`
|
||||
* `@Track.Transformation`
|
||||
* `@TrackOutput.SampleDataPart`
|
||||
* `@Transformer.ProgressState`
|
||||
* `@TsExtractor.Mode`
|
||||
* `@TsPayloadReader.Flags`
|
||||
* `@WebvttCssStyle.FontSizeUnit`
|
||||
|
||||
### 2.16.1 (2021-11-18)
|
||||
|
||||
* Core Library:
|
||||
@ -522,8 +794,8 @@
|
||||
* The most used methods of `Player`'s audio, video, text and metadata
|
||||
components have been added directly to `Player`.
|
||||
* Add `Player.getAvailableCommands`, `Player.isCommandAvailable` and
|
||||
`Listener.onAvailableCommandsChanged` to query which commands
|
||||
that can be executed on the player.
|
||||
`Listener.onAvailableCommandsChanged` to query which commands that can
|
||||
be executed on the player.
|
||||
* Add a `Player.Listener` interface to receive all player events.
|
||||
Component listeners and `EventListener` have been deprecated.
|
||||
* Add `Player.getMediaMetadata`, which returns a combined and structured
|
||||
@ -532,8 +804,8 @@
|
||||
* `Player.setPlaybackParameters` no longer accepts null, use
|
||||
`PlaybackParameters.DEFAULT` instead.
|
||||
* Report information about the old and the new playback positions to
|
||||
`Listener.onPositionDiscontinuity`. Add `DISCONTINUITY_REASON_SKIP`
|
||||
and `DISCONTINUITY_REASON_REMOVE` as discontinuity reasons, and rename
|
||||
`Listener.onPositionDiscontinuity`. Add `DISCONTINUITY_REASON_SKIP` and
|
||||
`DISCONTINUITY_REASON_REMOVE` as discontinuity reasons, and rename
|
||||
`DISCONTINUITY_REASON_PERIOD_TRANSITION` to
|
||||
`DISCONTINUITY_REASON_AUTO_TRANSITION`. Remove
|
||||
`DISCONTINUITY_REASON_AD_INSERTION`, for which
|
||||
@ -588,8 +860,8 @@
|
||||
dispatched for each track in each period.
|
||||
* Include the session state in DRM session-acquired listener methods.
|
||||
* UI:
|
||||
* Add `PlayerNotificationManager.Builder`, with the ability to
|
||||
specify which group the notification should belong to.
|
||||
* Add `PlayerNotificationManager.Builder`, with the ability to specify
|
||||
which group the notification should belong to.
|
||||
* Remove `setUseSensorRotation` from `PlayerView` and `StyledPlayerView`.
|
||||
Instead, cast the view returned by `getVideoSurfaceView` to
|
||||
`SphericalGLSurfaceView`, and then call `setUseSensorRotation` on the
|
||||
@ -661,7 +933,8 @@
|
||||
|
||||
### 2.13.3 (2021-04-14)
|
||||
|
||||
* Published via the Google Maven repository (i.e., google()) rather than JCenter.
|
||||
* Published via the Google Maven repository (i.e., google()) rather than
|
||||
JCenter.
|
||||
* Core:
|
||||
* Reset playback speed when live playback speed control becomes unused
|
||||
([#8664](https://github.com/google/ExoPlayer/issues/8664)).
|
||||
@ -816,8 +1089,8 @@
|
||||
* Remove `Player.setVideoDecoderOutputBufferRenderer` from Player API. Use
|
||||
`setVideoSurfaceView` and `clearVideoSurfaceView` instead.
|
||||
* Default `SingleSampleMediaSource.treatLoadErrorsAsEndOfStream` to `true`
|
||||
so that errors loading external subtitle files do not cause playback
|
||||
to fail ([#8430](https://github.com/google/ExoPlayer/issues/8430)). A
|
||||
so that errors loading external subtitle files do not cause playback to
|
||||
fail ([#8430](https://github.com/google/ExoPlayer/issues/8430)). A
|
||||
warning will be logged by `SingleSampleMediaPeriod` whenever a load
|
||||
error is treated as though the end of the stream has been reached.
|
||||
* Time out on release to prevent ANRs if an underlying platform call is
|
||||
@ -898,9 +1171,8 @@
|
||||
([#7847](https://github.com/google/ExoPlayer/issues/7847)).
|
||||
* Drop key and provision responses if `DefaultDrmSession` is released
|
||||
while waiting for the response. This prevents harmless log messages of
|
||||
the form:
|
||||
`IllegalStateException: sending message to a Handler on a dead thread`
|
||||
([#8328](https://github.com/google/ExoPlayer/issues/8328)).
|
||||
the form: `IllegalStateException: sending message to a Handler on a dead
|
||||
thread` ([#8328](https://github.com/google/ExoPlayer/issues/8328)).
|
||||
* Allow apps to fully customize DRM behaviour for each `MediaItem` by
|
||||
passing a `DrmSessionManagerProvider` to `MediaSourceFactory`
|
||||
([#8466](https://github.com/google/ExoPlayer/issues/8466)).
|
||||
@ -915,8 +1187,8 @@
|
||||
existing decoder instance for the new format, and if not then the
|
||||
reasons why.
|
||||
* Video:
|
||||
* Fall back to AVC/HEVC decoders for Dolby Vision streams with level 10
|
||||
to 13 ([#8530](https://github.com/google/ExoPlayer/issues/8530)).
|
||||
* Fall back to AVC/HEVC decoders for Dolby Vision streams with level 10 to
|
||||
13 ([#8530](https://github.com/google/ExoPlayer/issues/8530)).
|
||||
* Fix VP9 format capability checks on API level 23 and earlier. The
|
||||
platform does not correctly report the VP9 level supported by the
|
||||
decoder in this case, so we estimate it based on the decoder's maximum
|
||||
@ -998,8 +1270,8 @@
|
||||
* `ExtractorsMediaSource.Factory.setMinLoadableRetryCount(int)`. Use
|
||||
`ExtractorsMediaSource.Factory.setLoadErrorHandlingPolicy(LoadErrorHandlingPolicy)`
|
||||
instead.
|
||||
* `FixedTrackSelection.Factory`. If you need to disable adaptive
|
||||
selection in `DefaultTrackSelector`, enable the
|
||||
* `FixedTrackSelection.Factory`. If you need to disable adaptive selection
|
||||
in `DefaultTrackSelector`, enable the
|
||||
`DefaultTrackSelector.Parameters.forceHighestSupportedBitrate` flag.
|
||||
* `HlsMediaSource.Factory.setMinLoadableRetryCount(int)`. Use
|
||||
`HlsMediaSource.Factory.setLoadErrorHandlingPolicy(LoadErrorHandlingPolicy)`
|
||||
@ -1012,8 +1284,8 @@
|
||||
`MappedTrackInfo.getUnmappedTrackGroups()` instead.
|
||||
* `MappedTrackInfo.length`. Use `MappedTrackInfo.getRendererCount()`
|
||||
instead.
|
||||
* `Player.DefaultEventListener.onTimelineChanged(Timeline, Object)`.
|
||||
Use `Player.EventListener.onTimelineChanged(Timeline, int)` instead.
|
||||
* `Player.DefaultEventListener.onTimelineChanged(Timeline, Object)`. Use
|
||||
`Player.EventListener.onTimelineChanged(Timeline, int)` instead.
|
||||
* `Player.setAudioAttributes(AudioAttributes)`. Use
|
||||
`Player.AudioComponent.setAudioAttributes(AudioAttributes, boolean)`
|
||||
instead.
|
||||
@ -1029,8 +1301,8 @@
|
||||
`SimpleExoPlayer.removeVideoListener(VideoListener)` instead.
|
||||
* `SimpleExoPlayer.getAudioStreamType()`. Use
|
||||
`SimpleExoPlayer.getAudioAttributes()` instead.
|
||||
* `SimpleExoPlayer.setAudioDebugListener(AudioRendererEventListener)`.
|
||||
Use `SimpleExoPlayer.addAnalyticsListener(AnalyticsListener)` instead.
|
||||
* `SimpleExoPlayer.setAudioDebugListener(AudioRendererEventListener)`. Use
|
||||
`SimpleExoPlayer.addAnalyticsListener(AnalyticsListener)` instead.
|
||||
* `SimpleExoPlayer.setAudioStreamType(int)`. Use
|
||||
`SimpleExoPlayer.setAudioAttributes(AudioAttributes)` instead.
|
||||
* `SimpleExoPlayer.setMetadataOutput(MetadataOutput)`. Use
|
||||
@ -1041,12 +1313,11 @@
|
||||
* `SimpleExoPlayer.setPlaybackParams(PlaybackParams)`. Use
|
||||
`SimpleExoPlayer.setPlaybackParameters(PlaybackParameters)` instead.
|
||||
* `SimpleExoPlayer.setTextOutput(TextOutput)`. Use
|
||||
`SimpleExoPlayer.addTextOutput(TextOutput)` instead. If your
|
||||
application is calling `SimpleExoPlayer.setTextOutput(null)`, make sure
|
||||
to replace this call with a call to
|
||||
`SimpleExoPlayer.removeTextOutput(TextOutput)`.
|
||||
* `SimpleExoPlayer.setVideoDebugListener(VideoRendererEventListener)`.
|
||||
Use `SimpleExoPlayer.addAnalyticsListener(AnalyticsListener)` instead.
|
||||
`SimpleExoPlayer.addTextOutput(TextOutput)` instead. If your application
|
||||
is calling `SimpleExoPlayer.setTextOutput(null)`, make sure to replace
|
||||
this call with a call to `SimpleExoPlayer.removeTextOutput(TextOutput)`.
|
||||
* `SimpleExoPlayer.setVideoDebugListener(VideoRendererEventListener)`. Use
|
||||
`SimpleExoPlayer.addAnalyticsListener(AnalyticsListener)` instead.
|
||||
* `SimpleExoPlayer.setVideoListener(VideoListener)`. Use
|
||||
`SimpleExoPlayer.addVideoListener(VideoListener)` instead. If your
|
||||
application is calling `SimpleExoPlayer.setVideoListener(null)`, make
|
||||
@ -1070,7 +1341,7 @@
|
||||
`SsMediaSource.Factory.setLoadErrorHandlingPolicy(LoadErrorHandlingPolicy)`
|
||||
instead.
|
||||
|
||||
### 2.12.3 (2021-01-13) ###
|
||||
### 2.12.3 (2021-01-13)
|
||||
|
||||
* Core library:
|
||||
* Fix `MediaCodecRenderer` issue where empty streams would fail to play in
|
||||
@ -1107,7 +1378,7 @@
|
||||
fix a deadlock while creating PlaybackStateCompat internally.
|
||||
([#8011](https://github.com/google/ExoPlayer/issues/8011)).
|
||||
|
||||
### 2.12.2 (2020-12-01) ###
|
||||
### 2.12.2 (2020-12-01)
|
||||
|
||||
* Core library:
|
||||
* Suppress exceptions from registering and unregistering the stream volume
|
||||
@ -1168,7 +1439,7 @@
|
||||
* Allow to remove all playlist items that makes the player reset
|
||||
([#8047](https://github.com/google/ExoPlayer/issues/8047)).
|
||||
|
||||
### 2.12.1 (2020-10-23) ###
|
||||
### 2.12.1 (2020-10-23)
|
||||
|
||||
* Core library:
|
||||
* Fix issue where `Player.setMediaItems` would ignore its `resetPosition`
|
||||
@ -1207,7 +1478,7 @@
|
||||
([#8058](https://github.com/google/ExoPlayer/issues/8058)).
|
||||
* Extractors:
|
||||
* MP4:
|
||||
* Add support for `_mp2` boxes
|
||||
* Add support for `_mp2` boxes
|
||||
([#7967](https://github.com/google/ExoPlayer/issues/7967)).
|
||||
* Fix playback of files containing `pcm_alaw` or `pcm_mulaw` audio
|
||||
tracks, by enabling sample rechunking for such tracks.
|
||||
@ -1243,11 +1514,11 @@
|
||||
([#7961](https://github.com/google/ExoPlayer/issues/7961)).
|
||||
* Fix incorrect truncation of large cue point positions
|
||||
([#8067](https://github.com/google/ExoPlayer/issues/8067)).
|
||||
* Upgrade IMA SDK dependency to 3.20.1. This brings in a fix for
|
||||
companion ads rendering when targeting API 29
|
||||
* Upgrade IMA SDK dependency to 3.20.1. This brings in a fix for companion
|
||||
ads rendering when targeting API 29
|
||||
([#6432](https://github.com/google/ExoPlayer/issues/6432)).
|
||||
|
||||
### 2.12.0 (2020-09-11) ###
|
||||
### 2.12.0 (2020-09-11)
|
||||
|
||||
To learn more about what's new in 2.12, read the corresponding
|
||||
[blog post](https://medium.com/google-exoplayer/exoplayer-2-12-whats-new-e43ef8ff72e7).
|
||||
@ -1278,8 +1549,7 @@ To learn more about what's new in 2.12, read the corresponding
|
||||
* Remove `PlaybackParameters.skipSilence`, and replace it with
|
||||
`AudioComponent.setSkipSilenceEnabled`. This method is also
|
||||
available on `SimpleExoPlayer`. An
|
||||
`AudioListener.onSkipSilenceEnabledChanged` callback is also
|
||||
added.
|
||||
`AudioListener.onSkipSilenceEnabledChanged` callback is also added.
|
||||
* Add `TextComponent.getCurrentCues` to get the current cues. This
|
||||
method is also available on `SimpleExoPlayer`. The current cues are
|
||||
no longer automatically forwarded to a `TextOutput` when it's added
|
||||
@ -1607,20 +1877,19 @@ To learn more about what's new in 2.12, read the corresponding
|
||||
* Add support for downloading DRM-protected content using offline Widevine
|
||||
licenses.
|
||||
|
||||
### 2.11.8 (2020-08-25) ###
|
||||
### 2.11.8 (2020-08-25)
|
||||
|
||||
* Fix distorted playback of floating point audio when samples exceed the
|
||||
`[-1, 1]` nominal range.
|
||||
* Fix distorted playback of floating point audio when samples exceed the `[-1,
|
||||
1]` nominal range.
|
||||
* MP4:
|
||||
* Add support for `piff` and `isml` brands
|
||||
([#7584](https://github.com/google/ExoPlayer/issues/7584)).
|
||||
* Fix playback of very short MP4 files.
|
||||
* FMP4:
|
||||
* Fix `saiz` and `senc` sample count checks, resolving a "length
|
||||
mismatch" `ParserException` when playing certain protected FMP4 streams
|
||||
* Fix `saiz` and `senc` sample count checks, resolving a "length mismatch"
|
||||
`ParserException` when playing certain protected FMP4 streams
|
||||
([#7592](https://github.com/google/ExoPlayer/issues/7592)).
|
||||
* Fix handling of `traf` boxes containing multiple `sbgp` or `sgpd`
|
||||
boxes.
|
||||
* Fix handling of `traf` boxes containing multiple `sbgp` or `sgpd` boxes.
|
||||
* FLV: Ignore `SCRIPTDATA` segments with invalid name types, rather than
|
||||
failing playback ([#7675](https://github.com/google/ExoPlayer/issues/7675)).
|
||||
* Better infer the content type of `.ism` and `.isml` streaming URLs.
|
||||
@ -1633,12 +1902,12 @@ To learn more about what's new in 2.12, read the corresponding
|
||||
* Demo app: Fix playback of ClearKey protected content on API level 26 and
|
||||
earlier ([#7735](https://github.com/google/ExoPlayer/issues/7735)).
|
||||
|
||||
### 2.11.7 (2020-06-29) ###
|
||||
### 2.11.7 (2020-06-29)
|
||||
|
||||
* IMA extension: Fix the way postroll "content complete" notifications are
|
||||
handled to avoid repeatedly refreshing the timeline after playback ends.
|
||||
|
||||
### 2.11.6 (2020-06-19) ###
|
||||
### 2.11.6 (2020-06-19)
|
||||
|
||||
* UI: Prevent `PlayerView` from temporarily hiding the video surface when
|
||||
seeking to an unprepared period within the current window. For example when
|
||||
@ -1653,14 +1922,14 @@ To learn more about what's new in 2.12, read the corresponding
|
||||
([#7508](https://github.com/google/ExoPlayer/issues/7508)).
|
||||
* Fix a bug where the number of ads in an ad group couldn't change
|
||||
([#7477](https://github.com/google/ExoPlayer/issues/7477)).
|
||||
* Work around unexpected `pauseAd`/`stopAd` for ads that have preloaded
|
||||
on seeking to another position
|
||||
* Work around unexpected `pauseAd`/`stopAd` for ads that have preloaded on
|
||||
seeking to another position
|
||||
([#7492](https://github.com/google/ExoPlayer/issues/7492)).
|
||||
* Fix incorrect rounding of ad cue points.
|
||||
* Fix handling of postrolls preloading
|
||||
([#7518](https://github.com/google/ExoPlayer/issues/7518)).
|
||||
|
||||
### 2.11.5 (2020-06-05) ###
|
||||
### 2.11.5 (2020-06-05)
|
||||
|
||||
* Improve the smoothness of video playback immediately after starting, seeking
|
||||
or resuming a playback
|
||||
@ -1668,8 +1937,8 @@ To learn more about what's new in 2.12, read the corresponding
|
||||
* Add `SilenceMediaSource.Factory` to support tags.
|
||||
* Enable the configuration of `SilenceSkippingAudioProcessor`
|
||||
([#6705](https://github.com/google/ExoPlayer/issues/6705)).
|
||||
* Fix bug where `PlayerMessages` throw an exception after `MediaSources`
|
||||
are removed from the playlist
|
||||
* Fix bug where `PlayerMessages` throw an exception after `MediaSources` are
|
||||
removed from the playlist
|
||||
([#7278](https://github.com/google/ExoPlayer/issues/7278)).
|
||||
* Fix "Not allowed to start service" `IllegalStateException` in
|
||||
`DownloadService`
|
||||
@ -1701,13 +1970,11 @@ To learn more about what's new in 2.12, read the corresponding
|
||||
([#7303](https://github.com/google/ExoPlayer/issues/7303)).
|
||||
* Add `showScrubber` and `hideScrubber` methods to `DefaultTimeBar`.
|
||||
* Text:
|
||||
* Use anti-aliasing and bitmap filtering when displaying bitmap
|
||||
subtitles.
|
||||
* Use anti-aliasing and bitmap filtering when displaying bitmap subtitles.
|
||||
* Fix `SubtitlePainter` to render `EDGE_TYPE_OUTLINE` using the correct
|
||||
color.
|
||||
* IMA extension:
|
||||
* Upgrade to IMA SDK version 3.19.0, and migrate to new
|
||||
preloading APIs
|
||||
* Upgrade to IMA SDK version 3.19.0, and migrate to new preloading APIs
|
||||
([#6429](https://github.com/google/ExoPlayer/issues/6429)). This fixes
|
||||
several issues involving preloading and handling of ad loading error
|
||||
cases: ([#4140](https://github.com/google/ExoPlayer/issues/4140),
|
||||
|
@ -13,8 +13,8 @@
|
||||
// limitations under the License.
|
||||
project.ext {
|
||||
// ExoPlayer version and version code.
|
||||
releaseVersion = '2.16.1'
|
||||
releaseVersionCode = 2016001
|
||||
releaseVersion = '2.17.0'
|
||||
releaseVersionCode = 2_017_000
|
||||
minSdkVersion = 16
|
||||
appTargetSdkVersion = 29
|
||||
// Upgrading this requires [Internal ref: b/193254928] to be fixed, or some
|
||||
@ -25,7 +25,7 @@ project.ext {
|
||||
junitVersion = '4.13.2'
|
||||
// Use the same Guava version as the Android repo:
|
||||
// https://cs.android.com/android/platform/superproject/+/master:external/guava/METADATA
|
||||
guavaVersion = '27.1-android'
|
||||
guavaVersion = '31.0.1-android'
|
||||
mockitoVersion = '3.12.4'
|
||||
robolectricVersion = '4.6.1'
|
||||
// Keep this in sync with Google's internal Checker Framework version.
|
||||
@ -37,6 +37,7 @@ project.ext {
|
||||
androidxAnnotationVersion = '1.3.0'
|
||||
androidxAppCompatVersion = '1.3.1'
|
||||
androidxCollectionVersion = '1.1.0'
|
||||
androidxConstraintLayoutVersion = '2.0.4'
|
||||
androidxCoreVersion = '1.7.0'
|
||||
androidxFuturesVersion = '1.1.0'
|
||||
androidxMediaVersion = '1.4.3'
|
||||
|
@ -28,7 +28,6 @@ import com.google.android.exoplayer2.Timeline;
|
||||
import com.google.android.exoplayer2.TracksInfo;
|
||||
import com.google.android.exoplayer2.ext.cast.CastPlayer;
|
||||
import com.google.android.exoplayer2.ext.cast.SessionAvailabilityListener;
|
||||
import com.google.android.exoplayer2.ui.PlayerView;
|
||||
import com.google.android.exoplayer2.ui.StyledPlayerControlView;
|
||||
import com.google.android.exoplayer2.ui.StyledPlayerView;
|
||||
import com.google.android.gms.cast.framework.CastContext;
|
||||
@ -67,7 +66,7 @@ import java.util.ArrayList;
|
||||
*
|
||||
* @param context A {@link Context}.
|
||||
* @param listener A {@link Listener} for queue position changes.
|
||||
* @param playerView The {@link PlayerView} for playback.
|
||||
* @param playerView The {@link StyledPlayerView} for playback.
|
||||
* @param castContext The {@link CastContext}.
|
||||
*/
|
||||
public PlayerManager(
|
||||
@ -224,10 +223,12 @@ import java.util.ArrayList;
|
||||
if (currentPlayer != localPlayer || tracksInfo == lastSeenTrackGroupInfo) {
|
||||
return;
|
||||
}
|
||||
if (!tracksInfo.isTypeSupportedOrEmpty(C.TRACK_TYPE_VIDEO)) {
|
||||
if (!tracksInfo.isTypeSupportedOrEmpty(
|
||||
C.TRACK_TYPE_VIDEO, /* allowExceedsCapabilities= */ true)) {
|
||||
listener.onUnsupportedTrack(C.TRACK_TYPE_VIDEO);
|
||||
}
|
||||
if (!tracksInfo.isTypeSupportedOrEmpty(C.TRACK_TYPE_AUDIO)) {
|
||||
if (!tracksInfo.isTypeSupportedOrEmpty(
|
||||
C.TRACK_TYPE_AUDIO, /* allowExceedsCapabilities= */ true)) {
|
||||
listener.onUnsupportedTrack(C.TRACK_TYPE_AUDIO);
|
||||
}
|
||||
lastSeenTrackGroupInfo = tracksInfo;
|
||||
|
@ -15,19 +15,19 @@
|
||||
#extension GL_OES_EGL_image_external : require
|
||||
precision mediump float;
|
||||
// External texture containing video decoder output.
|
||||
uniform samplerExternalOES tex_sampler_0;
|
||||
uniform samplerExternalOES uTexSampler0;
|
||||
// Texture containing the overlap bitmap.
|
||||
uniform sampler2D tex_sampler_1;
|
||||
uniform sampler2D uTexSampler1;
|
||||
// Horizontal scaling factor for the overlap bitmap.
|
||||
uniform float scaleX;
|
||||
uniform float uScaleX;
|
||||
// Vertical scaling factory for the overlap bitmap.
|
||||
uniform float scaleY;
|
||||
varying vec2 v_texcoord;
|
||||
uniform float uScaleY;
|
||||
varying vec2 vTexCoords;
|
||||
void main() {
|
||||
vec4 videoColor = texture2D(tex_sampler_0, v_texcoord);
|
||||
vec4 overlayColor = texture2D(tex_sampler_1,
|
||||
vec2(v_texcoord.x * scaleX,
|
||||
v_texcoord.y * scaleY));
|
||||
vec4 videoColor = texture2D(uTexSampler0, vTexCoords);
|
||||
vec4 overlayColor = texture2D(uTexSampler1,
|
||||
vec2(vTexCoords.x * uScaleX,
|
||||
vTexCoords.y * uScaleY));
|
||||
// Blend the video decoder output and the overlay bitmap.
|
||||
gl_FragColor = videoColor * (1.0 - overlayColor.a)
|
||||
+ overlayColor * overlayColor.a;
|
||||
|
@ -11,11 +11,11 @@
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
attribute vec4 a_position;
|
||||
attribute vec4 a_texcoord;
|
||||
uniform mat4 tex_transform;
|
||||
varying vec2 v_texcoord;
|
||||
attribute vec4 aFramePosition;
|
||||
attribute vec4 aTexCoords;
|
||||
uniform mat4 uTexTransform;
|
||||
varying vec2 vTexCoords;
|
||||
void main() {
|
||||
gl_Position = a_position;
|
||||
v_texcoord = (tex_transform * a_texcoord).xy;
|
||||
gl_Position = aFramePosition;
|
||||
vTexCoords = (uTexTransform * aTexCoords).xy;
|
||||
}
|
||||
|
@ -26,7 +26,6 @@ import android.graphics.Paint;
|
||||
import android.graphics.drawable.BitmapDrawable;
|
||||
import android.opengl.GLES20;
|
||||
import android.opengl.GLUtils;
|
||||
import androidx.annotation.Nullable;
|
||||
import com.google.android.exoplayer2.C;
|
||||
import com.google.android.exoplayer2.util.GlUtil;
|
||||
import java.io.IOException;
|
||||
@ -52,8 +51,6 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
|
||||
private final Canvas overlayCanvas;
|
||||
|
||||
private GlUtil.@MonotonicNonNull Program program;
|
||||
@Nullable private GlUtil.Attribute[] attributes;
|
||||
@Nullable private GlUtil.Uniform[] uniforms;
|
||||
|
||||
private float bitmapScaleX;
|
||||
private float bitmapScaleY;
|
||||
@ -88,31 +85,10 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
|
||||
} catch (IOException e) {
|
||||
throw new IllegalStateException(e);
|
||||
}
|
||||
program.use();
|
||||
GlUtil.Attribute[] attributes = program.getAttributes();
|
||||
for (GlUtil.Attribute attribute : attributes) {
|
||||
if (attribute.name.equals("a_position")) {
|
||||
attribute.setBuffer(
|
||||
new float[] {
|
||||
-1, -1, 0, 1,
|
||||
1, -1, 0, 1,
|
||||
-1, 1, 0, 1,
|
||||
1, 1, 0, 1
|
||||
},
|
||||
4);
|
||||
} else if (attribute.name.equals("a_texcoord")) {
|
||||
attribute.setBuffer(
|
||||
new float[] {
|
||||
0, 0, 0, 1,
|
||||
1, 0, 0, 1,
|
||||
0, 1, 0, 1,
|
||||
1, 1, 0, 1
|
||||
},
|
||||
4);
|
||||
}
|
||||
}
|
||||
this.attributes = attributes;
|
||||
this.uniforms = program.getUniforms();
|
||||
program.setBufferAttribute(
|
||||
"aFramePosition", GlUtil.getNormalizedCoordinateBounds(), GlUtil.RECTANGLE_VERTICES_COUNT);
|
||||
program.setBufferAttribute(
|
||||
"aTexCoords", GlUtil.getTextureCoordinateBounds(), GlUtil.RECTANGLE_VERTICES_COUNT);
|
||||
GLES20.glGenTextures(1, textures, 0);
|
||||
GLES20.glBindTexture(GL10.GL_TEXTURE_2D, textures[0]);
|
||||
GLES20.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MIN_FILTER, GL10.GL_NEAREST);
|
||||
@ -141,36 +117,22 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
|
||||
GlUtil.checkGlError();
|
||||
|
||||
// Run the shader program.
|
||||
GlUtil.Uniform[] uniforms = checkNotNull(this.uniforms);
|
||||
GlUtil.Attribute[] attributes = checkNotNull(this.attributes);
|
||||
for (GlUtil.Uniform uniform : uniforms) {
|
||||
switch (uniform.name) {
|
||||
case "tex_sampler_0":
|
||||
uniform.setSamplerTexId(frameTexture, /* unit= */ 0);
|
||||
break;
|
||||
case "tex_sampler_1":
|
||||
uniform.setSamplerTexId(textures[0], /* unit= */ 1);
|
||||
break;
|
||||
case "scaleX":
|
||||
uniform.setFloat(bitmapScaleX);
|
||||
break;
|
||||
case "scaleY":
|
||||
uniform.setFloat(bitmapScaleY);
|
||||
break;
|
||||
case "tex_transform":
|
||||
uniform.setFloats(transformMatrix);
|
||||
break;
|
||||
default: // fall out
|
||||
}
|
||||
}
|
||||
for (GlUtil.Attribute copyExternalAttribute : attributes) {
|
||||
copyExternalAttribute.bind();
|
||||
}
|
||||
for (GlUtil.Uniform copyExternalUniform : uniforms) {
|
||||
copyExternalUniform.bind();
|
||||
}
|
||||
GlUtil.Program program = checkNotNull(this.program);
|
||||
program.setSamplerTexIdUniform("uTexSampler0", frameTexture, /* unit= */ 0);
|
||||
program.setSamplerTexIdUniform("uTexSampler1", textures[0], /* unit= */ 1);
|
||||
program.setFloatUniform("uScaleX", bitmapScaleX);
|
||||
program.setFloatUniform("uScaleY", bitmapScaleY);
|
||||
program.setFloatsUniform("uTexTransform", transformMatrix);
|
||||
program.bindAttributesAndUniforms();
|
||||
GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT);
|
||||
GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, /* first= */ 0, /* count= */ 4);
|
||||
GlUtil.checkGlError();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void release() {
|
||||
if (program != null) {
|
||||
program.delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -34,7 +34,7 @@ import com.google.android.exoplayer2.drm.HttpMediaDrmCallback;
|
||||
import com.google.android.exoplayer2.source.MediaSource;
|
||||
import com.google.android.exoplayer2.source.ProgressiveMediaSource;
|
||||
import com.google.android.exoplayer2.source.dash.DashMediaSource;
|
||||
import com.google.android.exoplayer2.ui.PlayerView;
|
||||
import com.google.android.exoplayer2.ui.StyledPlayerView;
|
||||
import com.google.android.exoplayer2.upstream.DataSource;
|
||||
import com.google.android.exoplayer2.upstream.DefaultDataSource;
|
||||
import com.google.android.exoplayer2.upstream.DefaultHttpDataSource;
|
||||
@ -61,7 +61,7 @@ public final class MainActivity extends Activity {
|
||||
private static final String DRM_SCHEME_EXTRA = "drm_scheme";
|
||||
private static final String DRM_LICENSE_URL_EXTRA = "drm_license_url";
|
||||
|
||||
@Nullable private PlayerView playerView;
|
||||
@Nullable private StyledPlayerView playerView;
|
||||
@Nullable private VideoProcessingGLSurfaceView videoProcessingGLSurfaceView;
|
||||
|
||||
@Nullable private ExoPlayer player;
|
||||
@ -161,12 +161,12 @@ public final class MainActivity extends Activity {
|
||||
if (type == C.TYPE_DASH) {
|
||||
mediaSource =
|
||||
new DashMediaSource.Factory(dataSourceFactory)
|
||||
.setDrmSessionManager(drmSessionManager)
|
||||
.setDrmSessionManagerProvider(unusedMediaItem -> drmSessionManager)
|
||||
.createMediaSource(MediaItem.fromUri(uri));
|
||||
} else if (type == C.TYPE_OTHER) {
|
||||
mediaSource =
|
||||
new ProgressiveMediaSource.Factory(dataSourceFactory)
|
||||
.setDrmSessionManager(drmSessionManager)
|
||||
.setDrmSessionManagerProvider(unusedMediaItem -> drmSessionManager)
|
||||
.createMediaSource(MediaItem.fromUri(uri));
|
||||
} else {
|
||||
throw new IllegalStateException();
|
||||
|
@ -64,6 +64,9 @@ public final class VideoProcessingGLSurfaceView extends GLSurfaceView {
|
||||
* @param transformMatrix The 4 * 4 transform matrix to be applied to the texture.
|
||||
*/
|
||||
void draw(int frameTexture, long frameTimestampUs, float[] transformMatrix);
|
||||
|
||||
/** Releases any resources associated with this {@link VideoProcessor}. */
|
||||
void release();
|
||||
}
|
||||
|
||||
private static final int EGL_PROTECTED_CONTENT_EXT = 0x32C0;
|
||||
|
@ -20,7 +20,7 @@
|
||||
android:layout_height="match_parent"
|
||||
android:keepScreenOn="true">
|
||||
|
||||
<com.google.android.exoplayer2.ui.PlayerView
|
||||
<com.google.android.exoplayer2.ui.StyledPlayerView
|
||||
android:id="@+id/player_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
|
@ -76,6 +76,7 @@
|
||||
<data android:scheme="content"/>
|
||||
<data android:scheme="asset"/>
|
||||
<data android:scheme="file"/>
|
||||
<data android:scheme="ssai"/>
|
||||
</intent-filter>
|
||||
<intent-filter>
|
||||
<action android:name="com.google.android.exoplayer.demo.action.VIEW_LIST"/>
|
||||
|
@ -35,31 +35,31 @@
|
||||
"name": "HD (cenc)",
|
||||
"uri": "https://storage.googleapis.com/wvmedia/cenc/h264/tears/tears.mpd",
|
||||
"drm_scheme": "widevine",
|
||||
"drm_license_uri": "https://proxy.uat.widevine.com/proxy?provider=widevine_test"
|
||||
"drm_license_uri": "https://proxy.uat.widevine.com/proxy?video_id=2015_tears&provider=widevine_test"
|
||||
},
|
||||
{
|
||||
"name": "UHD (cenc)",
|
||||
"uri": "https://storage.googleapis.com/wvmedia/cenc/h264/tears/tears_uhd.mpd",
|
||||
"drm_scheme": "widevine",
|
||||
"drm_license_uri": "https://proxy.uat.widevine.com/proxy?provider=widevine_test"
|
||||
"drm_license_uri": "https://proxy.uat.widevine.com/proxy?video_id=2015_tears&provider=widevine_test"
|
||||
},
|
||||
{
|
||||
"name": "HD (cbcs)",
|
||||
"uri": "https://storage.googleapis.com/wvmedia/cbcs/h264/tears/tears_aes_cbcs.mpd",
|
||||
"drm_scheme": "widevine",
|
||||
"drm_license_uri": "https://proxy.uat.widevine.com/proxy?provider=widevine_test"
|
||||
"drm_license_uri": "https://proxy.uat.widevine.com/proxy?video_id=2015_tears&provider=widevine_test"
|
||||
},
|
||||
{
|
||||
"name": "UHD (cbcs)",
|
||||
"uri": "https://storage.googleapis.com/wvmedia/cbcs/h264/tears/tears_aes_cbcs_uhd.mpd",
|
||||
"drm_scheme": "widevine",
|
||||
"drm_license_uri": "https://proxy.uat.widevine.com/proxy?provider=widevine_test"
|
||||
"drm_license_uri": "https://proxy.uat.widevine.com/proxy?video_id=2015_tears&provider=widevine_test"
|
||||
},
|
||||
{
|
||||
"name": "Secure -> Clear -> Secure (cenc)",
|
||||
"uri": "https://storage.googleapis.com/exoplayer-test-media-1/widevine/tears_enc_clear_enc.mpd",
|
||||
"drm_scheme": "widevine",
|
||||
"drm_license_uri": "https://proxy.uat.widevine.com/proxy?provider=widevine_test",
|
||||
"drm_license_uri": "https://proxy.uat.widevine.com/proxy?video_id=2015_tears&provider=widevine_test",
|
||||
"drm_session_for_clear_content": true
|
||||
}
|
||||
]
|
||||
@ -71,25 +71,25 @@
|
||||
"name": "HD (cenc, full-sample)",
|
||||
"uri": "https://storage.googleapis.com/wvmedia/cenc/vp9/tears/tears.mpd",
|
||||
"drm_scheme": "widevine",
|
||||
"drm_license_uri": "https://proxy.uat.widevine.com/proxy?provider=widevine_test"
|
||||
"drm_license_uri": "https://proxy.uat.widevine.com/proxy?video_id=2015_tears&provider=widevine_test"
|
||||
},
|
||||
{
|
||||
"name": "UHD (cenc, full-sample)",
|
||||
"uri": "https://storage.googleapis.com/wvmedia/cenc/vp9/tears/tears_uhd.mpd",
|
||||
"drm_scheme": "widevine",
|
||||
"drm_license_uri": "https://proxy.uat.widevine.com/proxy?provider=widevine_test"
|
||||
"drm_license_uri": "https://proxy.uat.widevine.com/proxy?video_id=2015_tears&provider=widevine_test"
|
||||
},
|
||||
{
|
||||
"name": "HD (cenc, sub-sample)",
|
||||
"uri": "https://storage.googleapis.com/wvmedia/cenc/vp9/subsample/24fps/tears/tears.mpd",
|
||||
"drm_scheme": "widevine",
|
||||
"drm_license_uri": "https://proxy.uat.widevine.com/proxy?provider=widevine_test"
|
||||
"drm_license_uri": "https://proxy.uat.widevine.com/proxy?video_id=2015_tears&provider=widevine_test"
|
||||
},
|
||||
{
|
||||
"name": "UHD (cenc, sub-sample)",
|
||||
"uri": "https://storage.googleapis.com/wvmedia/cenc/vp9/subsample/24fps/tears/tears_uhd.mpd",
|
||||
"drm_scheme": "widevine",
|
||||
"drm_license_uri": "https://proxy.uat.widevine.com/proxy?provider=widevine_test"
|
||||
"drm_license_uri": "https://proxy.uat.widevine.com/proxy?video_id=2015_tears&provider=widevine_test"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -100,13 +100,13 @@
|
||||
"name": "HD (cenc)",
|
||||
"uri": "https://storage.googleapis.com/wvmedia/cenc/hevc/tears/tears.mpd",
|
||||
"drm_scheme": "widevine",
|
||||
"drm_license_uri": "https://proxy.uat.widevine.com/proxy?provider=widevine_test"
|
||||
"drm_license_uri": "https://proxy.uat.widevine.com/proxy?video_id=2015_tears&provider=widevine_test"
|
||||
},
|
||||
{
|
||||
"name": "UHD (cenc)",
|
||||
"uri": "https://storage.googleapis.com/wvmedia/cenc/hevc/tears/tears_uhd.mpd",
|
||||
"drm_scheme": "widevine",
|
||||
"drm_license_uri": "https://proxy.uat.widevine.com/proxy?provider=widevine_test"
|
||||
"drm_license_uri": "https://proxy.uat.widevine.com/proxy?video_id=2015_tears&provider=widevine_test"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -237,11 +237,11 @@
|
||||
"uri": "https://devstreaming-cdn.apple.com/videos/streaming/examples/bipbop_16x9/bipbop_16x9_variant.m3u8"
|
||||
},
|
||||
{
|
||||
"name": "Apple master playlist advanced (TS)",
|
||||
"name": "Apple multivariant playlist advanced (TS)",
|
||||
"uri": "https://devstreaming-cdn.apple.com/videos/streaming/examples/img_bipbop_adv_example_ts/master.m3u8"
|
||||
},
|
||||
{
|
||||
"name": "Apple master playlist advanced (FMP4)",
|
||||
"name": "Apple multivariant playlist advanced (FMP4)",
|
||||
"uri": "https://devstreaming-cdn.apple.com/videos/streaming/examples/img_bipbop_adv_example_fmp4/master.m3u8"
|
||||
},
|
||||
{
|
||||
@ -387,6 +387,98 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "IMA DAI streams",
|
||||
"samples": [
|
||||
{
|
||||
"name": "HLS VOD: Demo (skippable pre/post), single ads [30 s]",
|
||||
"uri": "ssai://dai.google.com/?contentSourceId=2483977&videoId=ima-vod-skippable-test&format=2&adsId=1"
|
||||
},
|
||||
{
|
||||
"name": "HLS VOD: Tears of Steel (pre/mid/mid/mid/post), single ads [10s]",
|
||||
"uri": "ssai://dai.google.com/?contentSourceId=2528370&videoId=tears-of-steel&format=2&adsId=1"
|
||||
},
|
||||
{
|
||||
"name": "HLS Live: Big Buck Bunny (mid), 3 ads each [10 s]",
|
||||
"uri": "ssai://dai.google.com/?assetKey=sN_IYUG8STe1ZzhIIE_ksA&format=2&adsId=3"
|
||||
},
|
||||
{
|
||||
"name": "DASH VOD: Tears of Steel (11 periods, pre/mid/post), 2/5/2 ads [5/10s]",
|
||||
"uri": "ssai://dai.google.com/?contentSourceId=2559737&videoId=tos-dash&format=0&adsId=1"
|
||||
},
|
||||
{
|
||||
"name": "Playlist: No ads - HLS VOD: Demo (skippable pre/post) - No ads",
|
||||
"playlist": [
|
||||
{
|
||||
"uri": "https://html5demos.com/assets/dizzy.mp4"
|
||||
},
|
||||
{
|
||||
"uri": "ssai://dai.google.com/?contentSourceId=2483977&videoId=ima-vod-skippable-test&format=2&adsId=1"
|
||||
},
|
||||
{
|
||||
"uri": "https://html5demos.com/assets/dizzy.mp4"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Playlist: No ads - HLS VOD: Tears of steel (pre/mid/mid/mid/post) - No ads",
|
||||
"playlist": [
|
||||
{
|
||||
"uri": "https://html5demos.com/assets/dizzy.mp4"
|
||||
},
|
||||
{
|
||||
"uri": "ssai://dai.google.com/?contentSourceId=2528370&videoId=tears-of-steel&format=2&adsId=1"
|
||||
},
|
||||
{
|
||||
"uri": "https://html5demos.com/assets/dizzy.mp4"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Playlist: No ads - HLS Live: Big Buck Bunny (mid) - No ads",
|
||||
"playlist": [
|
||||
{
|
||||
"uri": "https://html5demos.com/assets/dizzy.mp4"
|
||||
},
|
||||
{
|
||||
"uri": "ssai://dai.google.com/?assetKey=sN_IYUG8STe1ZzhIIE_ksA&format=2&adsId=3"
|
||||
},
|
||||
{
|
||||
"uri": "https://html5demos.com/assets/dizzy.mp4"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Playlist: No ads - DASH VOD: Tears of Steel (11 periods, pre/mid/post) - No ads",
|
||||
"playlist": [
|
||||
{
|
||||
"uri": "https://html5demos.com/assets/dizzy.mp4"
|
||||
},
|
||||
{
|
||||
"uri": "ssai://dai.google.com/?contentSourceId=2559737&videoId=tos-dash&format=0&adsId=1"
|
||||
},
|
||||
{
|
||||
"uri": "https://html5demos.com/assets/dizzy.mp4"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Playlist: Client-side Ads - DASH VOD: Tears of Steel (11 periods, pre/mid/post) - No ads",
|
||||
"playlist": [
|
||||
{
|
||||
"uri": "https://storage.googleapis.com/exoplayer-test-media-1/mkv/android-screens-lavf-56.36.100-aac-avc-main-1280x720.mkv",
|
||||
"ad_tag_uri": "https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/ad_rule_samples&ciu_szs=300x250&ad_rule=1&impl=s&gdfp_req=1&env=vp&output=vmap&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ar%3Dpremidpost&cmsid=496&vid=short_onecue&correlator="
|
||||
},
|
||||
{
|
||||
"uri": "ssai://dai.google.com/?contentSourceId=2559737&videoId=tos-dash&format=0&adsId=1"
|
||||
},
|
||||
{
|
||||
"uri": "https://html5demos.com/assets/dizzy.mp4"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Playlists",
|
||||
"samples": [
|
||||
|
@ -22,8 +22,6 @@ import com.google.android.exoplayer2.database.DatabaseProvider;
|
||||
import com.google.android.exoplayer2.database.StandaloneDatabaseProvider;
|
||||
import com.google.android.exoplayer2.ext.cronet.CronetDataSource;
|
||||
import com.google.android.exoplayer2.ext.cronet.CronetUtil;
|
||||
import com.google.android.exoplayer2.offline.ActionFileUpgradeUtil;
|
||||
import com.google.android.exoplayer2.offline.DefaultDownloadIndex;
|
||||
import com.google.android.exoplayer2.offline.DownloadManager;
|
||||
import com.google.android.exoplayer2.ui.DownloadNotificationHelper;
|
||||
import com.google.android.exoplayer2.upstream.DataSource;
|
||||
@ -34,9 +32,7 @@ import com.google.android.exoplayer2.upstream.cache.Cache;
|
||||
import com.google.android.exoplayer2.upstream.cache.CacheDataSource;
|
||||
import com.google.android.exoplayer2.upstream.cache.NoOpCacheEvictor;
|
||||
import com.google.android.exoplayer2.upstream.cache.SimpleCache;
|
||||
import com.google.android.exoplayer2.util.Log;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.net.CookieHandler;
|
||||
import java.net.CookieManager;
|
||||
import java.net.CookiePolicy;
|
||||
@ -60,8 +56,6 @@ public final class DemoUtil {
|
||||
private static final boolean USE_CRONET_FOR_NETWORKING = true;
|
||||
|
||||
private static final String TAG = "DemoUtil";
|
||||
private static final String DOWNLOAD_ACTION_FILE = "actions";
|
||||
private static final String DOWNLOAD_TRACKER_ACTION_FILE = "tracked_actions";
|
||||
private static final String DOWNLOAD_CONTENT_DIRECTORY = "downloads";
|
||||
|
||||
private static DataSource.@MonotonicNonNull Factory dataSourceFactory;
|
||||
@ -155,14 +149,6 @@ public final class DemoUtil {
|
||||
|
||||
private static synchronized void ensureDownloadManagerInitialized(Context context) {
|
||||
if (downloadManager == null) {
|
||||
DefaultDownloadIndex downloadIndex = new DefaultDownloadIndex(getDatabaseProvider(context));
|
||||
upgradeActionFile(
|
||||
context, DOWNLOAD_ACTION_FILE, downloadIndex, /* addNewDownloadsAsCompleted= */ false);
|
||||
upgradeActionFile(
|
||||
context,
|
||||
DOWNLOAD_TRACKER_ACTION_FILE,
|
||||
downloadIndex,
|
||||
/* addNewDownloadsAsCompleted= */ true);
|
||||
downloadManager =
|
||||
new DownloadManager(
|
||||
context,
|
||||
@ -175,23 +161,6 @@ public final class DemoUtil {
|
||||
}
|
||||
}
|
||||
|
||||
private static synchronized void upgradeActionFile(
|
||||
Context context,
|
||||
String fileName,
|
||||
DefaultDownloadIndex downloadIndex,
|
||||
boolean addNewDownloadsAsCompleted) {
|
||||
try {
|
||||
ActionFileUpgradeUtil.upgradeAndDelete(
|
||||
new File(getDownloadDirectory(context), fileName),
|
||||
/* downloadIdProvider= */ null,
|
||||
downloadIndex,
|
||||
/* deleteOnFailure= */ true,
|
||||
addNewDownloadsAsCompleted);
|
||||
} catch (IOException e) {
|
||||
Log.e(TAG, "Failed to upgrade action file: " + fileName, e);
|
||||
}
|
||||
}
|
||||
|
||||
private static synchronized DatabaseProvider getDatabaseProvider(Context context) {
|
||||
if (databaseProvider == null) {
|
||||
databaseProvider = new StandaloneDatabaseProvider(context);
|
||||
|
@ -15,8 +15,6 @@
|
||||
*/
|
||||
package com.google.android.exoplayer2.demo;
|
||||
|
||||
import static com.google.android.exoplayer2.util.Assertions.checkNotNull;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.os.Bundle;
|
||||
@ -40,11 +38,12 @@ import com.google.android.exoplayer2.TracksInfo;
|
||||
import com.google.android.exoplayer2.audio.AudioAttributes;
|
||||
import com.google.android.exoplayer2.drm.FrameworkMediaDrm;
|
||||
import com.google.android.exoplayer2.ext.ima.ImaAdsLoader;
|
||||
import com.google.android.exoplayer2.ext.ima.ImaServerSideAdInsertionMediaSource;
|
||||
import com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.DecoderInitializationException;
|
||||
import com.google.android.exoplayer2.mediacodec.MediaCodecUtil.DecoderQueryException;
|
||||
import com.google.android.exoplayer2.offline.DownloadRequest;
|
||||
import com.google.android.exoplayer2.source.DefaultMediaSourceFactory;
|
||||
import com.google.android.exoplayer2.source.MediaSourceFactory;
|
||||
import com.google.android.exoplayer2.source.MediaSource;
|
||||
import com.google.android.exoplayer2.source.ads.AdsLoader;
|
||||
import com.google.android.exoplayer2.trackselection.DefaultTrackSelector;
|
||||
import com.google.android.exoplayer2.ui.StyledPlayerControlView;
|
||||
@ -57,6 +56,7 @@ import com.google.android.exoplayer2.util.Util;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
|
||||
|
||||
/** An activity that plays media using {@link ExoPlayer}. */
|
||||
public class PlayerActivity extends AppCompatActivity
|
||||
@ -65,6 +65,7 @@ public class PlayerActivity extends AppCompatActivity
|
||||
// Saved instance state keys.
|
||||
|
||||
private static final String KEY_TRACK_SELECTION_PARAMETERS = "track_selection_parameters";
|
||||
private static final String KEY_SERVER_SIDE_ADS_LOADER_STATE = "server_side_ads_loader_state";
|
||||
private static final String KEY_ITEM_INDEX = "item_index";
|
||||
private static final String KEY_POSITION = "position";
|
||||
private static final String KEY_AUTO_PLAY = "auto_play";
|
||||
@ -88,7 +89,10 @@ public class PlayerActivity extends AppCompatActivity
|
||||
|
||||
// For ad playback only.
|
||||
|
||||
private AdsLoader adsLoader;
|
||||
@Nullable private AdsLoader clientSideAdsLoader;
|
||||
@Nullable private ImaServerSideAdInsertionMediaSource.AdsLoader serverSideAdsLoader;
|
||||
private ImaServerSideAdInsertionMediaSource.AdsLoader.@MonotonicNonNull State
|
||||
serverSideAdsLoaderState;
|
||||
|
||||
// Activity lifecycle.
|
||||
|
||||
@ -116,6 +120,12 @@ public class PlayerActivity extends AppCompatActivity
|
||||
startAutoPlay = savedInstanceState.getBoolean(KEY_AUTO_PLAY);
|
||||
startItemIndex = savedInstanceState.getInt(KEY_ITEM_INDEX);
|
||||
startPosition = savedInstanceState.getLong(KEY_POSITION);
|
||||
Bundle adsLoaderStateBundle = savedInstanceState.getBundle(KEY_SERVER_SIDE_ADS_LOADER_STATE);
|
||||
if (adsLoaderStateBundle != null) {
|
||||
serverSideAdsLoaderState =
|
||||
ImaServerSideAdInsertionMediaSource.AdsLoader.State.CREATOR.fromBundle(
|
||||
adsLoaderStateBundle);
|
||||
}
|
||||
} else {
|
||||
trackSelectionParameters =
|
||||
new DefaultTrackSelector.ParametersBuilder(/* context= */ this).build();
|
||||
@ -127,7 +137,7 @@ public class PlayerActivity extends AppCompatActivity
|
||||
public void onNewIntent(Intent intent) {
|
||||
super.onNewIntent(intent);
|
||||
releasePlayer();
|
||||
releaseAdsLoader();
|
||||
releaseClientSideAdsLoader();
|
||||
clearStartPosition();
|
||||
setIntent(intent);
|
||||
}
|
||||
@ -179,7 +189,7 @@ public class PlayerActivity extends AppCompatActivity
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
super.onDestroy();
|
||||
releaseAdsLoader();
|
||||
releaseClientSideAdsLoader();
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -208,6 +218,9 @@ public class PlayerActivity extends AppCompatActivity
|
||||
outState.putBoolean(KEY_AUTO_PLAY, startAutoPlay);
|
||||
outState.putInt(KEY_ITEM_INDEX, startItemIndex);
|
||||
outState.putLong(KEY_POSITION, startPosition);
|
||||
if (serverSideAdsLoaderState != null) {
|
||||
outState.putBundle(KEY_SERVER_SIDE_ADS_LOADER_STATE, serverSideAdsLoaderState.toBundle());
|
||||
}
|
||||
}
|
||||
|
||||
// Activity input
|
||||
@ -234,7 +247,7 @@ public class PlayerActivity extends AppCompatActivity
|
||||
}
|
||||
}
|
||||
|
||||
// PlayerControlView.VisibilityListener implementation
|
||||
// StyledPlayerControlView.VisibilityListener implementation
|
||||
|
||||
@Override
|
||||
public void onVisibilityChange(int visibility) {
|
||||
@ -261,17 +274,13 @@ public class PlayerActivity extends AppCompatActivity
|
||||
intent.getBooleanExtra(IntentUtil.PREFER_EXTENSION_DECODERS_EXTRA, false);
|
||||
RenderersFactory renderersFactory =
|
||||
DemoUtil.buildRenderersFactory(/* context= */ this, preferExtensionDecoders);
|
||||
MediaSourceFactory mediaSourceFactory =
|
||||
new DefaultMediaSourceFactory(dataSourceFactory)
|
||||
.setAdsLoaderProvider(this::getAdsLoader)
|
||||
.setAdViewProvider(playerView);
|
||||
|
||||
trackSelector = new DefaultTrackSelector(/* context= */ this);
|
||||
lastSeenTracksInfo = TracksInfo.EMPTY;
|
||||
player =
|
||||
new ExoPlayer.Builder(/* context= */ this)
|
||||
.setRenderersFactory(renderersFactory)
|
||||
.setMediaSourceFactory(mediaSourceFactory)
|
||||
.setMediaSourceFactory(createMediaSourceFactory())
|
||||
.setTrackSelector(trackSelector)
|
||||
.build();
|
||||
player.setTrackSelectionParameters(trackSelectionParameters);
|
||||
@ -280,6 +289,7 @@ public class PlayerActivity extends AppCompatActivity
|
||||
player.setAudioAttributes(AudioAttributes.DEFAULT, /* handleAudioFocus= */ true);
|
||||
player.setPlayWhenReady(startAutoPlay);
|
||||
playerView.setPlayer(player);
|
||||
serverSideAdsLoader.setPlayer(player);
|
||||
debugViewHelper = new DebugTextViewHelper(player, debugTextView);
|
||||
debugViewHelper.start();
|
||||
}
|
||||
@ -293,6 +303,22 @@ public class PlayerActivity extends AppCompatActivity
|
||||
return true;
|
||||
}
|
||||
|
||||
private MediaSource.Factory createMediaSourceFactory() {
|
||||
ImaServerSideAdInsertionMediaSource.AdsLoader.Builder serverSideAdLoaderBuilder =
|
||||
new ImaServerSideAdInsertionMediaSource.AdsLoader.Builder(/* context= */ this, playerView);
|
||||
if (serverSideAdsLoaderState != null) {
|
||||
serverSideAdLoaderBuilder.setAdsLoaderState(serverSideAdsLoaderState);
|
||||
}
|
||||
serverSideAdsLoader = serverSideAdLoaderBuilder.build();
|
||||
ImaServerSideAdInsertionMediaSource.Factory imaServerSideAdInsertionMediaSourceFactory =
|
||||
new ImaServerSideAdInsertionMediaSource.Factory(
|
||||
serverSideAdsLoader, new DefaultMediaSourceFactory(dataSourceFactory));
|
||||
return new DefaultMediaSourceFactory(dataSourceFactory)
|
||||
.setAdsLoaderProvider(this::getClientSideAdsLoader)
|
||||
.setAdViewProvider(playerView)
|
||||
.setServerSideAdInsertionMediaSourceFactory(imaServerSideAdInsertionMediaSourceFactory);
|
||||
}
|
||||
|
||||
private List<MediaItem> createMediaItems(Intent intent) {
|
||||
String action = intent.getAction();
|
||||
boolean actionIsListView = IntentUtil.ACTION_VIEW_LIST.equals(action);
|
||||
@ -304,7 +330,6 @@ public class PlayerActivity extends AppCompatActivity
|
||||
|
||||
List<MediaItem> mediaItems =
|
||||
createMediaItems(intent, DemoUtil.getDownloadTracker(/* context= */ this));
|
||||
boolean hasAds = false;
|
||||
for (int i = 0; i < mediaItems.size(); i++) {
|
||||
MediaItem mediaItem = mediaItems.get(i);
|
||||
|
||||
@ -318,8 +343,7 @@ public class PlayerActivity extends AppCompatActivity
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
MediaItem.DrmConfiguration drmConfiguration =
|
||||
checkNotNull(mediaItem.localConfiguration).drmConfiguration;
|
||||
MediaItem.DrmConfiguration drmConfiguration = mediaItem.localConfiguration.drmConfiguration;
|
||||
if (drmConfiguration != null) {
|
||||
if (Util.SDK_INT < 18) {
|
||||
showToast(R.string.error_drm_unsupported_before_api_18);
|
||||
@ -331,43 +355,44 @@ public class PlayerActivity extends AppCompatActivity
|
||||
return Collections.emptyList();
|
||||
}
|
||||
}
|
||||
hasAds |= mediaItem.localConfiguration.adsConfiguration != null;
|
||||
}
|
||||
if (!hasAds) {
|
||||
releaseAdsLoader();
|
||||
}
|
||||
return mediaItems;
|
||||
}
|
||||
|
||||
private AdsLoader getAdsLoader(MediaItem.AdsConfiguration adsConfiguration) {
|
||||
private AdsLoader getClientSideAdsLoader(MediaItem.AdsConfiguration adsConfiguration) {
|
||||
// The ads loader is reused for multiple playbacks, so that ad playback can resume.
|
||||
if (adsLoader == null) {
|
||||
adsLoader = new ImaAdsLoader.Builder(/* context= */ this).build();
|
||||
if (clientSideAdsLoader == null) {
|
||||
clientSideAdsLoader = new ImaAdsLoader.Builder(/* context= */ this).build();
|
||||
}
|
||||
adsLoader.setPlayer(player);
|
||||
return adsLoader;
|
||||
clientSideAdsLoader.setPlayer(player);
|
||||
return clientSideAdsLoader;
|
||||
}
|
||||
|
||||
protected void releasePlayer() {
|
||||
if (player != null) {
|
||||
updateTrackSelectorParameters();
|
||||
updateStartPosition();
|
||||
serverSideAdsLoaderState = serverSideAdsLoader.release();
|
||||
serverSideAdsLoader = null;
|
||||
debugViewHelper.stop();
|
||||
debugViewHelper = null;
|
||||
player.release();
|
||||
player = null;
|
||||
playerView.setPlayer(/* player= */ null);
|
||||
mediaItems = Collections.emptyList();
|
||||
}
|
||||
if (adsLoader != null) {
|
||||
adsLoader.setPlayer(null);
|
||||
if (clientSideAdsLoader != null) {
|
||||
clientSideAdsLoader.setPlayer(null);
|
||||
} else {
|
||||
playerView.getAdViewGroup().removeAllViews();
|
||||
}
|
||||
}
|
||||
|
||||
private void releaseAdsLoader() {
|
||||
if (adsLoader != null) {
|
||||
adsLoader.release();
|
||||
adsLoader = null;
|
||||
playerView.getOverlayFrameLayout().removeAllViews();
|
||||
private void releaseClientSideAdsLoader() {
|
||||
if (clientSideAdsLoader != null) {
|
||||
clientSideAdsLoader.release();
|
||||
clientSideAdsLoader = null;
|
||||
playerView.getAdViewGroup().removeAllViews();
|
||||
}
|
||||
}
|
||||
|
||||
@ -441,10 +466,12 @@ public class PlayerActivity extends AppCompatActivity
|
||||
if (tracksInfo == lastSeenTracksInfo) {
|
||||
return;
|
||||
}
|
||||
if (!tracksInfo.isTypeSupportedOrEmpty(C.TRACK_TYPE_VIDEO)) {
|
||||
if (!tracksInfo.isTypeSupportedOrEmpty(
|
||||
C.TRACK_TYPE_VIDEO, /* allowExceedsCapabilities= */ true)) {
|
||||
showToast(R.string.error_unsupported_video);
|
||||
}
|
||||
if (!tracksInfo.isTypeSupportedOrEmpty(C.TRACK_TYPE_AUDIO)) {
|
||||
if (!tracksInfo.isTypeSupportedOrEmpty(
|
||||
C.TRACK_TYPE_AUDIO, /* allowExceedsCapabilities= */ true)) {
|
||||
showToast(R.string.error_unsupported_audio);
|
||||
}
|
||||
lastSeenTracksInfo = tracksInfo;
|
||||
@ -488,7 +515,7 @@ public class PlayerActivity extends AppCompatActivity
|
||||
for (MediaItem item : IntentUtil.createMediaItemsFromIntent(intent)) {
|
||||
@Nullable
|
||||
DownloadRequest downloadRequest =
|
||||
downloadTracker.getDownloadRequest(checkNotNull(item.localConfiguration).uri);
|
||||
downloadTracker.getDownloadRequest(item.localConfiguration.uri);
|
||||
if (downloadRequest != null) {
|
||||
MediaItem.Builder builder = item.buildUpon();
|
||||
builder
|
||||
|
@ -22,12 +22,14 @@
|
||||
<uses-sdk/>
|
||||
|
||||
<application
|
||||
android:allowBackup="false"
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:label="@string/application_name"
|
||||
android:exported="true">
|
||||
android:allowBackup="false"
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:label="@string/application_name"
|
||||
android:exported="true">
|
||||
|
||||
<activity android:name=".MainActivity">
|
||||
<activity
|
||||
android:name=".MainActivity"
|
||||
android:exported="true">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN"/>
|
||||
<category android:name="android.intent.category.LAUNCHER"/>
|
||||
|
@ -206,12 +206,12 @@ public final class MainActivity extends Activity {
|
||||
if (type == C.TYPE_DASH) {
|
||||
mediaSource =
|
||||
new DashMediaSource.Factory(dataSourceFactory)
|
||||
.setDrmSessionManager(drmSessionManager)
|
||||
.setDrmSessionManagerProvider(unusedMediaItem -> drmSessionManager)
|
||||
.createMediaSource(MediaItem.fromUri(uri));
|
||||
} else if (type == C.TYPE_OTHER) {
|
||||
mediaSource =
|
||||
new ProgressiveMediaSource.Factory(dataSourceFactory)
|
||||
.setDrmSessionManager(drmSessionManager)
|
||||
.setDrmSessionManagerProvider(unusedMediaItem -> drmSessionManager)
|
||||
.createMediaSource(MediaItem.fromUri(uri));
|
||||
} else {
|
||||
throw new IllegalStateException();
|
||||
|
9
demos/transformer/README.md
Normal file
9
demos/transformer/README.md
Normal file
@ -0,0 +1,9 @@
|
||||
# Transformer demo
|
||||
|
||||
This app demonstrates how to use the [Transformer][] API to modify videos, for
|
||||
example by removing audio or video.
|
||||
|
||||
See the [demos README](../README.md) for instructions on how to build and run
|
||||
this demo.
|
||||
|
||||
[Transformer]: https://exoplayer.dev/transforming-media.html
|
61
demos/transformer/build.gradle
Normal file
61
demos/transformer/build.gradle
Normal file
@ -0,0 +1,61 @@
|
||||
/*
|
||||
* Copyright 2021 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
apply from: '../../constants.gradle'
|
||||
apply plugin: 'com.android.application'
|
||||
|
||||
android {
|
||||
compileSdkVersion project.ext.compileSdkVersion
|
||||
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_1_8
|
||||
targetCompatibility JavaVersion.VERSION_1_8
|
||||
}
|
||||
|
||||
defaultConfig {
|
||||
versionName project.ext.releaseVersion
|
||||
versionCode project.ext.releaseVersionCode
|
||||
minSdkVersion 21
|
||||
targetSdkVersion project.ext.appTargetSdkVersion
|
||||
multiDexEnabled true
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
release {
|
||||
shrinkResources true
|
||||
minifyEnabled true
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt')
|
||||
signingConfig signingConfigs.debug
|
||||
}
|
||||
}
|
||||
|
||||
lintOptions {
|
||||
// This demo app isn't indexed and doesn't have translations.
|
||||
disable 'GoogleAppIndexingWarning','MissingTranslation'
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation 'androidx.core:core:' + androidxCoreVersion
|
||||
compileOnly 'org.checkerframework:checker-qual:' + checkerframeworkVersion
|
||||
implementation 'androidx.annotation:annotation:' + androidxAnnotationVersion
|
||||
implementation 'androidx.appcompat:appcompat:' + androidxAppCompatVersion
|
||||
implementation 'androidx.constraintlayout:constraintlayout:' + androidxConstraintLayoutVersion
|
||||
implementation 'androidx.multidex:multidex:' + androidxMultidexVersion
|
||||
implementation 'com.google.android.material:material:' + androidxMaterialVersion
|
||||
implementation project(modulePrefix + 'library-core')
|
||||
implementation project(modulePrefix + 'library-transformer')
|
||||
implementation project(modulePrefix + 'library-ui')
|
||||
}
|
60
demos/transformer/src/main/AndroidManifest.xml
Normal file
60
demos/transformer/src/main/AndroidManifest.xml
Normal file
@ -0,0 +1,60 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
~ Copyright 2021 The Android Open Source Project
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
package="com.google.android.exoplayer2.transformerdemo">
|
||||
<uses-sdk />
|
||||
|
||||
<uses-permission android:name="android.permission.INTERNET"/>
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
|
||||
|
||||
<application
|
||||
android:allowBackup="false"
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:label="@string/app_name"
|
||||
android:theme="@style/Theme.AppCompat"
|
||||
android:taskAffinity=""
|
||||
tools:targetApi="29">
|
||||
<activity android:name=".ConfigurationActivity"
|
||||
android:configChanges="keyboard|keyboardHidden|orientation|screenSize|screenLayout|smallestScreenSize|uiMode"
|
||||
android:launchMode="singleTop"
|
||||
android:label="@string/app_name"
|
||||
android:exported="true"
|
||||
android:theme="@style/Theme.MaterialComponents.DayNight.NoActionBar">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN"/>
|
||||
<category android:name="android.intent.category.LAUNCHER"/>
|
||||
</intent-filter>
|
||||
<intent-filter>
|
||||
<action android:name="com.google.android.exoplayer2.transformerdemo.action.VIEW"/>
|
||||
<category android:name="android.intent.category.DEFAULT"/>
|
||||
<data android:scheme="http"/>
|
||||
<data android:scheme="https"/>
|
||||
<data android:scheme="content"/>
|
||||
<data android:scheme="asset"/>
|
||||
<data android:scheme="file"/>
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<activity android:name=".TransformerActivity"
|
||||
android:configChanges="keyboard|keyboardHidden|orientation|screenSize|screenLayout|smallestScreenSize|uiMode"
|
||||
android:launchMode="singleTop"
|
||||
android:label="@string/app_name"
|
||||
android:exported="true"
|
||||
android:theme="@style/Theme.MaterialComponents.DayNight.NoActionBar"/>
|
||||
</application>
|
||||
</manifest>
|
@ -0,0 +1,313 @@
|
||||
/*
|
||||
* Copyright 2021 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.google.android.exoplayer2.transformerdemo;
|
||||
|
||||
import static com.google.android.exoplayer2.util.Assertions.checkNotNull;
|
||||
import static com.google.android.exoplayer2.util.Assertions.checkState;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.Button;
|
||||
import android.widget.CheckBox;
|
||||
import android.widget.Spinner;
|
||||
import android.widget.TextView;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import com.google.android.exoplayer2.util.MimeTypes;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
|
||||
import org.checkerframework.checker.nullness.qual.RequiresNonNull;
|
||||
|
||||
/**
|
||||
* An {@link Activity} that sets the configuration to use for transforming and playing media, using
|
||||
* {@link TransformerActivity}.
|
||||
*/
|
||||
public final class ConfigurationActivity extends AppCompatActivity {
|
||||
public static final String SHOULD_REMOVE_AUDIO = "should_remove_audio";
|
||||
public static final String SHOULD_REMOVE_VIDEO = "should_remove_video";
|
||||
public static final String SHOULD_FLATTEN_FOR_SLOW_MOTION = "should_flatten_for_slow_motion";
|
||||
public static final String AUDIO_MIME_TYPE = "audio_mime_type";
|
||||
public static final String VIDEO_MIME_TYPE = "video_mime_type";
|
||||
public static final String RESOLUTION_HEIGHT = "resolution_height";
|
||||
public static final String TRANSLATE_X = "translate_x";
|
||||
public static final String TRANSLATE_Y = "translate_y";
|
||||
public static final String SCALE_X = "scale_x";
|
||||
public static final String SCALE_Y = "scale_y";
|
||||
public static final String ROTATE_DEGREES = "rotate_degrees";
|
||||
public static final String ENABLE_HDR_EDITING = "enable_hdr_editing";
|
||||
private static final String[] INPUT_URIS = {
|
||||
"https://html5demos.com/assets/dizzy.mp4",
|
||||
"https://storage.googleapis.com/exoplayer-test-media-0/android-block-1080-hevc.mp4",
|
||||
"https://storage.googleapis.com/exoplayer-test-media-0/BigBuckBunny_320x180.mp4",
|
||||
"https://html5demos.com/assets/dizzy.webm",
|
||||
};
|
||||
private static final String[] URI_DESCRIPTIONS = { // same order as INPUT_URIS
|
||||
"MP4 with H264 video and AAC audio",
|
||||
"MP4 with H265 video and AAC audio",
|
||||
"Long MP4 with H264 video and AAC audio",
|
||||
"WebM with VP8 video and Vorbis audio",
|
||||
};
|
||||
private static final String SAME_AS_INPUT_OPTION = "same as input";
|
||||
|
||||
private @MonotonicNonNull Button chooseFileButton;
|
||||
private @MonotonicNonNull TextView chosenFileTextView;
|
||||
private @MonotonicNonNull CheckBox removeAudioCheckbox;
|
||||
private @MonotonicNonNull CheckBox removeVideoCheckbox;
|
||||
private @MonotonicNonNull CheckBox flattenForSlowMotionCheckbox;
|
||||
private @MonotonicNonNull Spinner audioMimeSpinner;
|
||||
private @MonotonicNonNull Spinner videoMimeSpinner;
|
||||
private @MonotonicNonNull Spinner resolutionHeightSpinner;
|
||||
private @MonotonicNonNull Spinner translateSpinner;
|
||||
private @MonotonicNonNull Spinner scaleSpinner;
|
||||
private @MonotonicNonNull Spinner rotateSpinner;
|
||||
private @MonotonicNonNull CheckBox enableHdrEditingCheckBox;
|
||||
private int inputUriPosition;
|
||||
|
||||
@Override
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.configuration_activity);
|
||||
|
||||
findViewById(R.id.transform_button).setOnClickListener(this::startTransformation);
|
||||
|
||||
chooseFileButton = findViewById(R.id.choose_file_button);
|
||||
chooseFileButton.setOnClickListener(this::chooseFile);
|
||||
|
||||
chosenFileTextView = findViewById(R.id.chosen_file_text_view);
|
||||
chosenFileTextView.setText(URI_DESCRIPTIONS[inputUriPosition]);
|
||||
|
||||
removeAudioCheckbox = findViewById(R.id.remove_audio_checkbox);
|
||||
removeAudioCheckbox.setOnClickListener(this::onRemoveAudio);
|
||||
|
||||
removeVideoCheckbox = findViewById(R.id.remove_video_checkbox);
|
||||
removeVideoCheckbox.setOnClickListener(this::onRemoveVideo);
|
||||
|
||||
flattenForSlowMotionCheckbox = findViewById(R.id.flatten_for_slow_motion_checkbox);
|
||||
|
||||
ArrayAdapter<String> audioMimeAdapter =
|
||||
new ArrayAdapter<>(/* context= */ this, R.layout.spinner_item);
|
||||
audioMimeAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
|
||||
audioMimeSpinner = findViewById(R.id.audio_mime_spinner);
|
||||
audioMimeSpinner.setAdapter(audioMimeAdapter);
|
||||
audioMimeAdapter.addAll(
|
||||
SAME_AS_INPUT_OPTION, MimeTypes.AUDIO_AAC, MimeTypes.AUDIO_AMR_NB, MimeTypes.AUDIO_AMR_WB);
|
||||
|
||||
ArrayAdapter<String> videoMimeAdapter =
|
||||
new ArrayAdapter<>(/* context= */ this, R.layout.spinner_item);
|
||||
videoMimeAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
|
||||
videoMimeSpinner = findViewById(R.id.video_mime_spinner);
|
||||
videoMimeSpinner.setAdapter(videoMimeAdapter);
|
||||
videoMimeAdapter.addAll(
|
||||
SAME_AS_INPUT_OPTION,
|
||||
MimeTypes.VIDEO_H263,
|
||||
MimeTypes.VIDEO_H264,
|
||||
MimeTypes.VIDEO_H265,
|
||||
MimeTypes.VIDEO_MP4V);
|
||||
|
||||
ArrayAdapter<String> resolutionHeightAdapter =
|
||||
new ArrayAdapter<>(/* context= */ this, R.layout.spinner_item);
|
||||
resolutionHeightAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
|
||||
resolutionHeightSpinner = findViewById(R.id.resolution_height_spinner);
|
||||
resolutionHeightSpinner.setAdapter(resolutionHeightAdapter);
|
||||
resolutionHeightAdapter.addAll(
|
||||
SAME_AS_INPUT_OPTION, "144", "240", "360", "480", "720", "1080", "1440", "2160");
|
||||
|
||||
ArrayAdapter<String> translateAdapter =
|
||||
new ArrayAdapter<>(/* context= */ this, R.layout.spinner_item);
|
||||
translateAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
|
||||
translateSpinner = findViewById(R.id.translate_spinner);
|
||||
translateSpinner.setAdapter(translateAdapter);
|
||||
translateAdapter.addAll(
|
||||
SAME_AS_INPUT_OPTION, "-.1, -.1", "0, 0", ".5, 0", "0, .5", "1, 1", "1.9, 0", "0, 1.9");
|
||||
|
||||
ArrayAdapter<String> scaleAdapter =
|
||||
new ArrayAdapter<>(/* context= */ this, R.layout.spinner_item);
|
||||
scaleAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
|
||||
scaleSpinner = findViewById(R.id.scale_spinner);
|
||||
scaleSpinner.setAdapter(scaleAdapter);
|
||||
scaleAdapter.addAll(SAME_AS_INPUT_OPTION, "-1, -1", "-1, 1", "1, 1", ".5, 1", ".5, .5", "2, 2");
|
||||
|
||||
ArrayAdapter<String> rotateAdapter =
|
||||
new ArrayAdapter<>(/* context= */ this, R.layout.spinner_item);
|
||||
rotateAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
|
||||
rotateSpinner = findViewById(R.id.rotate_spinner);
|
||||
rotateSpinner.setAdapter(rotateAdapter);
|
||||
rotateAdapter.addAll(SAME_AS_INPUT_OPTION, "0", "10", "45", "90", "180");
|
||||
|
||||
enableHdrEditingCheckBox = findViewById(R.id.hdr_editing_checkbox);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
@Nullable Uri intentUri = getIntent().getData();
|
||||
if (intentUri != null) {
|
||||
checkNotNull(chooseFileButton).setEnabled(false);
|
||||
checkNotNull(chosenFileTextView).setText(intentUri.toString());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onNewIntent(Intent intent) {
|
||||
super.onNewIntent(intent);
|
||||
setIntent(intent);
|
||||
}
|
||||
|
||||
@RequiresNonNull({
|
||||
"removeAudioCheckbox",
|
||||
"removeVideoCheckbox",
|
||||
"flattenForSlowMotionCheckbox",
|
||||
"audioMimeSpinner",
|
||||
"videoMimeSpinner",
|
||||
"resolutionHeightSpinner",
|
||||
"translateSpinner",
|
||||
"scaleSpinner",
|
||||
"rotateSpinner",
|
||||
"enableHdrEditingCheckBox"
|
||||
})
|
||||
private void startTransformation(View view) {
|
||||
Intent transformerIntent = new Intent(this, TransformerActivity.class);
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putBoolean(SHOULD_REMOVE_AUDIO, removeAudioCheckbox.isChecked());
|
||||
bundle.putBoolean(SHOULD_REMOVE_VIDEO, removeVideoCheckbox.isChecked());
|
||||
bundle.putBoolean(SHOULD_FLATTEN_FOR_SLOW_MOTION, flattenForSlowMotionCheckbox.isChecked());
|
||||
String selectedAudioMimeType = String.valueOf(audioMimeSpinner.getSelectedItem());
|
||||
if (!SAME_AS_INPUT_OPTION.equals(selectedAudioMimeType)) {
|
||||
bundle.putString(AUDIO_MIME_TYPE, selectedAudioMimeType);
|
||||
}
|
||||
String selectedVideoMimeType = String.valueOf(videoMimeSpinner.getSelectedItem());
|
||||
if (!SAME_AS_INPUT_OPTION.equals(selectedVideoMimeType)) {
|
||||
bundle.putString(VIDEO_MIME_TYPE, selectedVideoMimeType);
|
||||
}
|
||||
String selectedResolutionHeight = String.valueOf(resolutionHeightSpinner.getSelectedItem());
|
||||
if (!SAME_AS_INPUT_OPTION.equals(selectedResolutionHeight)) {
|
||||
bundle.putInt(RESOLUTION_HEIGHT, Integer.parseInt(selectedResolutionHeight));
|
||||
}
|
||||
String selectedTranslate = String.valueOf(translateSpinner.getSelectedItem());
|
||||
if (!SAME_AS_INPUT_OPTION.equals(selectedTranslate)) {
|
||||
List<String> translateXY = Arrays.asList(selectedTranslate.split(", "));
|
||||
checkState(translateXY.size() == 2);
|
||||
bundle.putFloat(TRANSLATE_X, Float.parseFloat(translateXY.get(0)));
|
||||
bundle.putFloat(TRANSLATE_Y, Float.parseFloat(translateXY.get(1)));
|
||||
}
|
||||
String selectedScale = String.valueOf(scaleSpinner.getSelectedItem());
|
||||
if (!SAME_AS_INPUT_OPTION.equals(selectedScale)) {
|
||||
List<String> scaleXY = Arrays.asList(selectedScale.split(", "));
|
||||
checkState(scaleXY.size() == 2);
|
||||
bundle.putFloat(SCALE_X, Float.parseFloat(scaleXY.get(0)));
|
||||
bundle.putFloat(SCALE_Y, Float.parseFloat(scaleXY.get(1)));
|
||||
}
|
||||
String selectedRotate = String.valueOf(rotateSpinner.getSelectedItem());
|
||||
if (!SAME_AS_INPUT_OPTION.equals(selectedRotate)) {
|
||||
bundle.putFloat(ROTATE_DEGREES, Float.parseFloat(selectedRotate));
|
||||
}
|
||||
bundle.putBoolean(ENABLE_HDR_EDITING, enableHdrEditingCheckBox.isChecked());
|
||||
transformerIntent.putExtras(bundle);
|
||||
|
||||
@Nullable Uri intentUri = getIntent().getData();
|
||||
transformerIntent.setData(
|
||||
intentUri != null ? intentUri : Uri.parse(INPUT_URIS[inputUriPosition]));
|
||||
|
||||
startActivity(transformerIntent);
|
||||
}
|
||||
|
||||
private void chooseFile(View view) {
|
||||
new AlertDialog.Builder(/* context= */ this)
|
||||
.setTitle(R.string.choose_file_title)
|
||||
.setSingleChoiceItems(URI_DESCRIPTIONS, inputUriPosition, this::selectFileInDialog)
|
||||
.setPositiveButton(android.R.string.ok, /* listener= */ null)
|
||||
.create()
|
||||
.show();
|
||||
}
|
||||
|
||||
@RequiresNonNull("chosenFileTextView")
|
||||
private void selectFileInDialog(DialogInterface dialog, int which) {
|
||||
inputUriPosition = which;
|
||||
chosenFileTextView.setText(URI_DESCRIPTIONS[inputUriPosition]);
|
||||
}
|
||||
|
||||
@RequiresNonNull({
|
||||
"removeVideoCheckbox",
|
||||
"audioMimeSpinner",
|
||||
"videoMimeSpinner",
|
||||
"resolutionHeightSpinner",
|
||||
"translateSpinner",
|
||||
"scaleSpinner",
|
||||
"rotateSpinner",
|
||||
"enableHdrEditingCheckBox"
|
||||
})
|
||||
private void onRemoveAudio(View view) {
|
||||
if (((CheckBox) view).isChecked()) {
|
||||
removeVideoCheckbox.setChecked(false);
|
||||
enableTrackSpecificOptions(/* isAudioEnabled= */ false, /* isVideoEnabled= */ true);
|
||||
} else {
|
||||
enableTrackSpecificOptions(/* isAudioEnabled= */ true, /* isVideoEnabled= */ true);
|
||||
}
|
||||
}
|
||||
|
||||
@RequiresNonNull({
|
||||
"removeAudioCheckbox",
|
||||
"audioMimeSpinner",
|
||||
"videoMimeSpinner",
|
||||
"resolutionHeightSpinner",
|
||||
"translateSpinner",
|
||||
"scaleSpinner",
|
||||
"rotateSpinner",
|
||||
"enableHdrEditingCheckBox"
|
||||
})
|
||||
private void onRemoveVideo(View view) {
|
||||
if (((CheckBox) view).isChecked()) {
|
||||
removeAudioCheckbox.setChecked(false);
|
||||
enableTrackSpecificOptions(/* isAudioEnabled= */ true, /* isVideoEnabled= */ false);
|
||||
} else {
|
||||
enableTrackSpecificOptions(/* isAudioEnabled= */ true, /* isVideoEnabled= */ true);
|
||||
}
|
||||
}
|
||||
|
||||
@RequiresNonNull({
|
||||
"audioMimeSpinner",
|
||||
"videoMimeSpinner",
|
||||
"resolutionHeightSpinner",
|
||||
"translateSpinner",
|
||||
"scaleSpinner",
|
||||
"rotateSpinner",
|
||||
"enableHdrEditingCheckBox"
|
||||
})
|
||||
private void enableTrackSpecificOptions(boolean isAudioEnabled, boolean isVideoEnabled) {
|
||||
audioMimeSpinner.setEnabled(isAudioEnabled);
|
||||
videoMimeSpinner.setEnabled(isVideoEnabled);
|
||||
resolutionHeightSpinner.setEnabled(isVideoEnabled);
|
||||
translateSpinner.setEnabled(isVideoEnabled);
|
||||
scaleSpinner.setEnabled(isVideoEnabled);
|
||||
rotateSpinner.setEnabled(isVideoEnabled);
|
||||
enableHdrEditingCheckBox.setEnabled(isVideoEnabled);
|
||||
|
||||
findViewById(R.id.audio_mime_text_view).setEnabled(isAudioEnabled);
|
||||
findViewById(R.id.video_mime_text_view).setEnabled(isVideoEnabled);
|
||||
findViewById(R.id.resolution_height_text_view).setEnabled(isVideoEnabled);
|
||||
findViewById(R.id.translate).setEnabled(isVideoEnabled);
|
||||
findViewById(R.id.scale).setEnabled(isVideoEnabled);
|
||||
findViewById(R.id.rotate).setEnabled(isVideoEnabled);
|
||||
findViewById(R.id.hdr_editing).setEnabled(isVideoEnabled);
|
||||
}
|
||||
}
|
@ -0,0 +1,382 @@
|
||||
/*
|
||||
* Copyright 2021 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.google.android.exoplayer2.transformerdemo;
|
||||
|
||||
import static android.Manifest.permission.READ_EXTERNAL_STORAGE;
|
||||
import static com.google.android.exoplayer2.util.Assertions.checkNotNull;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.graphics.Matrix;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.view.SurfaceHolder;
|
||||
import android.view.SurfaceView;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import com.google.android.exoplayer2.C;
|
||||
import com.google.android.exoplayer2.ExoPlayer;
|
||||
import com.google.android.exoplayer2.MediaItem;
|
||||
import com.google.android.exoplayer2.transformer.ProgressHolder;
|
||||
import com.google.android.exoplayer2.transformer.TransformationException;
|
||||
import com.google.android.exoplayer2.transformer.TransformationRequest;
|
||||
import com.google.android.exoplayer2.transformer.Transformer;
|
||||
import com.google.android.exoplayer2.ui.AspectRatioFrameLayout;
|
||||
import com.google.android.exoplayer2.ui.StyledPlayerView;
|
||||
import com.google.android.exoplayer2.util.DebugTextViewHelper;
|
||||
import com.google.android.exoplayer2.util.Log;
|
||||
import com.google.android.exoplayer2.util.Util;
|
||||
import com.google.android.material.progressindicator.LinearProgressIndicator;
|
||||
import com.google.common.base.Stopwatch;
|
||||
import com.google.common.base.Ticker;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.concurrent.CountDownLatch;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
|
||||
import org.checkerframework.checker.nullness.qual.RequiresNonNull;
|
||||
|
||||
/** An {@link Activity} that transforms and plays media using {@link Transformer}. */
|
||||
public final class TransformerActivity extends AppCompatActivity {
|
||||
private static final String TAG = "TransformerActivity";
|
||||
|
||||
private @MonotonicNonNull StyledPlayerView playerView;
|
||||
private @MonotonicNonNull TextView debugTextView;
|
||||
private @MonotonicNonNull TextView informationTextView;
|
||||
private @MonotonicNonNull ViewGroup progressViewGroup;
|
||||
private @MonotonicNonNull LinearProgressIndicator progressIndicator;
|
||||
private @MonotonicNonNull Stopwatch transformationStopwatch;
|
||||
private @MonotonicNonNull AspectRatioFrameLayout debugFrame;
|
||||
|
||||
@Nullable private DebugTextViewHelper debugTextViewHelper;
|
||||
@Nullable private ExoPlayer player;
|
||||
@Nullable private Transformer transformer;
|
||||
@Nullable private File externalCacheFile;
|
||||
|
||||
@Override
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.transformer_activity);
|
||||
|
||||
playerView = findViewById(R.id.player_view);
|
||||
debugTextView = findViewById(R.id.debug_text_view);
|
||||
informationTextView = findViewById(R.id.information_text_view);
|
||||
progressViewGroup = findViewById(R.id.progress_view_group);
|
||||
progressIndicator = findViewById(R.id.progress_indicator);
|
||||
debugFrame = findViewById(R.id.debug_aspect_ratio_frame_layout);
|
||||
|
||||
transformationStopwatch =
|
||||
Stopwatch.createUnstarted(
|
||||
new Ticker() {
|
||||
public long read() {
|
||||
return android.os.SystemClock.elapsedRealtimeNanos();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onStart() {
|
||||
super.onStart();
|
||||
|
||||
checkNotNull(progressIndicator);
|
||||
checkNotNull(informationTextView);
|
||||
checkNotNull(transformationStopwatch);
|
||||
checkNotNull(playerView);
|
||||
checkNotNull(debugTextView);
|
||||
checkNotNull(progressViewGroup);
|
||||
checkNotNull(debugFrame);
|
||||
startTransformation();
|
||||
|
||||
playerView.onResume();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onStop() {
|
||||
super.onStop();
|
||||
|
||||
checkNotNull(transformer).cancel();
|
||||
transformer = null;
|
||||
|
||||
// The stop watch is reset after cancelling the transformation, in case cancelling causes the
|
||||
// stop watch to be stopped in a transformer callback.
|
||||
checkNotNull(transformationStopwatch).reset();
|
||||
|
||||
checkNotNull(playerView).onPause();
|
||||
releasePlayer();
|
||||
|
||||
checkNotNull(externalCacheFile).delete();
|
||||
externalCacheFile = null;
|
||||
}
|
||||
|
||||
@RequiresNonNull({
|
||||
"playerView",
|
||||
"debugTextView",
|
||||
"informationTextView",
|
||||
"progressIndicator",
|
||||
"transformationStopwatch",
|
||||
"progressViewGroup",
|
||||
"debugFrame",
|
||||
})
|
||||
private void startTransformation() {
|
||||
requestTransformerPermission();
|
||||
|
||||
Intent intent = getIntent();
|
||||
Uri uri = checkNotNull(intent.getData());
|
||||
try {
|
||||
externalCacheFile = createExternalCacheFile("transformer-output.mp4");
|
||||
String filePath = externalCacheFile.getAbsolutePath();
|
||||
@Nullable Bundle bundle = intent.getExtras();
|
||||
Transformer transformer = createTransformer(bundle, filePath);
|
||||
transformationStopwatch.start();
|
||||
transformer.startTransformation(MediaItem.fromUri(uri), filePath);
|
||||
this.transformer = transformer;
|
||||
} catch (IOException e) {
|
||||
throw new IllegalStateException(e);
|
||||
}
|
||||
informationTextView.setText(R.string.transformation_started);
|
||||
playerView.setVisibility(View.GONE);
|
||||
Handler mainHandler = new Handler(getMainLooper());
|
||||
ProgressHolder progressHolder = new ProgressHolder();
|
||||
mainHandler.post(
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (transformer != null
|
||||
&& transformer.getProgress(progressHolder)
|
||||
!= Transformer.PROGRESS_STATE_NO_TRANSFORMATION) {
|
||||
progressIndicator.setProgress(progressHolder.progress);
|
||||
informationTextView.setText(
|
||||
getString(
|
||||
R.string.transformation_timer,
|
||||
transformationStopwatch.elapsed(TimeUnit.SECONDS)));
|
||||
mainHandler.postDelayed(/* r= */ this, /* delayMillis= */ 500);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Create a cache file, resetting it if it already exists.
|
||||
private File createExternalCacheFile(String fileName) throws IOException {
|
||||
File file = new File(getExternalCacheDir(), fileName);
|
||||
if (file.exists() && !file.delete()) {
|
||||
throw new IllegalStateException("Could not delete the previous transformer output file");
|
||||
}
|
||||
if (!file.createNewFile()) {
|
||||
throw new IllegalStateException("Could not create the transformer output file");
|
||||
}
|
||||
return file;
|
||||
}
|
||||
|
||||
@RequiresNonNull({
|
||||
"playerView",
|
||||
"debugTextView",
|
||||
"informationTextView",
|
||||
"transformationStopwatch",
|
||||
"progressViewGroup",
|
||||
"debugFrame",
|
||||
})
|
||||
private Transformer createTransformer(@Nullable Bundle bundle, String filePath) {
|
||||
Transformer.Builder transformerBuilder = new Transformer.Builder(/* context= */ this);
|
||||
if (bundle != null) {
|
||||
TransformationRequest.Builder requestBuilder = new TransformationRequest.Builder();
|
||||
requestBuilder.setFlattenForSlowMotion(
|
||||
bundle.getBoolean(ConfigurationActivity.SHOULD_FLATTEN_FOR_SLOW_MOTION));
|
||||
@Nullable String audioMimeType = bundle.getString(ConfigurationActivity.AUDIO_MIME_TYPE);
|
||||
if (audioMimeType != null) {
|
||||
requestBuilder.setAudioMimeType(audioMimeType);
|
||||
}
|
||||
@Nullable String videoMimeType = bundle.getString(ConfigurationActivity.VIDEO_MIME_TYPE);
|
||||
if (videoMimeType != null) {
|
||||
requestBuilder.setVideoMimeType(videoMimeType);
|
||||
}
|
||||
int resolutionHeight =
|
||||
bundle.getInt(
|
||||
ConfigurationActivity.RESOLUTION_HEIGHT, /* defaultValue= */ C.LENGTH_UNSET);
|
||||
if (resolutionHeight != C.LENGTH_UNSET) {
|
||||
requestBuilder.setResolution(resolutionHeight);
|
||||
}
|
||||
Matrix transformationMatrix = getTransformationMatrix(bundle);
|
||||
if (!transformationMatrix.isIdentity()) {
|
||||
requestBuilder.setTransformationMatrix(transformationMatrix);
|
||||
}
|
||||
requestBuilder.experimental_setEnableHdrEditing(
|
||||
bundle.getBoolean(ConfigurationActivity.ENABLE_HDR_EDITING));
|
||||
transformerBuilder
|
||||
.setTransformationRequest(requestBuilder.build())
|
||||
.setRemoveAudio(bundle.getBoolean(ConfigurationActivity.SHOULD_REMOVE_AUDIO))
|
||||
.setRemoveVideo(bundle.getBoolean(ConfigurationActivity.SHOULD_REMOVE_VIDEO));
|
||||
}
|
||||
return transformerBuilder
|
||||
.addListener(
|
||||
new Transformer.Listener() {
|
||||
@Override
|
||||
public void onTransformationCompleted(MediaItem mediaItem) {
|
||||
TransformerActivity.this.onTransformationCompleted(filePath);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTransformationError(
|
||||
MediaItem mediaItem, TransformationException exception) {
|
||||
TransformerActivity.this.onTransformationError(exception);
|
||||
}
|
||||
})
|
||||
.setDebugViewProvider(new DemoDebugViewProvider())
|
||||
.build();
|
||||
}
|
||||
|
||||
private static Matrix getTransformationMatrix(Bundle bundle) {
|
||||
Matrix transformationMatrix = new Matrix();
|
||||
|
||||
float translateX = bundle.getFloat(ConfigurationActivity.TRANSLATE_X, /* defaultValue= */ 0);
|
||||
float translateY = bundle.getFloat(ConfigurationActivity.TRANSLATE_Y, /* defaultValue= */ 0);
|
||||
// TODO(b/213198690): Get resolution for aspect ratio and scale all translations' translateX
|
||||
// by this aspect ratio.
|
||||
transformationMatrix.postTranslate(translateX, translateY);
|
||||
|
||||
float scaleX = bundle.getFloat(ConfigurationActivity.SCALE_X, /* defaultValue= */ 1);
|
||||
float scaleY = bundle.getFloat(ConfigurationActivity.SCALE_Y, /* defaultValue= */ 1);
|
||||
transformationMatrix.postScale(scaleX, scaleY);
|
||||
|
||||
float rotateDegrees =
|
||||
bundle.getFloat(ConfigurationActivity.ROTATE_DEGREES, /* defaultValue= */ 0);
|
||||
transformationMatrix.postRotate(rotateDegrees);
|
||||
|
||||
return transformationMatrix;
|
||||
}
|
||||
|
||||
@RequiresNonNull({
|
||||
"informationTextView",
|
||||
"progressViewGroup",
|
||||
"debugFrame",
|
||||
"transformationStopwatch",
|
||||
})
|
||||
private void onTransformationError(TransformationException exception) {
|
||||
transformationStopwatch.stop();
|
||||
informationTextView.setText(R.string.transformation_error);
|
||||
progressViewGroup.setVisibility(View.GONE);
|
||||
debugFrame.removeAllViews();
|
||||
Toast.makeText(
|
||||
TransformerActivity.this, "Transformation error: " + exception, Toast.LENGTH_LONG)
|
||||
.show();
|
||||
Log.e(TAG, "Transformation error", exception);
|
||||
}
|
||||
|
||||
@RequiresNonNull({
|
||||
"playerView",
|
||||
"debugTextView",
|
||||
"informationTextView",
|
||||
"progressViewGroup",
|
||||
"debugFrame",
|
||||
"transformationStopwatch",
|
||||
})
|
||||
private void onTransformationCompleted(String filePath) {
|
||||
transformationStopwatch.stop();
|
||||
informationTextView.setText(
|
||||
getString(
|
||||
R.string.transformation_completed, transformationStopwatch.elapsed(TimeUnit.SECONDS)));
|
||||
progressViewGroup.setVisibility(View.GONE);
|
||||
debugFrame.removeAllViews();
|
||||
playerView.setVisibility(View.VISIBLE);
|
||||
playMediaItem(MediaItem.fromUri("file://" + filePath));
|
||||
Log.d(TAG, "Output file path: file://" + filePath);
|
||||
}
|
||||
|
||||
@RequiresNonNull({"playerView", "debugTextView"})
|
||||
private void playMediaItem(MediaItem mediaItem) {
|
||||
playerView.setPlayer(null);
|
||||
releasePlayer();
|
||||
|
||||
ExoPlayer player = new ExoPlayer.Builder(/* context= */ this).build();
|
||||
playerView.setPlayer(player);
|
||||
player.setMediaItem(mediaItem);
|
||||
player.play();
|
||||
player.prepare();
|
||||
this.player = player;
|
||||
debugTextViewHelper = new DebugTextViewHelper(player, debugTextView);
|
||||
debugTextViewHelper.start();
|
||||
}
|
||||
|
||||
private void releasePlayer() {
|
||||
if (debugTextViewHelper != null) {
|
||||
debugTextViewHelper.stop();
|
||||
debugTextViewHelper = null;
|
||||
}
|
||||
if (player != null) {
|
||||
player.release();
|
||||
player = null;
|
||||
}
|
||||
}
|
||||
|
||||
private void requestTransformerPermission() {
|
||||
if (Util.SDK_INT < 23) {
|
||||
return;
|
||||
}
|
||||
if (checkSelfPermission(READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
|
||||
requestPermissions(new String[] {READ_EXTERNAL_STORAGE}, /* requestCode= */ 0);
|
||||
}
|
||||
}
|
||||
|
||||
private final class DemoDebugViewProvider implements Transformer.DebugViewProvider {
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public SurfaceView getDebugPreviewSurfaceView(int width, int height) {
|
||||
// Update the UI on the main thread and wait for the output surface to be available.
|
||||
CountDownLatch surfaceCreatedCountDownLatch = new CountDownLatch(1);
|
||||
SurfaceView surfaceView = new SurfaceView(/* context= */ TransformerActivity.this);
|
||||
runOnUiThread(
|
||||
() -> {
|
||||
AspectRatioFrameLayout debugFrame = checkNotNull(TransformerActivity.this.debugFrame);
|
||||
debugFrame.addView(surfaceView);
|
||||
debugFrame.setAspectRatio((float) width / height);
|
||||
surfaceView
|
||||
.getHolder()
|
||||
.addCallback(
|
||||
new SurfaceHolder.Callback() {
|
||||
@Override
|
||||
public void surfaceCreated(SurfaceHolder surfaceHolder) {
|
||||
surfaceCreatedCountDownLatch.countDown();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void surfaceChanged(
|
||||
SurfaceHolder surfaceHolder, int format, int width, int height) {
|
||||
// Do nothing.
|
||||
}
|
||||
|
||||
@Override
|
||||
public void surfaceDestroyed(SurfaceHolder surfaceHolder) {
|
||||
// Do nothing.
|
||||
}
|
||||
});
|
||||
});
|
||||
try {
|
||||
surfaceCreatedCountDownLatch.await();
|
||||
} catch (InterruptedException e) {
|
||||
Log.w(TAG, "Interrupted waiting for debug surface.");
|
||||
Thread.currentThread().interrupt();
|
||||
return null;
|
||||
}
|
||||
return surfaceView;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
/*
|
||||
* Copyright 2021 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
@NonNullApi
|
||||
package com.google.android.exoplayer2.transformerdemo;
|
||||
|
||||
import com.google.android.exoplayer2.util.NonNullApi;
|
196
demos/transformer/src/main/res/layout/configuration_activity.xml
Normal file
196
demos/transformer/src/main/res/layout/configuration_activity.xml
Normal file
@ -0,0 +1,196 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
~ Copyright 2021 The Android Open Source Project
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:context=".ConfigurationActivity">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/configuration_text_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="24dp"
|
||||
android:layout_marginStart="32dp"
|
||||
android:layout_marginEnd="32dp"
|
||||
android:text="@string/configuration"
|
||||
android:textSize="24sp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
<Button
|
||||
android:id="@+id/choose_file_button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="32dp"
|
||||
android:layout_marginStart="32dp"
|
||||
android:layout_marginEnd="32dp"
|
||||
android:text="@string/choose_file_title"
|
||||
app:layout_constraintTop_toBottomOf="@+id/configuration_text_view"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent" />
|
||||
<TextView
|
||||
android:id="@+id/chosen_file_text_view"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="12dp"
|
||||
android:layout_marginStart="32dp"
|
||||
android:layout_marginEnd="32dp"
|
||||
android:paddingLeft="24dp"
|
||||
android:paddingRight="24dp"
|
||||
android:textSize="12sp"
|
||||
android:gravity="center"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/choose_file_button" />
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="0dp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/chosen_file_text_view"
|
||||
app:layout_constraintBottom_toTopOf="@+id/transform_button">
|
||||
<TableLayout
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:stretchColumns="1"
|
||||
android:layout_marginTop="32dp"
|
||||
android:measureWithLargestChild="true"
|
||||
android:paddingLeft="24dp"
|
||||
android:paddingRight="12dp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent">
|
||||
<TableRow
|
||||
android:layout_weight="1"
|
||||
android:gravity="center_vertical" >
|
||||
<TextView
|
||||
android:text="@string/remove_audio" />
|
||||
<CheckBox
|
||||
android:id="@+id/remove_audio_checkbox"
|
||||
android:layout_gravity="right"/>
|
||||
</TableRow>
|
||||
<TableRow
|
||||
android:layout_weight="1"
|
||||
android:gravity="center_vertical" >
|
||||
<TextView
|
||||
android:text="@string/remove_video"/>
|
||||
<CheckBox
|
||||
android:id="@+id/remove_video_checkbox"
|
||||
android:layout_gravity="right" />
|
||||
</TableRow>
|
||||
<TableRow
|
||||
android:layout_weight="1"
|
||||
android:gravity="center_vertical" >
|
||||
<TextView
|
||||
android:text="@string/flatten_for_slow_motion"/>
|
||||
<CheckBox
|
||||
android:id="@+id/flatten_for_slow_motion_checkbox"
|
||||
android:layout_gravity="right" />
|
||||
</TableRow>
|
||||
<TableRow
|
||||
android:layout_weight="1"
|
||||
android:gravity="center_vertical" >
|
||||
<TextView
|
||||
android:id="@+id/audio_mime_text_view"
|
||||
android:text="@string/audio_mime"/>
|
||||
<Spinner
|
||||
android:id="@+id/audio_mime_spinner"
|
||||
android:layout_gravity="right|center_vertical"
|
||||
android:gravity="right" />
|
||||
</TableRow>
|
||||
<TableRow
|
||||
android:layout_weight="1"
|
||||
android:gravity="center_vertical" >
|
||||
<TextView
|
||||
android:id="@+id/video_mime_text_view"
|
||||
android:text="@string/video_mime"/>
|
||||
<Spinner
|
||||
android:id="@+id/video_mime_spinner"
|
||||
android:layout_gravity="right|center_vertical"
|
||||
android:gravity="right" />
|
||||
</TableRow>
|
||||
<TableRow
|
||||
android:layout_weight="1"
|
||||
android:gravity="center_vertical" >
|
||||
<TextView
|
||||
android:id="@+id/resolution_height_text_view"
|
||||
android:text="@string/resolution_height"/>
|
||||
<Spinner
|
||||
android:id="@+id/resolution_height_spinner"
|
||||
android:layout_gravity="right|center_vertical"
|
||||
android:gravity="right" />
|
||||
</TableRow>
|
||||
<TableRow
|
||||
android:layout_weight="1"
|
||||
android:gravity="center_vertical" >
|
||||
<TextView
|
||||
android:id="@+id/translate"
|
||||
android:text="@string/translate"/>
|
||||
<Spinner
|
||||
android:id="@+id/translate_spinner"
|
||||
android:layout_gravity="right|center_vertical"
|
||||
android:gravity="right" />
|
||||
</TableRow>
|
||||
<TableRow
|
||||
android:layout_weight="1"
|
||||
android:gravity="center_vertical" >
|
||||
<TextView
|
||||
android:id="@+id/scale"
|
||||
android:text="@string/scale"/>
|
||||
<Spinner
|
||||
android:id="@+id/scale_spinner"
|
||||
android:layout_gravity="right|center_vertical"
|
||||
android:gravity="right" />
|
||||
</TableRow>
|
||||
<TableRow
|
||||
android:layout_weight="1"
|
||||
android:gravity="center_vertical" >
|
||||
<TextView
|
||||
android:id="@+id/rotate"
|
||||
android:text="@string/rotate"/>
|
||||
<Spinner
|
||||
android:id="@+id/rotate_spinner"
|
||||
android:layout_gravity="right|center_vertical"
|
||||
android:gravity="right" />
|
||||
</TableRow>
|
||||
<TableRow
|
||||
android:layout_weight="1"
|
||||
android:gravity="center_vertical" >
|
||||
<TextView
|
||||
android:id="@+id/hdr_editing"
|
||||
android:text="@string/hdr_editing" />
|
||||
<CheckBox
|
||||
android:id="@+id/hdr_editing_checkbox"
|
||||
android:layout_gravity="right" />
|
||||
</TableRow>
|
||||
</TableLayout>
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
<Button
|
||||
android:id="@+id/transform_button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="28dp"
|
||||
android:layout_marginStart="32dp"
|
||||
android:layout_marginEnd="32dp"
|
||||
android:text="@string/transform"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
26
demos/transformer/src/main/res/layout/spinner_item.xml
Normal file
26
demos/transformer/src/main/res/layout/spinner_item.xml
Normal file
@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
~ Copyright 2021 The Android Open Source Project
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
<TextView
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="32dp"
|
||||
android:gravity="left|center_vertical"
|
||||
android:paddingLeft="4dp"
|
||||
android:paddingRight="4dp"
|
||||
android:layout_marginLeft="4dp"
|
||||
android:layout_marginRight="4dp"
|
||||
android:textIsSelectable="false" />
|
100
demos/transformer/src/main/res/layout/transformer_activity.xml
Normal file
100
demos/transformer/src/main/res/layout/transformer_activity.xml
Normal file
@ -0,0 +1,100 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><!--
|
||||
~ Copyright 2021 The Android Open Source Project
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:keepScreenOn="true"
|
||||
android:orientation="vertical">
|
||||
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:layout_margin="8dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="match_parent"
|
||||
app:cardCornerRadius="4dp"
|
||||
app:cardElevation="2dp"
|
||||
android:gravity="center_vertical" >
|
||||
|
||||
<TextView
|
||||
android:id="@+id/information_text_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical"
|
||||
android:padding="8dp" />
|
||||
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"
|
||||
android:layout_margin="16dp"
|
||||
app:cardCornerRadius="4dp"
|
||||
app:cardElevation="2dp">
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<com.google.android.exoplayer2.ui.StyledPlayerView
|
||||
android:id="@+id/player_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/debug_text_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="10sp"
|
||||
tools:ignore="SmallSp"/>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/progress_view_group"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="match_parent"
|
||||
android:padding="8dp"
|
||||
android:orientation="vertical">
|
||||
|
||||
<com.google.android.material.progressindicator.LinearProgressIndicator
|
||||
android:id="@+id/progress_indicator"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:layout_gravity="center" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:text="@string/debug_preview" />
|
||||
|
||||
<com.google.android.exoplayer2.ui.AspectRatioFrameLayout
|
||||
android:id="@+id/debug_aspect_ratio_frame_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/debug_preview_not_available" />
|
||||
|
||||
</com.google.android.exoplayer2.ui.AspectRatioFrameLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</FrameLayout>
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
</LinearLayout>
|
BIN
demos/transformer/src/main/res/mipmap-hdpi/ic_launcher.png
Normal file
BIN
demos/transformer/src/main/res/mipmap-hdpi/ic_launcher.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.3 KiB |
BIN
demos/transformer/src/main/res/mipmap-mdpi/ic_launcher.png
Normal file
BIN
demos/transformer/src/main/res/mipmap-mdpi/ic_launcher.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.1 KiB |
BIN
demos/transformer/src/main/res/mipmap-xhdpi/ic_launcher.png
Normal file
BIN
demos/transformer/src/main/res/mipmap-xhdpi/ic_launcher.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.8 KiB |
BIN
demos/transformer/src/main/res/mipmap-xxhdpi/ic_launcher.png
Normal file
BIN
demos/transformer/src/main/res/mipmap-xxhdpi/ic_launcher.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 7.3 KiB |
BIN
demos/transformer/src/main/res/mipmap-xxxhdpi/ic_launcher.png
Normal file
BIN
demos/transformer/src/main/res/mipmap-xxxhdpi/ic_launcher.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 10 KiB |
38
demos/transformer/src/main/res/values/strings.xml
Normal file
38
demos/transformer/src/main/res/values/strings.xml
Normal file
@ -0,0 +1,38 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
~ Copyright 2021 The Android Open Source Project
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<string name="app_name" translatable="false">Transformer Demo</string>
|
||||
<string name="configuration" translatable="false">Configuration</string>
|
||||
<string name="choose_file_title" translatable="false">Choose file</string>
|
||||
<string name="remove_audio" translatable="false">Remove audio</string>
|
||||
<string name="remove_video" translatable="false">Remove video</string>
|
||||
<string name="flatten_for_slow_motion" translatable="false">Flatten for slow motion</string>
|
||||
<string name="audio_mime" translatable="false">Output audio MIME type</string>
|
||||
<string name="video_mime" translatable="false">Output video MIME type</string>
|
||||
<string name="resolution_height" translatable="false">Output video resolution</string>
|
||||
<string name="translate" translatable="false">Translate video</string>
|
||||
<string name="scale" translatable="false">Scale video</string>
|
||||
<string name="rotate" translatable="false">Rotate video (degrees)</string>
|
||||
<string name="transform" translatable="false">Transform</string>
|
||||
<string name="hdr_editing" translatable="false">[Experimental] HDR editing</string>
|
||||
<string name="debug_preview" translatable="false">Debug preview:</string>
|
||||
<string name="debug_preview_not_available" translatable="false">No debug preview available.</string>
|
||||
<string name="transformation_started" translatable="false">Transformation started</string>
|
||||
<string name="transformation_timer" translatable="false">Transformation started %d seconds ago.</string>
|
||||
<string name="transformation_completed" translatable="false">Transformation completed in %d seconds.</string>
|
||||
<string name="transformation_error" translatable="false">Transformation error</string>
|
||||
</resources>
|
@ -46,10 +46,10 @@ MediaItem mediaItem =
|
||||
|
||||
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:
|
||||
`AdsLoader.Provider` and an `AdViewProvider` when creating the player:
|
||||
|
||||
~~~
|
||||
MediaSourceFactory mediaSourceFactory =
|
||||
MediaSource.Factory mediaSourceFactory =
|
||||
new DefaultMediaSourceFactory(context)
|
||||
.setAdsLoaderProvider(adsLoaderProvider)
|
||||
.setAdViewProvider(playerView);
|
||||
@ -61,12 +61,11 @@ ExoPlayer player = new ExoPlayer.Builder(context)
|
||||
|
||||
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
|
||||
`AdsLoader.Provider` 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.
|
||||
ExoPlayer's `StyledPlayerView` implements `AdViewProvider`. The IMA extension
|
||||
provides an easy to use `AdsLoader`, as described below.
|
||||
|
||||
### Playlists with ads ###
|
||||
|
||||
@ -123,11 +122,11 @@ VAST/VMAP ad tags in the sample list.
|
||||
|
||||
#### UI considerations ####
|
||||
|
||||
`StyledPlayerView` and `PlayerView` hide controls during playback of ads by
|
||||
`StyledPlayerView` hides its transport 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).
|
||||
`setControllerHideDuringAds`. 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
|
||||
@ -139,9 +138,9 @@ 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`.
|
||||
as the `AdViewProvider`, it will automatically register its 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][].
|
||||
@ -210,17 +209,108 @@ 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
|
||||
When using server-side ad insertion, the client may need to resolve the media
|
||||
URL dynamically to get the stitched stream, it may need to display ads overlays
|
||||
in the UI or it may need to report events to an ads SDK or ad server.
|
||||
|
||||
ExoPlayer's `DefaultMediaSourceFactory` can delegate all these tasks to a
|
||||
server-side ad insertion `MediaSource` for URIs using the `ssai://` scheme:
|
||||
|
||||
```
|
||||
Player player =
|
||||
new ExoPlayer.Builder(context)
|
||||
.setMediaSourceFactory(
|
||||
new DefaultMediaSourceFactory(dataSourceFactory)
|
||||
.setServerSideAdInsertionMediaSourceFactory(ssaiFactory))
|
||||
.build();
|
||||
```
|
||||
|
||||
### IMA extension ###
|
||||
|
||||
The [ExoPlayer IMA extension][] provides `ImaServerSideAdInsertionMediaSource`,
|
||||
making it easy to integrate with IMA's server-side inserted ad streams in your
|
||||
app. It wraps the functionality of the [IMA DAI SDK for Android][] and fully
|
||||
integrates the provided ad metadata into the player. For example, this allows
|
||||
you to use methods like `Player.isPlayingAd()`, listen to content-ad transitions
|
||||
and let the player handle ad playback logic like skipping already played ads.
|
||||
|
||||
In order to use this class, you need to set up the
|
||||
`ImaServerSideAdInsertionMediaSource.AdsLoader` and the
|
||||
`ImaServerSideAdInsertionMediaSource.Factory` and connect them to the player:
|
||||
|
||||
```
|
||||
// MediaSource.Factory to load the actual media stream.
|
||||
DefaultMediaSourceFactory defaultMediaSourceFactory =
|
||||
new DefaultMediaSourceFactory(dataSourceFactory);
|
||||
// AdsLoader that can be reused for multiple playbacks.
|
||||
ImaServerSideAdInsertionMediaSource.AdsLoader adsLoader =
|
||||
new ImaServerSideAdInsertionMediaSource.AdsLoader.Builder(context, adViewProvider)
|
||||
.build();
|
||||
// MediaSource.Factory to create the ad sources for the current player.
|
||||
ImaServerSideAdInsertionMediaSource.Factory adsMediaSourceFactory =
|
||||
new ImaServerSideAdInsertionMediaSource.Factory(adsLoader, defaultMediaSourceFactory);
|
||||
// Configure DefaultMediaSourceFactory to create both IMA DAI sources and
|
||||
// regular media sources. If you just play IMA DAI streams, you can also use
|
||||
// adsMediaSourceFactory directly.
|
||||
defaultMediaSourceFactory.setServerSideAdInsertionMediaSourceFactory(adsMediaSourceFactory);
|
||||
// Set the MediaSource.Factory on the Player.
|
||||
Player player =
|
||||
new ExoPlayer.Builder(context)
|
||||
.setMediaSourceFactory(defaultMediaSourceFactory)
|
||||
.build();
|
||||
// Set the player on the AdsLoader
|
||||
adsLoader.setPlayer(player);
|
||||
```
|
||||
|
||||
Load your IMA asset key, or content source id and video id, by building an URL
|
||||
with `ImaServerSideAdInsertionUriBuilder`:
|
||||
|
||||
```
|
||||
Uri ssaiUri =
|
||||
new ImaServerSideAdInsertionUriBuilder().setAssetKey(assetKey).build();
|
||||
player.setMediaItem(MediaItem.fromUri(ssaiUri));
|
||||
```
|
||||
|
||||
Finally, release your ads loader once it's no longer used:
|
||||
```
|
||||
adsLoader.release();
|
||||
```
|
||||
|
||||
Currently only a single IMA server-side ad insertion stream is supported in the
|
||||
same playlist. You can combine the stream with other media but not with another
|
||||
IMA server-side ad insertion stream.
|
||||
{:.info}
|
||||
|
||||
#### UI considerations ####
|
||||
|
||||
The same [UI considerations as for client-side ad insertion][] apply to
|
||||
server-side ad insertion too.
|
||||
|
||||
#### 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
|
||||
`ImaServerSideAdInsertionMediaSource.AdsLoader.Builder.setCompanionAdSlots(slots)`.
|
||||
For more information see [Adding Companion Ads][].
|
||||
|
||||
### 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, it's recommended to
|
||||
provide a custom `MediaSource` that accepts URIs with the `ssai://` scheme
|
||||
similar to `ImaServerSideAdInsertionMediaSource`.
|
||||
|
||||
The actual logic of creating the ad structure can be delegated to the general
|
||||
purpose `ServerSideInsertedAdsMediaSource`, which wraps a stream `MediaSource`
|
||||
and allows the user to set and update the `AdPlaybackState` representing the ad
|
||||
metadata.
|
||||
|
||||
Often, server-side inserted ad streams contain timed events to notify the player
|
||||
about ad metadata. Please see [supported formats][] for information on what
|
||||
timed metadata formats are supported by ExoPlayer. Custom ads SDK `MediaSource`s
|
||||
can listen for timed metadata events from the player, e.g., via
|
||||
`ExoPlayer.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
|
||||
@ -235,3 +325,5 @@ provide any integration with the DAI part of the IMA SDK.
|
||||
[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
|
||||
[IMA DAI SDK for Android]: https://developers.google.com/interactive-media-ads/docs/sdks/android/dai
|
||||
[UI considerations as for client-side ad insertion]: #ui-considerations
|
||||
|
@ -225,16 +225,16 @@ new PlaybackStatsListener(
|
||||
|
||||
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.
|
||||
`PlaybackStats` later. If it helps, you can extend `DefaultAnalyticsCollector`
|
||||
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 {
|
||||
class ExtendedCollector extends DefaultAnalyticsCollector {
|
||||
public void customEvent() {
|
||||
EventTime eventTime = generateCurrentPlayerMediaPeriodEventTime();
|
||||
sendEvent(eventTime, CUSTOM_EVENT_ID, listener -> {
|
||||
|
@ -14,10 +14,10 @@ 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
|
||||
from `MediaItem`s by a `MediaSource.Factory` 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.
|
||||
* A `MediaSource.Factory` that converts `MediaItem`s to `MediaSource`s. The
|
||||
`MediaSource.Factory` 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
|
||||
@ -245,9 +245,9 @@ required. Some use cases for custom implementations are:
|
||||
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.
|
||||
* `MediaSource.Factory` – Implementing a custom `MediaSource.Factory`
|
||||
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
|
||||
|
File diff suppressed because one or more lines are too long
@ -63,8 +63,6 @@
|
||||
<li><a href="com/google/android/exoplayer2/testutil/Action.WaitForPlayWhenReady.html" title="class in com.google.android.exoplayer2.testutil">Action.WaitForPlayWhenReady</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/testutil/Action.WaitForPositionDiscontinuity.html" title="class in com.google.android.exoplayer2.testutil">Action.WaitForPositionDiscontinuity</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/testutil/Action.WaitForTimelineChanged.html" title="class in com.google.android.exoplayer2.testutil">Action.WaitForTimelineChanged</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/offline/ActionFileUpgradeUtil.html" title="class in com.google.android.exoplayer2.offline">ActionFileUpgradeUtil</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/offline/ActionFileUpgradeUtil.DownloadIdProvider.html" title="interface in com.google.android.exoplayer2.offline"><span class="interfaceName">ActionFileUpgradeUtil.DownloadIdProvider</span></a></li>
|
||||
<li><a href="com/google/android/exoplayer2/testutil/ActionSchedule.html" title="class in com.google.android.exoplayer2.testutil">ActionSchedule</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/testutil/ActionSchedule.Builder.html" title="class in com.google.android.exoplayer2.testutil">ActionSchedule.Builder</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/testutil/ActionSchedule.Callback.html" title="interface in com.google.android.exoplayer2.testutil"><span class="interfaceName">ActionSchedule.Callback</span></a></li>
|
||||
@ -77,12 +75,14 @@
|
||||
<li><a href="com/google/android/exoplayer2/trackselection/AdaptiveTrackSelection.Factory.html" title="class in com.google.android.exoplayer2.trackselection">AdaptiveTrackSelection.Factory</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/testutil/AdditionalFailureInfo.html" title="class in com.google.android.exoplayer2.testutil">AdditionalFailureInfo</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/ui/AdOverlayInfo.html" title="class in com.google.android.exoplayer2.ui">AdOverlayInfo</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/ui/AdOverlayInfo.Builder.html" title="class in com.google.android.exoplayer2.ui">AdOverlayInfo.Builder</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/ui/AdOverlayInfo.Purpose.html" title="annotation in com.google.android.exoplayer2.ui">AdOverlayInfo.Purpose</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/ads/AdPlaybackState.html" title="class in com.google.android.exoplayer2.source.ads">AdPlaybackState</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/ads/AdPlaybackState.AdGroup.html" title="class in com.google.android.exoplayer2.source.ads">AdPlaybackState.AdGroup</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/ads/AdPlaybackState.AdState.html" title="annotation in com.google.android.exoplayer2.source.ads">AdPlaybackState.AdState</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/ads/AdsLoader.html" title="interface in com.google.android.exoplayer2.source.ads"><span class="interfaceName">AdsLoader</span></a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/ads/AdsLoader.EventListener.html" title="interface in com.google.android.exoplayer2.source.ads"><span class="interfaceName">AdsLoader.EventListener</span></a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/ads/AdsLoader.Provider.html" title="interface in com.google.android.exoplayer2.source.ads"><span class="interfaceName">AdsLoader.Provider</span></a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/ads/AdsMediaSource.html" title="class in com.google.android.exoplayer2.source.ads">AdsMediaSource</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/ads/AdsMediaSource.AdLoadException.html" title="class in com.google.android.exoplayer2.source.ads">AdsMediaSource.AdLoadException</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/ads/AdsMediaSource.AdLoadException.Type.html" title="annotation in com.google.android.exoplayer2.source.ads">AdsMediaSource.AdLoadException.Type</a></li>
|
||||
@ -95,9 +95,10 @@
|
||||
<li><a href="com/google/android/exoplayer2/upstream/crypto/AesFlushingCipher.html" title="class in com.google.android.exoplayer2.upstream.crypto">AesFlushingCipher</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/upstream/Allocation.html" title="class in com.google.android.exoplayer2.upstream">Allocation</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/upstream/Allocator.html" title="interface in com.google.android.exoplayer2.upstream"><span class="interfaceName">Allocator</span></a></li>
|
||||
<li><a href="com/google/android/exoplayer2/upstream/Allocator.AllocationNode.html" title="interface in com.google.android.exoplayer2.upstream"><span class="interfaceName">Allocator.AllocationNode</span></a></li>
|
||||
<li><a href="com/google/android/exoplayer2/extractor/amr/AmrExtractor.html" title="class in com.google.android.exoplayer2.extractor.amr">AmrExtractor</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/extractor/amr/AmrExtractor.Flags.html" title="annotation in com.google.android.exoplayer2.extractor.amr">AmrExtractor.Flags</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/analytics/AnalyticsCollector.html" title="class in com.google.android.exoplayer2.analytics">AnalyticsCollector</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/analytics/AnalyticsCollector.html" title="interface in com.google.android.exoplayer2.analytics"><span class="interfaceName">AnalyticsCollector</span></a></li>
|
||||
<li><a href="com/google/android/exoplayer2/analytics/AnalyticsListener.html" title="interface in com.google.android.exoplayer2.analytics"><span class="interfaceName">AnalyticsListener</span></a></li>
|
||||
<li><a href="com/google/android/exoplayer2/analytics/AnalyticsListener.EventFlags.html" title="annotation in com.google.android.exoplayer2.analytics">AnalyticsListener.EventFlags</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/analytics/AnalyticsListener.Events.html" title="class in com.google.android.exoplayer2.analytics">AnalyticsListener.Events</a></li>
|
||||
@ -170,8 +171,6 @@
|
||||
<li><a href="com/google/android/exoplayer2/C.AudioAllowedCapturePolicy.html" title="annotation in com.google.android.exoplayer2">C.AudioAllowedCapturePolicy</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/C.AudioContentType.html" title="annotation in com.google.android.exoplayer2">C.AudioContentType</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/C.AudioFlags.html" title="annotation in com.google.android.exoplayer2">C.AudioFlags</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/C.AudioFocusGain.html" title="annotation in com.google.android.exoplayer2">C.AudioFocusGain</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/C.AudioManagerOffloadMode.html" title="annotation in com.google.android.exoplayer2">C.AudioManagerOffloadMode</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/C.AudioUsage.html" title="annotation in com.google.android.exoplayer2">C.AudioUsage</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/C.BufferFlags.html" title="annotation in com.google.android.exoplayer2">C.BufferFlags</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/C.ColorRange.html" title="annotation in com.google.android.exoplayer2">C.ColorRange</a></li>
|
||||
@ -189,6 +188,7 @@
|
||||
<li><a href="com/google/android/exoplayer2/C.RoleFlags.html" title="annotation in com.google.android.exoplayer2">C.RoleFlags</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/C.SelectionFlags.html" title="annotation in com.google.android.exoplayer2">C.SelectionFlags</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/C.SelectionReason.html" title="annotation in com.google.android.exoplayer2">C.SelectionReason</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/C.SpatializationBehavior.html" title="annotation in com.google.android.exoplayer2">C.SpatializationBehavior</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/C.StereoMode.html" title="annotation in com.google.android.exoplayer2">C.StereoMode</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/C.StreamType.html" title="annotation in com.google.android.exoplayer2">C.StreamType</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/C.TrackType.html" title="annotation in com.google.android.exoplayer2">C.TrackType</a></li>
|
||||
@ -241,6 +241,9 @@
|
||||
<li><a href="com/google/android/exoplayer2/source/ClippingMediaSource.IllegalClippingException.html" title="class in com.google.android.exoplayer2.source">ClippingMediaSource.IllegalClippingException</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/ClippingMediaSource.IllegalClippingException.Reason.html" title="annotation in com.google.android.exoplayer2.source">ClippingMediaSource.IllegalClippingException.Reason</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/util/Clock.html" title="interface in com.google.android.exoplayer2.util"><span class="interfaceName">Clock</span></a></li>
|
||||
<li><a href="com/google/android/exoplayer2/transformer/Codec.html" title="class in com.google.android.exoplayer2.transformer">Codec</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/transformer/Codec.DecoderFactory.html" title="interface in com.google.android.exoplayer2.transformer"><span class="interfaceName">Codec.DecoderFactory</span></a></li>
|
||||
<li><a href="com/google/android/exoplayer2/transformer/Codec.EncoderFactory.html" title="interface in com.google.android.exoplayer2.transformer"><span class="interfaceName">Codec.EncoderFactory</span></a></li>
|
||||
<li><a href="com/google/android/exoplayer2/util/CodecSpecificDataUtil.html" title="class in com.google.android.exoplayer2.util">CodecSpecificDataUtil</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/video/ColorInfo.html" title="class in com.google.android.exoplayer2.video">ColorInfo</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/util/ColorParser.html" title="class in com.google.android.exoplayer2.util">ColorParser</a></li>
|
||||
@ -323,11 +326,16 @@
|
||||
<li><a href="com/google/android/exoplayer2/decoder/DecoderReuseEvaluation.DecoderReuseResult.html" title="annotation in com.google.android.exoplayer2.decoder">DecoderReuseEvaluation.DecoderReuseResult</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/video/DecoderVideoRenderer.html" title="class in com.google.android.exoplayer2.video">DecoderVideoRenderer</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/upstream/DefaultAllocator.html" title="class in com.google.android.exoplayer2.upstream">DefaultAllocator</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/analytics/DefaultAnalyticsCollector.html" title="class in com.google.android.exoplayer2.analytics">DefaultAnalyticsCollector</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/audio/DefaultAudioSink.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/audio/DefaultAudioSink.AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio"><span class="interfaceName">DefaultAudioSink.AudioProcessorChain</span></a></li>
|
||||
<li><a href="com/google/android/exoplayer2/audio/DefaultAudioSink.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.Builder</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/audio/DefaultAudioSink.DefaultAudioProcessorChain.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.DefaultAudioProcessorChain</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/audio/DefaultAudioSink.InvalidAudioTrackTimestampException.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.InvalidAudioTrackTimestampException</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/audio/DefaultAudioSink.OffloadMode.html" title="annotation in com.google.android.exoplayer2.audio">DefaultAudioSink.OffloadMode</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/audio/DefaultAudioSink.OutputMode.html" title="annotation in com.google.android.exoplayer2.audio">DefaultAudioSink.OutputMode</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/audio/DefaultAudioTrackBufferSizeProvider.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioTrackBufferSizeProvider</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/audio/DefaultAudioTrackBufferSizeProvider.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioTrackBufferSizeProvider.Builder</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/upstream/DefaultBandwidthMeter.html" title="class in com.google.android.exoplayer2.upstream">DefaultBandwidthMeter</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/upstream/DefaultBandwidthMeter.Builder.html" title="class in com.google.android.exoplayer2.upstream">DefaultBandwidthMeter.Builder</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/ext/cast/DefaultCastOptionsProvider.html" title="class in com.google.android.exoplayer2.ext.cast">DefaultCastOptionsProvider</a></li>
|
||||
@ -377,13 +385,10 @@
|
||||
<li><a href="com/google/android/exoplayer2/ui/DefaultTimeBar.html" title="class in com.google.android.exoplayer2.ui">DefaultTimeBar</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/ui/DefaultTrackNameProvider.html" title="class in com.google.android.exoplayer2.ui">DefaultTrackNameProvider</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/trackselection/DefaultTrackSelector.html" title="class in com.google.android.exoplayer2.trackselection">DefaultTrackSelector</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/trackselection/DefaultTrackSelector.AudioTrackScore.html" title="class in com.google.android.exoplayer2.trackselection">DefaultTrackSelector.AudioTrackScore</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/trackselection/DefaultTrackSelector.OtherTrackScore.html" title="class in com.google.android.exoplayer2.trackselection">DefaultTrackSelector.OtherTrackScore</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/trackselection/DefaultTrackSelector.Parameters.html" title="class in com.google.android.exoplayer2.trackselection">DefaultTrackSelector.Parameters</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/trackselection/DefaultTrackSelector.ParametersBuilder.html" title="class in com.google.android.exoplayer2.trackselection">DefaultTrackSelector.ParametersBuilder</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/trackselection/DefaultTrackSelector.SelectionEligibility.html" title="annotation in com.google.android.exoplayer2.trackselection">DefaultTrackSelector.SelectionEligibility</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/trackselection/DefaultTrackSelector.SelectionOverride.html" title="class in com.google.android.exoplayer2.trackselection">DefaultTrackSelector.SelectionOverride</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/trackselection/DefaultTrackSelector.TextTrackScore.html" title="class in com.google.android.exoplayer2.trackselection">DefaultTrackSelector.TextTrackScore</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/trackselection/DefaultTrackSelector.VideoTrackScore.html" title="class in com.google.android.exoplayer2.trackselection">DefaultTrackSelector.VideoTrackScore</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/extractor/ts/DefaultTsPayloadReaderFactory.html" title="class in com.google.android.exoplayer2.extractor.ts">DefaultTsPayloadReaderFactory</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/extractor/ts/DefaultTsPayloadReaderFactory.Flags.html" title="annotation in com.google.android.exoplayer2.extractor.ts">DefaultTsPayloadReaderFactory.Flags</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/dash/manifest/Descriptor.html" title="class in com.google.android.exoplayer2.source.dash.manifest">Descriptor</a></li>
|
||||
@ -446,6 +451,7 @@
|
||||
<li><a href="com/google/android/exoplayer2/util/EGLSurfaceTexture.TextureImageListener.html" title="interface in com.google.android.exoplayer2.util"><span class="interfaceName">EGLSurfaceTexture.TextureImageListener</span></a></li>
|
||||
<li><a href="com/google/android/exoplayer2/extractor/ts/ElementaryStreamReader.html" title="interface in com.google.android.exoplayer2.extractor.ts"><span class="interfaceName">ElementaryStreamReader</span></a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/EmptySampleStream.html" title="class in com.google.android.exoplayer2.source">EmptySampleStream</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/transformer/EncoderUtil.html" title="class in com.google.android.exoplayer2.transformer">EncoderUtil</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/util/ErrorMessageProvider.html" title="interface in com.google.android.exoplayer2.util"><span class="interfaceName">ErrorMessageProvider</span></a></li>
|
||||
<li><a href="com/google/android/exoplayer2/drm/ErrorStateDrmSession.html" title="class in com.google.android.exoplayer2.drm">ErrorStateDrmSession</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/util/EventLogger.html" title="class in com.google.android.exoplayer2.util">EventLogger</a></li>
|
||||
@ -585,11 +591,8 @@
|
||||
<li><a href="com/google/android/exoplayer2/ext/av1/Gav1Library.html" title="class in com.google.android.exoplayer2.ext.av1">Gav1Library</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/metadata/id3/GeobFrame.html" title="class in com.google.android.exoplayer2.metadata.id3">GeobFrame</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/util/GlUtil.html" title="class in com.google.android.exoplayer2.util">GlUtil</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/util/GlUtil.Attribute.html" title="class in com.google.android.exoplayer2.util">GlUtil.Attribute</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/util/GlUtil.GlException.html" title="class in com.google.android.exoplayer2.util">GlUtil.GlException</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/util/GlUtil.Program.html" title="class in com.google.android.exoplayer2.util">GlUtil.Program</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/util/GlUtil.Uniform.html" title="class in com.google.android.exoplayer2.util">GlUtil.Uniform</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/util/GlUtil.UnsupportedEglVersionException.html" title="class in com.google.android.exoplayer2.util">GlUtil.UnsupportedEglVersionException</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/extractor/ts/H262Reader.html" title="class in com.google.android.exoplayer2.extractor.ts">H262Reader</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/extractor/ts/H263Reader.html" title="class in com.google.android.exoplayer2.extractor.ts">H263Reader</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/extractor/ts/H264Reader.html" title="class in com.google.android.exoplayer2.extractor.ts">H264Reader</a></li>
|
||||
@ -603,8 +606,6 @@
|
||||
<li><a href="com/google/android/exoplayer2/source/hls/HlsExtractorFactory.html" title="interface in com.google.android.exoplayer2.source.hls"><span class="interfaceName">HlsExtractorFactory</span></a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/hls/HlsManifest.html" title="class in com.google.android.exoplayer2.source.hls">HlsManifest</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist.html" title="class in com.google.android.exoplayer2.source.hls.playlist">HlsMasterPlaylist</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist.Rendition.html" title="class in com.google.android.exoplayer2.source.hls.playlist">HlsMasterPlaylist.Rendition</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist.Variant.html" title="class in com.google.android.exoplayer2.source.hls.playlist">HlsMasterPlaylist.Variant</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/hls/HlsMediaChunkExtractor.html" title="interface in com.google.android.exoplayer2.source.hls"><span class="interfaceName">HlsMediaChunkExtractor</span></a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/hls/HlsMediaPeriod.html" title="class in com.google.android.exoplayer2.source.hls">HlsMediaPeriod</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist.html" title="class in com.google.android.exoplayer2.source.hls.playlist">HlsMediaPlaylist</a></li>
|
||||
@ -617,6 +618,9 @@
|
||||
<li><a href="com/google/android/exoplayer2/source/hls/HlsMediaSource.html" title="class in com.google.android.exoplayer2.source.hls">HlsMediaSource</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/hls/HlsMediaSource.Factory.html" title="class in com.google.android.exoplayer2.source.hls">HlsMediaSource.Factory</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/hls/HlsMediaSource.MetadataType.html" title="annotation in com.google.android.exoplayer2.source.hls">HlsMediaSource.MetadataType</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/hls/playlist/HlsMultivariantPlaylist.html" title="class in com.google.android.exoplayer2.source.hls.playlist">HlsMultivariantPlaylist</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/hls/playlist/HlsMultivariantPlaylist.Rendition.html" title="class in com.google.android.exoplayer2.source.hls.playlist">HlsMultivariantPlaylist.Rendition</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/hls/playlist/HlsMultivariantPlaylist.Variant.html" title="class in com.google.android.exoplayer2.source.hls.playlist">HlsMultivariantPlaylist.Variant</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/hls/playlist/HlsPlaylist.html" title="class in com.google.android.exoplayer2.source.hls.playlist">HlsPlaylist</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistParser.html" title="class in com.google.android.exoplayer2.source.hls.playlist">HlsPlaylistParser</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistParser.DeltaUpdateException.html" title="class in com.google.android.exoplayer2.source.hls.playlist">HlsPlaylistParser.DeltaUpdateException</a></li>
|
||||
@ -655,6 +659,12 @@
|
||||
<li><a href="com/google/android/exoplayer2/IllegalSeekPositionException.html" title="class in com.google.android.exoplayer2">IllegalSeekPositionException</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/ext/ima/ImaAdsLoader.html" title="class in com.google.android.exoplayer2.ext.ima">ImaAdsLoader</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/ext/ima/ImaAdsLoader.Builder.html" title="class in com.google.android.exoplayer2.ext.ima">ImaAdsLoader.Builder</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/ext/ima/ImaServerSideAdInsertionMediaSource.html" title="class in com.google.android.exoplayer2.ext.ima">ImaServerSideAdInsertionMediaSource</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/ext/ima/ImaServerSideAdInsertionMediaSource.AdsLoader.html" title="class in com.google.android.exoplayer2.ext.ima">ImaServerSideAdInsertionMediaSource.AdsLoader</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/ext/ima/ImaServerSideAdInsertionMediaSource.AdsLoader.Builder.html" title="class in com.google.android.exoplayer2.ext.ima">ImaServerSideAdInsertionMediaSource.AdsLoader.Builder</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/ext/ima/ImaServerSideAdInsertionMediaSource.AdsLoader.State.html" title="class in com.google.android.exoplayer2.ext.ima">ImaServerSideAdInsertionMediaSource.AdsLoader.State</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/ext/ima/ImaServerSideAdInsertionMediaSource.Factory.html" title="class in com.google.android.exoplayer2.ext.ima">ImaServerSideAdInsertionMediaSource.Factory</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/ext/ima/ImaServerSideAdInsertionUriBuilder.html" title="class in com.google.android.exoplayer2.ext.ima">ImaServerSideAdInsertionUriBuilder</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/extractor/IndexSeekMap.html" title="class in com.google.android.exoplayer2.extractor">IndexSeekMap</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/chunk/InitializationChunk.html" title="class in com.google.android.exoplayer2.source.chunk">InitializationChunk</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/mediaparser/InputReaderAdapterV30.html" title="class in com.google.android.exoplayer2.source.mediaparser">InputReaderAdapterV30</a></li>
|
||||
@ -691,16 +701,19 @@
|
||||
<li><a href="com/google/android/exoplayer2/source/LoadEventInfo.html" title="class in com.google.android.exoplayer2.source">LoadEventInfo</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/drm/LocalMediaDrmCallback.html" title="class in com.google.android.exoplayer2.drm">LocalMediaDrmCallback</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/util/Log.html" title="class in com.google.android.exoplayer2.util">Log</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/util/Log.LogLevel.html" title="annotation in com.google.android.exoplayer2.util">Log.LogLevel</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/util/LongArray.html" title="class in com.google.android.exoplayer2.util">LongArray</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/LoopingMediaSource.html" title="class in com.google.android.exoplayer2.source">LoopingMediaSource</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/trackselection/MappingTrackSelector.html" title="class in com.google.android.exoplayer2.trackselection">MappingTrackSelector</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/trackselection/MappingTrackSelector.MappedTrackInfo.html" title="class in com.google.android.exoplayer2.trackselection">MappingTrackSelector.MappedTrackInfo</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/trackselection/MappingTrackSelector.MappedTrackInfo.RendererSupport.html" title="annotation in com.google.android.exoplayer2.trackselection">MappingTrackSelector.MappedTrackInfo.RendererSupport</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/MaskingMediaPeriod.html" title="class in com.google.android.exoplayer2.source">MaskingMediaPeriod</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/MaskingMediaPeriod.PrepareListener.html" title="interface in com.google.android.exoplayer2.source"><span class="interfaceName">MaskingMediaPeriod.PrepareListener</span></a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/MaskingMediaSource.html" title="class in com.google.android.exoplayer2.source">MaskingMediaSource</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/MaskingMediaSource.PlaceholderTimeline.html" title="class in com.google.android.exoplayer2.source">MaskingMediaSource.PlaceholderTimeline</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/extractor/mkv/MatroskaExtractor.html" title="class in com.google.android.exoplayer2.extractor.mkv">MatroskaExtractor</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/extractor/mkv/MatroskaExtractor.Flags.html" title="annotation in com.google.android.exoplayer2.extractor.mkv">MatroskaExtractor.Flags</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/extractor/mkv/MatroskaExtractor.Track.html" title="class in com.google.android.exoplayer2.extractor.mkv">MatroskaExtractor.Track</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/metadata/mp4/MdtaMetadataEntry.html" title="class in com.google.android.exoplayer2.metadata.mp4">MdtaMetadataEntry</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/chunk/MediaChunk.html" title="class in com.google.android.exoplayer2.source.chunk">MediaChunk</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/chunk/MediaChunkIterator.html" title="interface in com.google.android.exoplayer2.source.chunk"><span class="interfaceName">MediaChunkIterator</span></a></li>
|
||||
@ -746,6 +759,7 @@
|
||||
<li><a href="com/google/android/exoplayer2/MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/MediaMetadata.FolderType.html" title="annotation in com.google.android.exoplayer2">MediaMetadata.FolderType</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/MediaMetadata.PictureType.html" title="annotation in com.google.android.exoplayer2">MediaMetadata.PictureType</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/analytics/MediaMetricsListener.html" title="class in com.google.android.exoplayer2.analytics">MediaMetricsListener</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/chunk/MediaParserChunkExtractor.html" title="class in com.google.android.exoplayer2.source.chunk">MediaParserChunkExtractor</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/MediaParserExtractorAdapter.html" title="class in com.google.android.exoplayer2.source">MediaParserExtractorAdapter</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/hls/MediaParserHlsMediaChunkExtractor.html" title="class in com.google.android.exoplayer2.source.hls">MediaParserHlsMediaChunkExtractor</a></li>
|
||||
@ -768,6 +782,7 @@
|
||||
<li><a href="com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.QueueNavigator.html" title="interface in com.google.android.exoplayer2.ext.mediasession"><span class="interfaceName">MediaSessionConnector.QueueNavigator</span></a></li>
|
||||
<li><a href="com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.RatingCallback.html" title="interface in com.google.android.exoplayer2.ext.mediasession"><span class="interfaceName">MediaSessionConnector.RatingCallback</span></a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/MediaSource.html" title="interface in com.google.android.exoplayer2.source"><span class="interfaceName">MediaSource</span></a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/MediaSource.Factory.html" title="interface in com.google.android.exoplayer2.source"><span class="interfaceName">MediaSource.Factory</span></a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/MediaSource.MediaPeriodId.html" title="class in com.google.android.exoplayer2.source">MediaSource.MediaPeriodId</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/MediaSource.MediaSourceCaller.html" title="interface in com.google.android.exoplayer2.source"><span class="interfaceName">MediaSource.MediaSourceCaller</span></a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/MediaSourceEventListener.html" title="interface in com.google.android.exoplayer2.source"><span class="interfaceName">MediaSourceEventListener</span></a></li>
|
||||
@ -852,7 +867,6 @@
|
||||
<li><a href="com/google/android/exoplayer2/Player.Commands.Builder.html" title="class in com.google.android.exoplayer2">Player.Commands.Builder</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/Player.DiscontinuityReason.html" title="annotation in com.google.android.exoplayer2">Player.DiscontinuityReason</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/Player.Event.html" title="annotation in com.google.android.exoplayer2">Player.Event</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/Player.EventListener.html" title="interface in com.google.android.exoplayer2"><span class="interfaceName">Player.EventListener</span></a></li>
|
||||
<li><a href="com/google/android/exoplayer2/Player.Events.html" title="class in com.google.android.exoplayer2">Player.Events</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/Player.Listener.html" title="interface in com.google.android.exoplayer2"><span class="interfaceName">Player.Listener</span></a></li>
|
||||
<li><a href="com/google/android/exoplayer2/Player.MediaItemTransitionReason.html" title="annotation in com.google.android.exoplayer2">Player.MediaItemTransitionReason</a></li>
|
||||
@ -867,6 +881,7 @@
|
||||
<li><a href="com/google/android/exoplayer2/ui/PlayerControlView.VisibilityListener.html" title="interface in com.google.android.exoplayer2.ui"><span class="interfaceName">PlayerControlView.VisibilityListener</span></a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/dash/PlayerEmsgHandler.html" title="class in com.google.android.exoplayer2.source.dash">PlayerEmsgHandler</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/dash/PlayerEmsgHandler.PlayerEmsgCallback.html" title="interface in com.google.android.exoplayer2.source.dash"><span class="interfaceName">PlayerEmsgHandler.PlayerEmsgCallback</span></a></li>
|
||||
<li><a href="com/google/android/exoplayer2/analytics/PlayerId.html" title="class in com.google.android.exoplayer2.analytics">PlayerId</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/PlayerMessage.html" title="class in com.google.android.exoplayer2">PlayerMessage</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/PlayerMessage.Sender.html" title="interface in com.google.android.exoplayer2"><span class="interfaceName">PlayerMessage.Sender</span></a></li>
|
||||
<li><a href="com/google/android/exoplayer2/PlayerMessage.Target.html" title="interface in com.google.android.exoplayer2"><span class="interfaceName">PlayerMessage.Target</span></a></li>
|
||||
@ -911,7 +926,9 @@
|
||||
<li><a href="com/google/android/exoplayer2/RendererCapabilities.html" title="interface in com.google.android.exoplayer2"><span class="interfaceName">RendererCapabilities</span></a></li>
|
||||
<li><a href="com/google/android/exoplayer2/RendererCapabilities.AdaptiveSupport.html" title="annotation in com.google.android.exoplayer2">RendererCapabilities.AdaptiveSupport</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2">RendererCapabilities.Capabilities</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/RendererCapabilities.DecoderSupport.html" title="annotation in com.google.android.exoplayer2">RendererCapabilities.DecoderSupport</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/RendererCapabilities.FormatSupport.html" title="annotation in com.google.android.exoplayer2">RendererCapabilities.FormatSupport</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/RendererCapabilities.HardwareAccelerationSupport.html" title="annotation in com.google.android.exoplayer2">RendererCapabilities.HardwareAccelerationSupport</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/RendererCapabilities.TunnelingSupport.html" title="annotation in com.google.android.exoplayer2">RendererCapabilities.TunnelingSupport</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/RendererConfiguration.html" title="class in com.google.android.exoplayer2">RendererConfiguration</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/RenderersFactory.html" title="interface in com.google.android.exoplayer2"><span class="interfaceName">RenderersFactory</span></a></li>
|
||||
@ -969,8 +986,9 @@
|
||||
<li><a href="com/google/android/exoplayer2/extractor/ts/SeiReader.html" title="class in com.google.android.exoplayer2.extractor.ts">SeiReader</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/SequenceableLoader.html" title="interface in com.google.android.exoplayer2.source"><span class="interfaceName">SequenceableLoader</span></a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/SequenceableLoader.Callback.html" title="interface in com.google.android.exoplayer2.source"><span class="interfaceName">SequenceableLoader.Callback</span></a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/ads/ServerSideInsertedAdsMediaSource.html" title="class in com.google.android.exoplayer2.source.ads">ServerSideInsertedAdsMediaSource</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/ads/ServerSideInsertedAdsUtil.html" title="class in com.google.android.exoplayer2.source.ads">ServerSideInsertedAdsUtil</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/ads/ServerSideAdInsertionMediaSource.html" title="class in com.google.android.exoplayer2.source.ads">ServerSideAdInsertionMediaSource</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/ads/ServerSideAdInsertionMediaSource.AdPlaybackStateUpdater.html" title="interface in com.google.android.exoplayer2.source.ads"><span class="interfaceName">ServerSideAdInsertionMediaSource.AdPlaybackStateUpdater</span></a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/ads/ServerSideAdInsertionUtil.html" title="class in com.google.android.exoplayer2.source.ads">ServerSideAdInsertionUtil</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/source/dash/manifest/ServiceDescriptionElement.html" title="class in com.google.android.exoplayer2.source.dash.manifest">ServiceDescriptionElement</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/ext/cast/SessionAvailabilityListener.html" title="interface in com.google.android.exoplayer2.ext.cast"><span class="interfaceName">SessionAvailabilityListener</span></a></li>
|
||||
<li><a href="com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.html" title="class in com.google.android.exoplayer2.ext.media2">SessionCallbackBuilder</a></li>
|
||||
@ -1132,13 +1150,14 @@
|
||||
<li><a href="com/google/android/exoplayer2/trackselection/TrackSelectorResult.html" title="class in com.google.android.exoplayer2.trackselection">TrackSelectorResult</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/TracksInfo.html" title="class in com.google.android.exoplayer2">TracksInfo</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/TracksInfo.TrackGroupInfo.html" title="class in com.google.android.exoplayer2">TracksInfo.TrackGroupInfo</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/transformer/TranscodingTransformer.html" title="class in com.google.android.exoplayer2.transformer">TranscodingTransformer</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/transformer/TranscodingTransformer.Builder.html" title="class in com.google.android.exoplayer2.transformer">TranscodingTransformer.Builder</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/transformer/TranscodingTransformer.Listener.html" title="interface in com.google.android.exoplayer2.transformer"><span class="interfaceName">TranscodingTransformer.Listener</span></a></li>
|
||||
<li><a href="com/google/android/exoplayer2/transformer/TranscodingTransformer.ProgressState.html" title="annotation in com.google.android.exoplayer2.transformer">TranscodingTransformer.ProgressState</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/upstream/TransferListener.html" title="interface in com.google.android.exoplayer2.upstream"><span class="interfaceName">TransferListener</span></a></li>
|
||||
<li><a href="com/google/android/exoplayer2/transformer/TransformationException.html" title="class in com.google.android.exoplayer2.transformer">TransformationException</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/transformer/TransformationException.ErrorCode.html" title="annotation in com.google.android.exoplayer2.transformer">TransformationException.ErrorCode</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/transformer/TransformationRequest.html" title="class in com.google.android.exoplayer2.transformer">TransformationRequest</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/transformer/TransformationRequest.Builder.html" title="class in com.google.android.exoplayer2.transformer">TransformationRequest.Builder</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/transformer/Transformer.html" title="class in com.google.android.exoplayer2.transformer">Transformer</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/transformer/Transformer.Builder.html" title="class in com.google.android.exoplayer2.transformer">Transformer.Builder</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/transformer/Transformer.DebugViewProvider.html" title="interface in com.google.android.exoplayer2.transformer"><span class="interfaceName">Transformer.DebugViewProvider</span></a></li>
|
||||
<li><a href="com/google/android/exoplayer2/transformer/Transformer.Listener.html" title="interface in com.google.android.exoplayer2.transformer"><span class="interfaceName">Transformer.Listener</span></a></li>
|
||||
<li><a href="com/google/android/exoplayer2/transformer/Transformer.ProgressState.html" title="annotation in com.google.android.exoplayer2.transformer">Transformer.ProgressState</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/extractor/TrueHdSampleRechunker.html" title="class in com.google.android.exoplayer2.extractor">TrueHdSampleRechunker</a></li>
|
||||
@ -1175,6 +1194,7 @@
|
||||
<li><a href="com/google/android/exoplayer2/video/VideoSize.html" title="class in com.google.android.exoplayer2.video">VideoSize</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/extractor/VorbisBitArray.html" title="class in com.google.android.exoplayer2.extractor">VorbisBitArray</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/metadata/flac/VorbisComment.html" title="class in com.google.android.exoplayer2.metadata.flac">VorbisComment</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/metadata/vorbis/VorbisComment.html" title="class in com.google.android.exoplayer2.metadata.vorbis">VorbisComment</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/extractor/VorbisUtil.html" title="class in com.google.android.exoplayer2.extractor">VorbisUtil</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/extractor/VorbisUtil.CommentHeader.html" title="class in com.google.android.exoplayer2.extractor">VorbisUtil.CommentHeader</a></li>
|
||||
<li><a href="com/google/android/exoplayer2/extractor/VorbisUtil.Mode.html" title="class in com.google.android.exoplayer2.extractor">VorbisUtil.Mode</a></li>
|
||||
|
@ -268,158 +268,162 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/metadata/vorbis/package-summary.html">com.google.android.exoplayer2.metadata.vorbis</a></th>
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/offline/package-summary.html">com.google.android.exoplayer2.offline</a></th>
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<tr class="rowColor">
|
||||
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/robolectric/package-summary.html">com.google.android.exoplayer2.robolectric</a></th>
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<tr class="altColor">
|
||||
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/scheduler/package-summary.html">com.google.android.exoplayer2.scheduler</a></th>
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<tr class="rowColor">
|
||||
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/source/package-summary.html">com.google.android.exoplayer2.source</a></th>
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<tr class="altColor">
|
||||
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/source/ads/package-summary.html">com.google.android.exoplayer2.source.ads</a></th>
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<tr class="rowColor">
|
||||
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/source/chunk/package-summary.html">com.google.android.exoplayer2.source.chunk</a></th>
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<tr class="altColor">
|
||||
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/source/dash/package-summary.html">com.google.android.exoplayer2.source.dash</a></th>
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<tr class="rowColor">
|
||||
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/source/dash/manifest/package-summary.html">com.google.android.exoplayer2.source.dash.manifest</a></th>
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<tr class="altColor">
|
||||
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/source/dash/offline/package-summary.html">com.google.android.exoplayer2.source.dash.offline</a></th>
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<tr class="rowColor">
|
||||
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/source/hls/package-summary.html">com.google.android.exoplayer2.source.hls</a></th>
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<tr class="altColor">
|
||||
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/source/hls/offline/package-summary.html">com.google.android.exoplayer2.source.hls.offline</a></th>
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<tr class="rowColor">
|
||||
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/source/hls/playlist/package-summary.html">com.google.android.exoplayer2.source.hls.playlist</a></th>
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<tr class="altColor">
|
||||
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/source/mediaparser/package-summary.html">com.google.android.exoplayer2.source.mediaparser</a></th>
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<tr class="rowColor">
|
||||
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/source/rtsp/package-summary.html">com.google.android.exoplayer2.source.rtsp</a></th>
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<tr class="altColor">
|
||||
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/source/rtsp/reader/package-summary.html">com.google.android.exoplayer2.source.rtsp.reader</a></th>
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<tr class="rowColor">
|
||||
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/source/smoothstreaming/package-summary.html">com.google.android.exoplayer2.source.smoothstreaming</a></th>
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<tr class="altColor">
|
||||
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/source/smoothstreaming/manifest/package-summary.html">com.google.android.exoplayer2.source.smoothstreaming.manifest</a></th>
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<tr class="rowColor">
|
||||
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/source/smoothstreaming/offline/package-summary.html">com.google.android.exoplayer2.source.smoothstreaming.offline</a></th>
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<tr class="altColor">
|
||||
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/testutil/package-summary.html">com.google.android.exoplayer2.testutil</a></th>
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<tr class="rowColor">
|
||||
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/testutil/truth/package-summary.html">com.google.android.exoplayer2.testutil.truth</a></th>
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<tr class="altColor">
|
||||
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/text/package-summary.html">com.google.android.exoplayer2.text</a></th>
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<tr class="rowColor">
|
||||
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/text/cea/package-summary.html">com.google.android.exoplayer2.text.cea</a></th>
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<tr class="altColor">
|
||||
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/text/dvb/package-summary.html">com.google.android.exoplayer2.text.dvb</a></th>
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<tr class="rowColor">
|
||||
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/text/pgs/package-summary.html">com.google.android.exoplayer2.text.pgs</a></th>
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<tr class="altColor">
|
||||
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/text/span/package-summary.html">com.google.android.exoplayer2.text.span</a></th>
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<tr class="rowColor">
|
||||
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/text/ssa/package-summary.html">com.google.android.exoplayer2.text.ssa</a></th>
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<tr class="altColor">
|
||||
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/text/subrip/package-summary.html">com.google.android.exoplayer2.text.subrip</a></th>
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<tr class="rowColor">
|
||||
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/text/ttml/package-summary.html">com.google.android.exoplayer2.text.ttml</a></th>
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<tr class="altColor">
|
||||
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/text/tx3g/package-summary.html">com.google.android.exoplayer2.text.tx3g</a></th>
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<tr class="rowColor">
|
||||
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/text/webvtt/package-summary.html">com.google.android.exoplayer2.text.webvtt</a></th>
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<tr class="altColor">
|
||||
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/trackselection/package-summary.html">com.google.android.exoplayer2.trackselection</a></th>
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<tr class="rowColor">
|
||||
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/transformer/package-summary.html">com.google.android.exoplayer2.transformer</a></th>
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<tr class="altColor">
|
||||
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/ui/package-summary.html">com.google.android.exoplayer2.ui</a></th>
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<tr class="rowColor">
|
||||
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/upstream/package-summary.html">com.google.android.exoplayer2.upstream</a></th>
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<tr class="altColor">
|
||||
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/upstream/cache/package-summary.html">com.google.android.exoplayer2.upstream.cache</a></th>
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<tr class="rowColor">
|
||||
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/upstream/crypto/package-summary.html">com.google.android.exoplayer2.upstream.crypto</a></th>
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<tr class="altColor">
|
||||
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/util/package-summary.html">com.google.android.exoplayer2.util</a></th>
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<tr class="rowColor">
|
||||
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/video/package-summary.html">com.google.android.exoplayer2.video</a></th>
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<tr class="altColor">
|
||||
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/video/spherical/package-summary.html">com.google.android.exoplayer2.video.spherical</a></th>
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
|
File diff suppressed because one or more lines are too long
@ -25,7 +25,7 @@
|
||||
catch(err) {
|
||||
}
|
||||
//-->
|
||||
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10};
|
||||
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10};
|
||||
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
|
||||
var altColor = "altColor";
|
||||
var rowColor = "rowColor";
|
||||
@ -166,7 +166,7 @@ implements <a href="Renderer.html" title="interface in com.google.android.exopla
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>Nested classes/interfaces inherited from interface com.google.android.exoplayer2.<a href="RendererCapabilities.html" title="interface in com.google.android.exoplayer2">RendererCapabilities</a></h3>
|
||||
<code><a href="RendererCapabilities.AdaptiveSupport.html" title="annotation in com.google.android.exoplayer2">RendererCapabilities.AdaptiveSupport</a>, <a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2">RendererCapabilities.Capabilities</a>, <a href="RendererCapabilities.FormatSupport.html" title="annotation in com.google.android.exoplayer2">RendererCapabilities.FormatSupport</a>, <a href="RendererCapabilities.TunnelingSupport.html" title="annotation in com.google.android.exoplayer2">RendererCapabilities.TunnelingSupport</a></code></li>
|
||||
<code><a href="RendererCapabilities.AdaptiveSupport.html" title="annotation in com.google.android.exoplayer2">RendererCapabilities.AdaptiveSupport</a>, <a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2">RendererCapabilities.Capabilities</a>, <a href="RendererCapabilities.DecoderSupport.html" title="annotation in com.google.android.exoplayer2">RendererCapabilities.DecoderSupport</a>, <a href="RendererCapabilities.FormatSupport.html" title="annotation in com.google.android.exoplayer2">RendererCapabilities.FormatSupport</a>, <a href="RendererCapabilities.HardwareAccelerationSupport.html" title="annotation in com.google.android.exoplayer2">RendererCapabilities.HardwareAccelerationSupport</a>, <a href="RendererCapabilities.TunnelingSupport.html" title="annotation in com.google.android.exoplayer2">RendererCapabilities.TunnelingSupport</a></code></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -190,7 +190,7 @@ implements <a href="Renderer.html" title="interface in com.google.android.exopla
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>Fields inherited from interface com.google.android.exoplayer2.<a href="RendererCapabilities.html" title="interface in com.google.android.exoplayer2">RendererCapabilities</a></h3>
|
||||
<code><a href="RendererCapabilities.html#ADAPTIVE_NOT_SEAMLESS">ADAPTIVE_NOT_SEAMLESS</a>, <a href="RendererCapabilities.html#ADAPTIVE_NOT_SUPPORTED">ADAPTIVE_NOT_SUPPORTED</a>, <a href="RendererCapabilities.html#ADAPTIVE_SEAMLESS">ADAPTIVE_SEAMLESS</a>, <a href="RendererCapabilities.html#ADAPTIVE_SUPPORT_MASK">ADAPTIVE_SUPPORT_MASK</a>, <a href="RendererCapabilities.html#FORMAT_EXCEEDS_CAPABILITIES">FORMAT_EXCEEDS_CAPABILITIES</a>, <a href="RendererCapabilities.html#FORMAT_HANDLED">FORMAT_HANDLED</a>, <a href="RendererCapabilities.html#FORMAT_SUPPORT_MASK">FORMAT_SUPPORT_MASK</a>, <a href="RendererCapabilities.html#FORMAT_UNSUPPORTED_DRM">FORMAT_UNSUPPORTED_DRM</a>, <a href="RendererCapabilities.html#FORMAT_UNSUPPORTED_SUBTYPE">FORMAT_UNSUPPORTED_SUBTYPE</a>, <a href="RendererCapabilities.html#FORMAT_UNSUPPORTED_TYPE">FORMAT_UNSUPPORTED_TYPE</a>, <a href="RendererCapabilities.html#TUNNELING_NOT_SUPPORTED">TUNNELING_NOT_SUPPORTED</a>, <a href="RendererCapabilities.html#TUNNELING_SUPPORT_MASK">TUNNELING_SUPPORT_MASK</a>, <a href="RendererCapabilities.html#TUNNELING_SUPPORTED">TUNNELING_SUPPORTED</a></code></li>
|
||||
<code><a href="RendererCapabilities.html#ADAPTIVE_NOT_SEAMLESS">ADAPTIVE_NOT_SEAMLESS</a>, <a href="RendererCapabilities.html#ADAPTIVE_NOT_SUPPORTED">ADAPTIVE_NOT_SUPPORTED</a>, <a href="RendererCapabilities.html#ADAPTIVE_SEAMLESS">ADAPTIVE_SEAMLESS</a>, <a href="RendererCapabilities.html#ADAPTIVE_SUPPORT_MASK">ADAPTIVE_SUPPORT_MASK</a>, <a href="RendererCapabilities.html#DECODER_SUPPORT_FALLBACK">DECODER_SUPPORT_FALLBACK</a>, <a href="RendererCapabilities.html#DECODER_SUPPORT_PRIMARY">DECODER_SUPPORT_PRIMARY</a>, <a href="RendererCapabilities.html#FORMAT_EXCEEDS_CAPABILITIES">FORMAT_EXCEEDS_CAPABILITIES</a>, <a href="RendererCapabilities.html#FORMAT_HANDLED">FORMAT_HANDLED</a>, <a href="RendererCapabilities.html#FORMAT_SUPPORT_MASK">FORMAT_SUPPORT_MASK</a>, <a href="RendererCapabilities.html#FORMAT_UNSUPPORTED_DRM">FORMAT_UNSUPPORTED_DRM</a>, <a href="RendererCapabilities.html#FORMAT_UNSUPPORTED_SUBTYPE">FORMAT_UNSUPPORTED_SUBTYPE</a>, <a href="RendererCapabilities.html#FORMAT_UNSUPPORTED_TYPE">FORMAT_UNSUPPORTED_TYPE</a>, <a href="RendererCapabilities.html#HARDWARE_ACCELERATION_NOT_SUPPORTED">HARDWARE_ACCELERATION_NOT_SUPPORTED</a>, <a href="RendererCapabilities.html#HARDWARE_ACCELERATION_SUPPORT_MASK">HARDWARE_ACCELERATION_SUPPORT_MASK</a>, <a href="RendererCapabilities.html#HARDWARE_ACCELERATION_SUPPORTED">HARDWARE_ACCELERATION_SUPPORTED</a>, <a href="RendererCapabilities.html#MODE_SUPPORT_MASK">MODE_SUPPORT_MASK</a>, <a href="RendererCapabilities.html#TUNNELING_NOT_SUPPORTED">TUNNELING_NOT_SUPPORTED</a>, <a href="RendererCapabilities.html#TUNNELING_SUPPORT_MASK">TUNNELING_SUPPORT_MASK</a>, <a href="RendererCapabilities.html#TUNNELING_SUPPORTED">TUNNELING_SUPPORTED</a></code></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -316,56 +316,71 @@ implements <a href="Renderer.html" title="interface in com.google.android.exopla
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i10" class="altColor">
|
||||
<td class="colFirst"><code>protected <a href="analytics/PlayerId.html" title="class in com.google.android.exoplayer2.analytics">PlayerId</a></code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getPlayerId()">getPlayerId</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Returns the <a href="analytics/PlayerId.html" title="class in com.google.android.exoplayer2.analytics"><code>PlayerId</code></a> of the player using this renderer.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i11" class="rowColor">
|
||||
<td class="colFirst"><code>long</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getReadingPositionUs()">getReadingPositionUs</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Returns the renderer time up to which the renderer has read samples, in microseconds, or <a href="C.html#TIME_END_OF_SOURCE"><code>C.TIME_END_OF_SOURCE</code></a> if the renderer has read the current <a href="source/SampleStream.html" title="interface in com.google.android.exoplayer2.source"><code>SampleStream</code></a> to the end.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i11" class="rowColor">
|
||||
<tr id="i12" class="altColor">
|
||||
<td class="colFirst"><code>int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getState()">getState</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Returns the current state of the renderer.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i12" class="altColor">
|
||||
<tr id="i13" class="rowColor">
|
||||
<td class="colFirst"><code><a href="source/SampleStream.html" title="interface in com.google.android.exoplayer2.source">SampleStream</a></code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getStream()">getStream</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Returns the <a href="source/SampleStream.html" title="interface in com.google.android.exoplayer2.source"><code>SampleStream</code></a> being consumed, or null if the renderer is disabled.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i13" class="rowColor">
|
||||
<tr id="i14" class="altColor">
|
||||
<td class="colFirst"><code>protected <a href="Format.html" title="class in com.google.android.exoplayer2">Format</a>[]</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getStreamFormats()">getStreamFormats</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Returns the formats of the currently enabled stream.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i14" class="altColor">
|
||||
<tr id="i15" class="rowColor">
|
||||
<td class="colFirst"><code>@com.google.android.exoplayer2.C.TrackType int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTrackType()">getTrackType</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Returns the track type that the renderer handles.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i15" class="rowColor">
|
||||
<tr id="i16" class="altColor">
|
||||
<td class="colFirst"><code>void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#handleMessage(int,java.lang.Object)">handleMessage</a></span>​(int messageType,
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#handleMessage(@com.google.android.exoplayer2.Renderer.MessageTypeint,java.lang.Object)">handleMessage</a></span>​(@com.google.android.exoplayer2.Renderer.MessageType int messageType,
|
||||
<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a> message)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Handles a message delivered to the target.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i16" class="altColor">
|
||||
<tr id="i17" class="rowColor">
|
||||
<td class="colFirst"><code>boolean</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasReadStreamToEnd()">hasReadStreamToEnd</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Returns whether the renderer has read the current <a href="source/SampleStream.html" title="interface in com.google.android.exoplayer2.source"><code>SampleStream</code></a> to the end.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i17" class="rowColor">
|
||||
<tr id="i18" class="altColor">
|
||||
<td class="colFirst"><code>void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#init(int,com.google.android.exoplayer2.analytics.PlayerId)">init</a></span>​(int index,
|
||||
<a href="analytics/PlayerId.html" title="class in com.google.android.exoplayer2.analytics">PlayerId</a> playerId)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Initializes the renderer for playback with a player.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i19" class="rowColor">
|
||||
<td class="colFirst"><code>boolean</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCurrentStreamFinal()">isCurrentStreamFinal</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
@ -373,28 +388,28 @@ implements <a href="Renderer.html" title="interface in com.google.android.exopla
|
||||
renderer is next disabled or reset.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i18" class="altColor">
|
||||
<tr id="i20" class="altColor">
|
||||
<td class="colFirst"><code>protected boolean</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isSourceReady()">isSourceReady</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Returns whether the upstream source is ready.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i19" class="rowColor">
|
||||
<tr id="i21" class="rowColor">
|
||||
<td class="colFirst"><code>void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#maybeThrowStreamError()">maybeThrowStreamError</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Throws an error that's preventing the renderer from reading from its <a href="source/SampleStream.html" title="interface in com.google.android.exoplayer2.source"><code>SampleStream</code></a>.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i20" class="altColor">
|
||||
<tr id="i22" class="altColor">
|
||||
<td class="colFirst"><code>protected void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onDisabled()">onDisabled</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Called when the renderer is disabled.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i21" class="rowColor">
|
||||
<tr id="i23" class="rowColor">
|
||||
<td class="colFirst"><code>protected void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onEnabled(boolean,boolean)">onEnabled</a></span>​(boolean joining,
|
||||
boolean mayRenderStartOfStream)</code></th>
|
||||
@ -402,7 +417,7 @@ implements <a href="Renderer.html" title="interface in com.google.android.exopla
|
||||
<div class="block">Called when the renderer is enabled.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i22" class="altColor">
|
||||
<tr id="i24" class="altColor">
|
||||
<td class="colFirst"><code>protected void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onPositionReset(long,boolean)">onPositionReset</a></span>​(long positionUs,
|
||||
boolean joining)</code></th>
|
||||
@ -410,28 +425,28 @@ implements <a href="Renderer.html" title="interface in com.google.android.exopla
|
||||
<div class="block">Called when the position is reset.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i23" class="rowColor">
|
||||
<tr id="i25" class="rowColor">
|
||||
<td class="colFirst"><code>protected void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onReset()">onReset</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Called when the renderer is reset.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i24" class="altColor">
|
||||
<tr id="i26" class="altColor">
|
||||
<td class="colFirst"><code>protected void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onStarted()">onStarted</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Called when the renderer is started.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i25" class="rowColor">
|
||||
<tr id="i27" class="rowColor">
|
||||
<td class="colFirst"><code>protected void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onStopped()">onStopped</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Called when the renderer is stopped.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i26" class="altColor">
|
||||
<tr id="i28" class="altColor">
|
||||
<td class="colFirst"><code>protected void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onStreamChanged(com.google.android.exoplayer2.Format%5B%5D,long,long)">onStreamChanged</a></span>​(<a href="Format.html" title="class in com.google.android.exoplayer2">Format</a>[] formats,
|
||||
long startPositionUs,
|
||||
@ -440,16 +455,16 @@ implements <a href="Renderer.html" title="interface in com.google.android.exopla
|
||||
<div class="block">Called when the renderer's stream has changed.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i27" class="rowColor">
|
||||
<td class="colFirst"><code>protected int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#readSource(com.google.android.exoplayer2.FormatHolder,com.google.android.exoplayer2.decoder.DecoderInputBuffer,int)">readSource</a></span>​(<a href="FormatHolder.html" title="class in com.google.android.exoplayer2">FormatHolder</a> formatHolder,
|
||||
<tr id="i29" class="rowColor">
|
||||
<td class="colFirst"><code>protected @com.google.android.exoplayer2.source.SampleStream.ReadDataResult int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#readSource(com.google.android.exoplayer2.FormatHolder,com.google.android.exoplayer2.decoder.DecoderInputBuffer,@com.google.android.exoplayer2.source.SampleStream.ReadFlagsint)">readSource</a></span>​(<a href="FormatHolder.html" title="class in com.google.android.exoplayer2">FormatHolder</a> formatHolder,
|
||||
<a href="decoder/DecoderInputBuffer.html" title="class in com.google.android.exoplayer2.decoder">DecoderInputBuffer</a> buffer,
|
||||
int readFlags)</code></th>
|
||||
@com.google.android.exoplayer2.source.SampleStream.ReadFlags int readFlags)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Reads from the enabled upstream source.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i28" class="altColor">
|
||||
<tr id="i30" class="altColor">
|
||||
<td class="colFirst"><code>void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#replaceStream(com.google.android.exoplayer2.Format%5B%5D,com.google.android.exoplayer2.source.SampleStream,long,long)">replaceStream</a></span>​(<a href="Format.html" title="class in com.google.android.exoplayer2">Format</a>[] formats,
|
||||
<a href="source/SampleStream.html" title="interface in com.google.android.exoplayer2.source">SampleStream</a> stream,
|
||||
@ -459,21 +474,21 @@ implements <a href="Renderer.html" title="interface in com.google.android.exopla
|
||||
<div class="block">Replaces the <a href="source/SampleStream.html" title="interface in com.google.android.exoplayer2.source"><code>SampleStream</code></a> from which samples will be consumed.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i29" class="rowColor">
|
||||
<tr id="i31" class="rowColor">
|
||||
<td class="colFirst"><code>void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#reset()">reset</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Forces the renderer to give up any resources (e.g.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i30" class="altColor">
|
||||
<tr id="i32" class="altColor">
|
||||
<td class="colFirst"><code>void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#resetPosition(long)">resetPosition</a></span>​(long positionUs)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Signals to the renderer that a position discontinuity has occurred.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i31" class="rowColor">
|
||||
<tr id="i33" class="rowColor">
|
||||
<td class="colFirst"><code>void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setCurrentStreamFinal()">setCurrentStreamFinal</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
@ -481,14 +496,7 @@ implements <a href="Renderer.html" title="interface in com.google.android.exopla
|
||||
before it is next disabled or reset.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i32" class="altColor">
|
||||
<td class="colFirst"><code>void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setIndex(int)">setIndex</a></span>​(int index)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Sets the index of this renderer within the player.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i33" class="rowColor">
|
||||
<tr id="i34" class="altColor">
|
||||
<td class="colFirst"><code>protected int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#skipSource(long)">skipSource</a></span>​(long positionUs)</code></th>
|
||||
<td class="colLast">
|
||||
@ -496,7 +504,7 @@ implements <a href="Renderer.html" title="interface in com.google.android.exopla
|
||||
<code>positionUs</code> is beyond it.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i34" class="altColor">
|
||||
<tr id="i35" class="rowColor">
|
||||
<td class="colFirst"><code>void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#start()">start</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
@ -504,15 +512,15 @@ implements <a href="Renderer.html" title="interface in com.google.android.exopla
|
||||
rendered.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i35" class="rowColor">
|
||||
<tr id="i36" class="altColor">
|
||||
<td class="colFirst"><code>void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#stop()">stop</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Stops the renderer, transitioning it to the <a href="Renderer.html#STATE_ENABLED"><code>Renderer.STATE_ENABLED</code></a> state.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i36" class="altColor">
|
||||
<td class="colFirst"><code>int</code></td>
|
||||
<tr id="i37" class="rowColor">
|
||||
<td class="colFirst"><code>@com.google.android.exoplayer2.RendererCapabilities.AdaptiveSupport int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#supportsMixedMimeTypeAdaptation()">supportsMixedMimeTypeAdaptation</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Returns the extent to which the <a href="Renderer.html" title="interface in com.google.android.exoplayer2"><code>Renderer</code></a> supports adapting between supported formats
|
||||
@ -619,20 +627,22 @@ implements <a href="Renderer.html" title="interface in com.google.android.exopla
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="setIndex(int)">
|
||||
<a id="init(int,com.google.android.exoplayer2.analytics.PlayerId)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>setIndex</h4>
|
||||
<pre class="methodSignature">public final void setIndex​(int index)</pre>
|
||||
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Renderer.html#setIndex(int)">Renderer</a></code></span></div>
|
||||
<div class="block">Sets the index of this renderer within the player.</div>
|
||||
<h4>init</h4>
|
||||
<pre class="methodSignature">public final void init​(int index,
|
||||
<a href="analytics/PlayerId.html" title="class in com.google.android.exoplayer2.analytics">PlayerId</a> playerId)</pre>
|
||||
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Renderer.html#init(int,com.google.android.exoplayer2.analytics.PlayerId)">Renderer</a></code></span></div>
|
||||
<div class="block">Initializes the renderer for playback with a player.</div>
|
||||
<dl>
|
||||
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
|
||||
<dd><code><a href="Renderer.html#setIndex(int)">setIndex</a></code> in interface <code><a href="Renderer.html" title="interface in com.google.android.exoplayer2">Renderer</a></code></dd>
|
||||
<dd><code><a href="Renderer.html#init(int,com.google.android.exoplayer2.analytics.PlayerId)">init</a></code> in interface <code><a href="Renderer.html" title="interface in com.google.android.exoplayer2">Renderer</a></code></dd>
|
||||
<dt><span class="paramLabel">Parameters:</span></dt>
|
||||
<dd><code>index</code> - The renderer index.</dd>
|
||||
<dd><code>index</code> - The renderer index within the player.</dd>
|
||||
<dd><code>playerId</code> - The <a href="analytics/PlayerId.html" title="class in com.google.android.exoplayer2.analytics"><code>PlayerId</code></a> of the player.</dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
@ -950,9 +960,8 @@ public final <a href="source/SampleStream.html" title="interface in com.goo
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>supportsMixedMimeTypeAdaptation</h4>
|
||||
<pre class="methodSignature"><a href="RendererCapabilities.AdaptiveSupport.html" title="annotation in com.google.android.exoplayer2">@AdaptiveSupport</a>
|
||||
public int supportsMixedMimeTypeAdaptation()
|
||||
throws <a href="ExoPlaybackException.html" title="class in com.google.android.exoplayer2">ExoPlaybackException</a></pre>
|
||||
<pre class="methodSignature">public @com.google.android.exoplayer2.RendererCapabilities.AdaptiveSupport int supportsMixedMimeTypeAdaptation()
|
||||
throws <a href="ExoPlaybackException.html" title="class in com.google.android.exoplayer2">ExoPlaybackException</a></pre>
|
||||
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="RendererCapabilities.html#supportsMixedMimeTypeAdaptation()">RendererCapabilities</a></code></span></div>
|
||||
<div class="block">Returns the extent to which the <a href="Renderer.html" title="interface in com.google.android.exoplayer2"><code>Renderer</code></a> supports adapting between supported formats
|
||||
that have different MIME types.</div>
|
||||
@ -967,22 +976,21 @@ public int supportsMixedMimeTypeAdaptation()
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="handleMessage(int,java.lang.Object)">
|
||||
<a id="handleMessage(@com.google.android.exoplayer2.Renderer.MessageTypeint,java.lang.Object)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>handleMessage</h4>
|
||||
<pre class="methodSignature">public void handleMessage​(<a href="Renderer.MessageType.html" title="annotation in com.google.android.exoplayer2">@MessageType</a>
|
||||
int messageType,
|
||||
<pre class="methodSignature">public void handleMessage​(@com.google.android.exoplayer2.Renderer.MessageType int messageType,
|
||||
@Nullable
|
||||
<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a> message)
|
||||
throws <a href="ExoPlaybackException.html" title="class in com.google.android.exoplayer2">ExoPlaybackException</a></pre>
|
||||
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="PlayerMessage.Target.html#handleMessage(int,java.lang.Object)">PlayerMessage.Target</a></code></span></div>
|
||||
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="PlayerMessage.Target.html#handleMessage(@com.google.android.exoplayer2.Renderer.MessageTypeint,java.lang.Object)">PlayerMessage.Target</a></code></span></div>
|
||||
<div class="block">Handles a message delivered to the target.</div>
|
||||
<dl>
|
||||
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
|
||||
<dd><code><a href="PlayerMessage.Target.html#handleMessage(int,java.lang.Object)">handleMessage</a></code> in interface <code><a href="PlayerMessage.Target.html" title="interface in com.google.android.exoplayer2">PlayerMessage.Target</a></code></dd>
|
||||
<dd><code><a href="PlayerMessage.Target.html#handleMessage(@com.google.android.exoplayer2.Renderer.MessageTypeint,java.lang.Object)">handleMessage</a></code> in interface <code><a href="PlayerMessage.Target.html" title="interface in com.google.android.exoplayer2">PlayerMessage.Target</a></code></dd>
|
||||
<dt><span class="paramLabel">Parameters:</span></dt>
|
||||
<dd><code>messageType</code> - The message type.</dd>
|
||||
<dd><code>message</code> - The message payload.</dd>
|
||||
@ -1033,7 +1041,7 @@ public int supportsMixedMimeTypeAdaptation()
|
||||
<dt><span class="paramLabel">Parameters:</span></dt>
|
||||
<dd><code>formats</code> - The enabled formats.</dd>
|
||||
<dd><code>startPositionUs</code> - The start position of the new stream in renderer time (microseconds).</dd>
|
||||
<dd><code>offsetUs</code> - The offset that will be added to the timestamps of buffers read via <a href="#readSource(com.google.android.exoplayer2.FormatHolder,com.google.android.exoplayer2.decoder.DecoderInputBuffer,int)"><code>readSource(com.google.android.exoplayer2.FormatHolder, com.google.android.exoplayer2.decoder.DecoderInputBuffer, int)</code></a> so that decoder input buffers have monotonically increasing timestamps.</dd>
|
||||
<dd><code>offsetUs</code> - The offset that will be added to the timestamps of buffers read via <a href="#readSource(com.google.android.exoplayer2.FormatHolder,com.google.android.exoplayer2.decoder.DecoderInputBuffer,@com.google.android.exoplayer2.source.SampleStream.ReadFlagsint)"><code>readSource(com.google.android.exoplayer2.FormatHolder, com.google.android.exoplayer2.decoder.DecoderInputBuffer, @com.google.android.exoplayer2.source.SampleStream.ReadFlags int)</code></a> so that decoder input buffers have monotonically increasing timestamps.</dd>
|
||||
<dt><span class="throwsLabel">Throws:</span></dt>
|
||||
<dd><code><a href="ExoPlaybackException.html" title="class in com.google.android.exoplayer2">ExoPlaybackException</a></code> - If an error occurs.</dd>
|
||||
</dl>
|
||||
@ -1168,7 +1176,21 @@ public int supportsMixedMimeTypeAdaptation()
|
||||
<li class="blockList">
|
||||
<h4>getIndex</h4>
|
||||
<pre class="methodSignature">protected final int getIndex()</pre>
|
||||
<div class="block">Returns the index of the renderer within the player.</div>
|
||||
<div class="block">Returns the index of the renderer within the player.
|
||||
|
||||
<p>Must only be used after the renderer has been initialized by the player.</div>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="getPlayerId()">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>getPlayerId</h4>
|
||||
<pre class="methodSignature">protected final <a href="analytics/PlayerId.html" title="class in com.google.android.exoplayer2.analytics">PlayerId</a> getPlayerId()</pre>
|
||||
<div class="block">Returns the <a href="analytics/PlayerId.html" title="class in com.google.android.exoplayer2.analytics"><code>PlayerId</code></a> of the player using this renderer.
|
||||
|
||||
<p>Must only be used after the renderer has been initialized by the player.</div>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="createRendererException(java.lang.Throwable,com.google.android.exoplayer2.Format,@com.google.android.exoplayer2.PlaybackException.ErrorCodeint)">
|
||||
@ -1222,17 +1244,15 @@ public int supportsMixedMimeTypeAdaptation()
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="readSource(com.google.android.exoplayer2.FormatHolder,com.google.android.exoplayer2.decoder.DecoderInputBuffer,int)">
|
||||
<a id="readSource(com.google.android.exoplayer2.FormatHolder,com.google.android.exoplayer2.decoder.DecoderInputBuffer,@com.google.android.exoplayer2.source.SampleStream.ReadFlagsint)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>readSource</h4>
|
||||
<pre class="methodSignature"><a href="source/SampleStream.ReadDataResult.html" title="annotation in com.google.android.exoplayer2.source">@ReadDataResult</a>
|
||||
protected final int readSource​(<a href="FormatHolder.html" title="class in com.google.android.exoplayer2">FormatHolder</a> formatHolder,
|
||||
<a href="decoder/DecoderInputBuffer.html" title="class in com.google.android.exoplayer2.decoder">DecoderInputBuffer</a> buffer,
|
||||
<a href="source/SampleStream.ReadFlags.html" title="annotation in com.google.android.exoplayer2.source">@ReadFlags</a>
|
||||
int readFlags)</pre>
|
||||
<pre class="methodSignature">protected final @com.google.android.exoplayer2.source.SampleStream.ReadDataResult int readSource​(<a href="FormatHolder.html" title="class in com.google.android.exoplayer2">FormatHolder</a> formatHolder,
|
||||
<a href="decoder/DecoderInputBuffer.html" title="class in com.google.android.exoplayer2.decoder">DecoderInputBuffer</a> buffer,
|
||||
@com.google.android.exoplayer2.source.SampleStream.ReadFlags int readFlags)</pre>
|
||||
<div class="block">Reads from the enabled upstream source. If the upstream source has been read to the end then
|
||||
<a href="C.html#RESULT_BUFFER_READ"><code>C.RESULT_BUFFER_READ</code></a> is only returned if <a href="#setCurrentStreamFinal()"><code>setCurrentStreamFinal()</code></a> has been
|
||||
called. <a href="C.html#RESULT_NOTHING_READ"><code>C.RESULT_NOTHING_READ</code></a> is returned otherwise.
|
||||
|
@ -238,7 +238,7 @@ extends <a href="https://developer.android.com/reference/android/os/Binder.html"
|
||||
<th class="colLast" scope="col">Description</th>
|
||||
</tr>
|
||||
<tr id="i0" class="altColor">
|
||||
<td class="colFirst"><code>static <a href="https://guava.dev/releases/27.1-android/api/docs/com/google/common/collect/ImmutableList.html?is-external=true" title="class or interface in com.google.common.collect" class="externalLink">ImmutableList</a><<a href="https://developer.android.com/reference/android/os/Bundle.html" title="class or interface in android.os" class="externalLink" target="_top">Bundle</a>></code></td>
|
||||
<td class="colFirst"><code>static <a href="https://guava.dev/releases/31.0.1-android/api/docs/com/google/common/collect/ImmutableList.html?is-external=true" title="class or interface in com.google.common.collect" class="externalLink">ImmutableList</a><<a href="https://developer.android.com/reference/android/os/Bundle.html" title="class or interface in android.os" class="externalLink" target="_top">Bundle</a>></code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getList(android.os.IBinder)">getList</a></span>​(<a href="https://developer.android.com/reference/android/os/IBinder.html" title="class or interface in android.os" class="externalLink" target="_top">IBinder</a> binder)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Gets a list of <a href="https://developer.android.com/reference/android/os/Bundle.html" title="class or interface in android.os" class="externalLink"><code>Bundles</code></a> from a <a href="BundleListRetriever.html" title="class in com.google.android.exoplayer2" target="_top"><code>BundleListRetriever</code></a>.</div>
|
||||
@ -329,7 +329,7 @@ extends <a href="https://developer.android.com/reference/android/os/Binder.html"
|
||||
<ul class="blockListLast">
|
||||
<li class="blockList">
|
||||
<h4>getList</h4>
|
||||
<pre class="methodSignature">public static <a href="https://guava.dev/releases/27.1-android/api/docs/com/google/common/collect/ImmutableList.html?is-external=true" title="class or interface in com.google.common.collect" class="externalLink">ImmutableList</a><<a href="https://developer.android.com/reference/android/os/Bundle.html" title="class or interface in android.os" class="externalLink">Bundle</a>> getList​(<a href="https://developer.android.com/reference/android/os/IBinder.html?is-external=true" title="class or interface in android.os" class="externalLink" target="_top">IBinder</a> binder)</pre>
|
||||
<pre class="methodSignature">public static <a href="https://guava.dev/releases/31.0.1-android/api/docs/com/google/common/collect/ImmutableList.html?is-external=true" title="class or interface in com.google.common.collect" class="externalLink">ImmutableList</a><<a href="https://developer.android.com/reference/android/os/Bundle.html" title="class or interface in android.os" class="externalLink">Bundle</a>> getList​(<a href="https://developer.android.com/reference/android/os/IBinder.html?is-external=true" title="class or interface in android.os" class="externalLink" target="_top">IBinder</a> binder)</pre>
|
||||
<div class="block">Gets a list of <a href="https://developer.android.com/reference/android/os/Bundle.html" title="class or interface in android.os" class="externalLink"><code>Bundles</code></a> from a <a href="BundleListRetriever.html" title="class in com.google.android.exoplayer2" target="_top"><code>BundleListRetriever</code></a>.</div>
|
||||
<dl>
|
||||
<dt><span class="paramLabel">Parameters:</span></dt>
|
||||
|
File diff suppressed because one or more lines are too long
@ -115,6 +115,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
<hr>
|
||||
<pre><a href="https://developer.android.com/reference/java/lang/annotation/Documented.html" title="class or interface in java.lang.annotation" class="externalLink" target="_top">@Documented</a>
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Retention.html" title="class or interface in java.lang.annotation" class="externalLink">@Retention</a>(<a href="https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html?is-external=true#SOURCE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">SOURCE</a>)
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Target.html" title="class or interface in java.lang.annotation" class="externalLink">@Target</a>(<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#TYPE_USE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">TYPE_USE</a>)
|
||||
public static @interface <span class="memberNameLabel">C.BufferFlags</span></pre>
|
||||
<div class="block">Flags which can apply to a buffer containing a media sample. Possible flag values are <a href="C.html#BUFFER_FLAG_KEY_FRAME"><code>C.BUFFER_FLAG_KEY_FRAME</code></a>, <a href="C.html#BUFFER_FLAG_END_OF_STREAM"><code>C.BUFFER_FLAG_END_OF_STREAM</code></a>, <a href="C.html#BUFFER_FLAG_LAST_SAMPLE"><code>C.BUFFER_FLAG_LAST_SAMPLE</code></a>,
|
||||
<a href="C.html#BUFFER_FLAG_ENCRYPTED"><code>C.BUFFER_FLAG_ENCRYPTED</code></a> and <a href="C.html#BUFFER_FLAG_DECODE_ONLY"><code>C.BUFFER_FLAG_DECODE_ONLY</code></a>.</div>
|
||||
|
@ -115,6 +115,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
<hr>
|
||||
<pre><a href="https://developer.android.com/reference/java/lang/annotation/Documented.html" title="class or interface in java.lang.annotation" class="externalLink" target="_top">@Documented</a>
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Retention.html" title="class or interface in java.lang.annotation" class="externalLink">@Retention</a>(<a href="https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html?is-external=true#SOURCE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">SOURCE</a>)
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Target.html" title="class or interface in java.lang.annotation" class="externalLink">@Target</a>(<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#TYPE_USE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">TYPE_USE</a>)
|
||||
public static @interface <span class="memberNameLabel">C.ColorRange</span></pre>
|
||||
<div class="block">Video color range. One of <a href="Format.html#NO_VALUE"><code>Format.NO_VALUE</code></a>, <a href="C.html#COLOR_RANGE_LIMITED"><code>C.COLOR_RANGE_LIMITED</code></a> or <a href="C.html#COLOR_RANGE_FULL"><code>C.COLOR_RANGE_FULL</code></a>.</div>
|
||||
</li>
|
||||
|
@ -115,6 +115,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
<hr>
|
||||
<pre><a href="https://developer.android.com/reference/java/lang/annotation/Documented.html" title="class or interface in java.lang.annotation" class="externalLink" target="_top">@Documented</a>
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Retention.html" title="class or interface in java.lang.annotation" class="externalLink">@Retention</a>(<a href="https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html?is-external=true#SOURCE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">SOURCE</a>)
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Target.html" title="class or interface in java.lang.annotation" class="externalLink">@Target</a>(<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#TYPE_USE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">TYPE_USE</a>)
|
||||
public static @interface <span class="memberNameLabel">C.ColorSpace</span></pre>
|
||||
<div class="block">Video colorspaces. One of <a href="Format.html#NO_VALUE"><code>Format.NO_VALUE</code></a>, <a href="C.html#COLOR_SPACE_BT709"><code>C.COLOR_SPACE_BT709</code></a>, <a href="C.html#COLOR_SPACE_BT601"><code>C.COLOR_SPACE_BT601</code></a> or <a href="C.html#COLOR_SPACE_BT2020"><code>C.COLOR_SPACE_BT2020</code></a>.</div>
|
||||
</li>
|
||||
|
@ -115,6 +115,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
<hr>
|
||||
<pre><a href="https://developer.android.com/reference/java/lang/annotation/Documented.html" title="class or interface in java.lang.annotation" class="externalLink" target="_top">@Documented</a>
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Retention.html" title="class or interface in java.lang.annotation" class="externalLink">@Retention</a>(<a href="https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html?is-external=true#SOURCE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">SOURCE</a>)
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Target.html" title="class or interface in java.lang.annotation" class="externalLink">@Target</a>(<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#TYPE_USE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">TYPE_USE</a>)
|
||||
public static @interface <span class="memberNameLabel">C.ColorTransfer</span></pre>
|
||||
<div class="block">Video color transfer characteristics. One of <a href="Format.html#NO_VALUE"><code>Format.NO_VALUE</code></a>, <a href="C.html#COLOR_TRANSFER_SDR"><code>C.COLOR_TRANSFER_SDR</code></a>, <a href="C.html#COLOR_TRANSFER_ST2084"><code>C.COLOR_TRANSFER_ST2084</code></a> or <a href="C.html#COLOR_TRANSFER_HLG"><code>C.COLOR_TRANSFER_HLG</code></a>.</div>
|
||||
</li>
|
||||
|
@ -115,6 +115,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
<hr>
|
||||
<pre><a href="https://developer.android.com/reference/java/lang/annotation/Documented.html" title="class or interface in java.lang.annotation" class="externalLink" target="_top">@Documented</a>
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Retention.html" title="class or interface in java.lang.annotation" class="externalLink">@Retention</a>(<a href="https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html?is-external=true#SOURCE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">SOURCE</a>)
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Target.html" title="class or interface in java.lang.annotation" class="externalLink">@Target</a>({<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#FIELD" title="class or interface in java.lang.annotation" class="externalLink">FIELD</a>,<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#METHOD" title="class or interface in java.lang.annotation" class="externalLink">METHOD</a>,<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#PARAMETER" title="class or interface in java.lang.annotation" class="externalLink">PARAMETER</a>,<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#LOCAL_VARIABLE" title="class or interface in java.lang.annotation" class="externalLink">LOCAL_VARIABLE</a>,<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#TYPE_USE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">TYPE_USE</a>})
|
||||
public static @interface <span class="memberNameLabel">C.ContentType</span></pre>
|
||||
<div class="block">Represents a streaming or other media type. One of <a href="C.html#TYPE_DASH"><code>C.TYPE_DASH</code></a>, <a href="C.html#TYPE_SS"><code>C.TYPE_SS</code></a>, <a href="C.html#TYPE_HLS"><code>C.TYPE_HLS</code></a>, <a href="C.html#TYPE_RTSP"><code>C.TYPE_RTSP</code></a> or <a href="C.html#TYPE_OTHER"><code>C.TYPE_OTHER</code></a>.</div>
|
||||
</li>
|
||||
|
@ -115,6 +115,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
<hr>
|
||||
<pre><a href="https://developer.android.com/reference/java/lang/annotation/Documented.html" title="class or interface in java.lang.annotation" class="externalLink" target="_top">@Documented</a>
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Retention.html" title="class or interface in java.lang.annotation" class="externalLink">@Retention</a>(<a href="https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html?is-external=true#SOURCE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">SOURCE</a>)
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Target.html" title="class or interface in java.lang.annotation" class="externalLink">@Target</a>(<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#TYPE_USE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">TYPE_USE</a>)
|
||||
public static @interface <span class="memberNameLabel">C.CryptoMode</span></pre>
|
||||
<div class="block">Crypto modes for a codec. One of <a href="C.html#CRYPTO_MODE_UNENCRYPTED"><code>C.CRYPTO_MODE_UNENCRYPTED</code></a>, <a href="C.html#CRYPTO_MODE_AES_CTR"><code>C.CRYPTO_MODE_AES_CTR</code></a>
|
||||
or <a href="C.html#CRYPTO_MODE_AES_CBC"><code>C.CRYPTO_MODE_AES_CBC</code></a>.</div>
|
||||
|
@ -115,6 +115,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
<hr>
|
||||
<pre><a href="https://developer.android.com/reference/java/lang/annotation/Documented.html" title="class or interface in java.lang.annotation" class="externalLink" target="_top">@Documented</a>
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Retention.html" title="class or interface in java.lang.annotation" class="externalLink">@Retention</a>(<a href="https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html?is-external=true#SOURCE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">SOURCE</a>)
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Target.html" title="class or interface in java.lang.annotation" class="externalLink">@Target</a>(<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#TYPE_USE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">TYPE_USE</a>)
|
||||
public static @interface <span class="memberNameLabel">C.DataType</span></pre>
|
||||
<div class="block">Represents a type of data. May be one of <a href="C.html#DATA_TYPE_UNKNOWN"><code>C.DATA_TYPE_UNKNOWN</code></a>, <a href="C.html#DATA_TYPE_MEDIA"><code>C.DATA_TYPE_MEDIA</code></a>,
|
||||
<a href="C.html#DATA_TYPE_MEDIA_INITIALIZATION"><code>C.DATA_TYPE_MEDIA_INITIALIZATION</code></a>, <a href="C.html#DATA_TYPE_DRM"><code>C.DATA_TYPE_DRM</code></a>, <a href="C.html#DATA_TYPE_MANIFEST"><code>C.DATA_TYPE_MANIFEST</code></a>,
|
||||
|
@ -115,6 +115,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
<hr>
|
||||
<pre><a href="https://developer.android.com/reference/java/lang/annotation/Documented.html" title="class or interface in java.lang.annotation" class="externalLink" target="_top">@Documented</a>
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Retention.html" title="class or interface in java.lang.annotation" class="externalLink">@Retention</a>(<a href="https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html?is-external=true#SOURCE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">SOURCE</a>)
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Target.html" title="class or interface in java.lang.annotation" class="externalLink">@Target</a>(<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#TYPE_USE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">TYPE_USE</a>)
|
||||
public static @interface <span class="memberNameLabel">C.Encoding</span></pre>
|
||||
<div class="block">Represents an audio encoding, or an invalid or unset value. One of <a href="Format.html#NO_VALUE"><code>Format.NO_VALUE</code></a>,
|
||||
<a href="C.html#ENCODING_INVALID"><code>C.ENCODING_INVALID</code></a>, <a href="C.html#ENCODING_PCM_8BIT"><code>C.ENCODING_PCM_8BIT</code></a>, <a href="C.html#ENCODING_PCM_16BIT"><code>C.ENCODING_PCM_16BIT</code></a>, <a href="C.html#ENCODING_PCM_16BIT_BIG_ENDIAN"><code>C.ENCODING_PCM_16BIT_BIG_ENDIAN</code></a>, <a href="C.html#ENCODING_PCM_24BIT"><code>C.ENCODING_PCM_24BIT</code></a>, <a href="C.html#ENCODING_PCM_32BIT"><code>C.ENCODING_PCM_32BIT</code></a>,
|
||||
|
@ -115,6 +115,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
<hr>
|
||||
<pre><a href="https://developer.android.com/reference/java/lang/annotation/Documented.html" title="class or interface in java.lang.annotation" class="externalLink" target="_top">@Documented</a>
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Retention.html" title="class or interface in java.lang.annotation" class="externalLink">@Retention</a>(<a href="https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html?is-external=true#SOURCE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">SOURCE</a>)
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Target.html" title="class or interface in java.lang.annotation" class="externalLink">@Target</a>({<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#FIELD" title="class or interface in java.lang.annotation" class="externalLink">FIELD</a>,<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#METHOD" title="class or interface in java.lang.annotation" class="externalLink">METHOD</a>,<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#PARAMETER" title="class or interface in java.lang.annotation" class="externalLink">PARAMETER</a>,<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#LOCAL_VARIABLE" title="class or interface in java.lang.annotation" class="externalLink">LOCAL_VARIABLE</a>,<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#TYPE_USE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">TYPE_USE</a>})
|
||||
public static @interface <span class="memberNameLabel">C.FormatSupport</span></pre>
|
||||
<div class="block">Level of renderer support for a format. One of <a href="C.html#FORMAT_HANDLED"><code>C.FORMAT_HANDLED</code></a>, <a href="C.html#FORMAT_EXCEEDS_CAPABILITIES"><code>C.FORMAT_EXCEEDS_CAPABILITIES</code></a>, <a href="C.html#FORMAT_UNSUPPORTED_DRM"><code>C.FORMAT_UNSUPPORTED_DRM</code></a>, <a href="C.html#FORMAT_UNSUPPORTED_SUBTYPE"><code>C.FORMAT_UNSUPPORTED_SUBTYPE</code></a> or <a href="C.html#FORMAT_UNSUPPORTED_TYPE"><code>C.FORMAT_UNSUPPORTED_TYPE</code></a>.</div>
|
||||
</li>
|
||||
|
@ -115,6 +115,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
<hr>
|
||||
<pre><a href="https://developer.android.com/reference/java/lang/annotation/Documented.html" title="class or interface in java.lang.annotation" class="externalLink" target="_top">@Documented</a>
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Retention.html" title="class or interface in java.lang.annotation" class="externalLink">@Retention</a>(<a href="https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html?is-external=true#SOURCE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">SOURCE</a>)
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Target.html" title="class or interface in java.lang.annotation" class="externalLink">@Target</a>({<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#FIELD" title="class or interface in java.lang.annotation" class="externalLink">FIELD</a>,<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#METHOD" title="class or interface in java.lang.annotation" class="externalLink">METHOD</a>,<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#PARAMETER" title="class or interface in java.lang.annotation" class="externalLink">PARAMETER</a>,<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#LOCAL_VARIABLE" title="class or interface in java.lang.annotation" class="externalLink">LOCAL_VARIABLE</a>,<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#TYPE_USE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">TYPE_USE</a>})
|
||||
public static @interface <span class="memberNameLabel">C.NetworkType</span></pre>
|
||||
<div class="block">Network connection type. One of <a href="C.html#NETWORK_TYPE_UNKNOWN"><code>C.NETWORK_TYPE_UNKNOWN</code></a>, <a href="C.html#NETWORK_TYPE_OFFLINE"><code>C.NETWORK_TYPE_OFFLINE</code></a>,
|
||||
<a href="C.html#NETWORK_TYPE_WIFI"><code>C.NETWORK_TYPE_WIFI</code></a>, <a href="C.html#NETWORK_TYPE_2G"><code>C.NETWORK_TYPE_2G</code></a>, <a href="C.html#NETWORK_TYPE_3G"><code>C.NETWORK_TYPE_3G</code></a>, <a href="C.html#NETWORK_TYPE_4G"><code>C.NETWORK_TYPE_4G</code></a>, <a href="C.html#NETWORK_TYPE_5G_SA"><code>C.NETWORK_TYPE_5G_SA</code></a>, <a href="C.html#NETWORK_TYPE_5G_NSA"><code>C.NETWORK_TYPE_5G_NSA</code></a>, <a href="C.html#NETWORK_TYPE_CELLULAR_UNKNOWN"><code>C.NETWORK_TYPE_CELLULAR_UNKNOWN</code></a>, <a href="C.html#NETWORK_TYPE_ETHERNET"><code>C.NETWORK_TYPE_ETHERNET</code></a> or <a href="C.html#NETWORK_TYPE_OTHER"><code>C.NETWORK_TYPE_OTHER</code></a>.</div>
|
||||
|
@ -115,6 +115,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
<hr>
|
||||
<pre><a href="https://developer.android.com/reference/java/lang/annotation/Documented.html" title="class or interface in java.lang.annotation" class="externalLink" target="_top">@Documented</a>
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Retention.html" title="class or interface in java.lang.annotation" class="externalLink">@Retention</a>(<a href="https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html?is-external=true#SOURCE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">SOURCE</a>)
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Target.html" title="class or interface in java.lang.annotation" class="externalLink">@Target</a>(<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#TYPE_USE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">TYPE_USE</a>)
|
||||
public static @interface <span class="memberNameLabel">C.PcmEncoding</span></pre>
|
||||
<div class="block">Represents a PCM audio encoding, or an invalid or unset value. One of <a href="Format.html#NO_VALUE"><code>Format.NO_VALUE</code></a>,
|
||||
<a href="C.html#ENCODING_INVALID"><code>C.ENCODING_INVALID</code></a>, <a href="C.html#ENCODING_PCM_8BIT"><code>C.ENCODING_PCM_8BIT</code></a>, <a href="C.html#ENCODING_PCM_16BIT"><code>C.ENCODING_PCM_16BIT</code></a>, <a href="C.html#ENCODING_PCM_16BIT_BIG_ENDIAN"><code>C.ENCODING_PCM_16BIT_BIG_ENDIAN</code></a>, <a href="C.html#ENCODING_PCM_24BIT"><code>C.ENCODING_PCM_24BIT</code></a>, <a href="C.html#ENCODING_PCM_32BIT"><code>C.ENCODING_PCM_32BIT</code></a>,
|
||||
|
@ -115,6 +115,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
<hr>
|
||||
<pre><a href="https://developer.android.com/reference/java/lang/annotation/Documented.html" title="class or interface in java.lang.annotation" class="externalLink" target="_top">@Documented</a>
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Retention.html" title="class or interface in java.lang.annotation" class="externalLink">@Retention</a>(<a href="https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html?is-external=true#SOURCE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">SOURCE</a>)
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Target.html" title="class or interface in java.lang.annotation" class="externalLink">@Target</a>(<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#TYPE_USE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">TYPE_USE</a>)
|
||||
public static @interface <span class="memberNameLabel">C.Projection</span></pre>
|
||||
<div class="block">Video projection types.</div>
|
||||
</li>
|
||||
|
@ -115,6 +115,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
<hr>
|
||||
<pre><a href="https://developer.android.com/reference/java/lang/annotation/Documented.html" title="class or interface in java.lang.annotation" class="externalLink" target="_top">@Documented</a>
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Retention.html" title="class or interface in java.lang.annotation" class="externalLink">@Retention</a>(<a href="https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html?is-external=true#SOURCE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">SOURCE</a>)
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Target.html" title="class or interface in java.lang.annotation" class="externalLink">@Target</a>(<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#TYPE_USE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">TYPE_USE</a>)
|
||||
public static @interface <span class="memberNameLabel">C.SelectionReason</span></pre>
|
||||
<div class="block">Represents a reason for selection. May be one of <a href="C.html#SELECTION_REASON_UNKNOWN"><code>C.SELECTION_REASON_UNKNOWN</code></a>, <a href="C.html#SELECTION_REASON_INITIAL"><code>C.SELECTION_REASON_INITIAL</code></a>, <a href="C.html#SELECTION_REASON_MANUAL"><code>C.SELECTION_REASON_MANUAL</code></a>, <a href="C.html#SELECTION_REASON_ADAPTIVE"><code>C.SELECTION_REASON_ADAPTIVE</code></a> or <a href="C.html#SELECTION_REASON_TRICK_PLAY"><code>C.SELECTION_REASON_TRICK_PLAY</code></a>. May also be an app-defined
|
||||
value (see <a href="C.html#SELECTION_REASON_CUSTOM_BASE"><code>C.SELECTION_REASON_CUSTOM_BASE</code></a>).</div>
|
||||
|
@ -2,7 +2,7 @@
|
||||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head><!-- start favicons snippet, use https://realfavicongenerator.net/ --><link rel="apple-touch-icon" sizes="180x180" href="/assets/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="/assets/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/assets/favicon-16x16.png"><link rel="manifest" href="/assets/site.webmanifest"><link rel="mask-icon" href="/assets/safari-pinned-tab.svg" color="#fc4d50"><link rel="shortcut icon" href="/assets/favicon.ico"><meta name="msapplication-TileColor" content="#ffc40d"><meta name="msapplication-config" content="/assets/browserconfig.xml"><meta name="theme-color" content="#ffffff"><!-- end favicons snippet -->
|
||||
<title>C.AudioFocusGain (ExoPlayer library)</title>
|
||||
<title>C.SpatializationBehavior (ExoPlayer library)</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
|
||||
@ -19,7 +19,7 @@
|
||||
<script type="text/javascript"><!--
|
||||
try {
|
||||
if (location.href.indexOf('is-external=true') == -1) {
|
||||
parent.document.title="C.AudioFocusGain (ExoPlayer library)";
|
||||
parent.document.title="C.SpatializationBehavior (ExoPlayer library)";
|
||||
}
|
||||
}
|
||||
catch(err) {
|
||||
@ -106,7 +106,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
<main role="main">
|
||||
<div class="header">
|
||||
<div class="subTitle"><span class="packageLabelInType">Package</span> <a href="package-summary.html">com.google.android.exoplayer2</a></div>
|
||||
<h2 title="Annotation Type C.AudioFocusGain" class="title">Annotation Type C.AudioFocusGain</h2>
|
||||
<h2 title="Annotation Type C.SpatializationBehavior" class="title">Annotation Type C.SpatializationBehavior</h2>
|
||||
</div>
|
||||
<div class="contentContainer">
|
||||
<div class="description">
|
||||
@ -115,8 +115,9 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
<hr>
|
||||
<pre><a href="https://developer.android.com/reference/java/lang/annotation/Documented.html" title="class or interface in java.lang.annotation" class="externalLink" target="_top">@Documented</a>
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Retention.html" title="class or interface in java.lang.annotation" class="externalLink">@Retention</a>(<a href="https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html?is-external=true#SOURCE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">SOURCE</a>)
|
||||
public static @interface <span class="memberNameLabel">C.AudioFocusGain</span></pre>
|
||||
<div class="block">Audio focus types. One of <a href="C.html#AUDIOFOCUS_NONE"><code>C.AUDIOFOCUS_NONE</code></a>, <a href="C.html#AUDIOFOCUS_GAIN"><code>C.AUDIOFOCUS_GAIN</code></a>, <a href="C.html#AUDIOFOCUS_GAIN_TRANSIENT"><code>C.AUDIOFOCUS_GAIN_TRANSIENT</code></a>, <a href="C.html#AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK"><code>C.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK</code></a> or <a href="C.html#AUDIOFOCUS_GAIN_TRANSIENT_EXCLUSIVE"><code>C.AUDIOFOCUS_GAIN_TRANSIENT_EXCLUSIVE</code></a>.</div>
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Target.html" title="class or interface in java.lang.annotation" class="externalLink">@Target</a>(<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#TYPE_USE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">TYPE_USE</a>)
|
||||
public static @interface <span class="memberNameLabel">C.SpatializationBehavior</span></pre>
|
||||
<div class="block">Represents the behavior affecting whether spatialization will be used.</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
@ -115,6 +115,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
<hr>
|
||||
<pre><a href="https://developer.android.com/reference/java/lang/annotation/Documented.html" title="class or interface in java.lang.annotation" class="externalLink" target="_top">@Documented</a>
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Retention.html" title="class or interface in java.lang.annotation" class="externalLink">@Retention</a>(<a href="https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html?is-external=true#SOURCE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">SOURCE</a>)
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Target.html" title="class or interface in java.lang.annotation" class="externalLink">@Target</a>(<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#TYPE_USE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">TYPE_USE</a>)
|
||||
public static @interface <span class="memberNameLabel">C.StereoMode</span></pre>
|
||||
<div class="block">The stereo mode for 360/3D/VR videos. One of <a href="Format.html#NO_VALUE"><code>Format.NO_VALUE</code></a>, <a href="C.html#STEREO_MODE_MONO"><code>C.STEREO_MODE_MONO</code></a>, <a href="C.html#STEREO_MODE_TOP_BOTTOM"><code>C.STEREO_MODE_TOP_BOTTOM</code></a>, <a href="C.html#STEREO_MODE_LEFT_RIGHT"><code>C.STEREO_MODE_LEFT_RIGHT</code></a> or <a href="C.html#STEREO_MODE_STEREO_MESH"><code>C.STEREO_MODE_STEREO_MESH</code></a>.</div>
|
||||
</li>
|
||||
|
@ -115,6 +115,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
<hr>
|
||||
<pre><a href="https://developer.android.com/reference/java/lang/annotation/Documented.html" title="class or interface in java.lang.annotation" class="externalLink" target="_top">@Documented</a>
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Retention.html" title="class or interface in java.lang.annotation" class="externalLink">@Retention</a>(<a href="https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html?is-external=true#SOURCE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">SOURCE</a>)
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Target.html" title="class or interface in java.lang.annotation" class="externalLink">@Target</a>({<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#FIELD" title="class or interface in java.lang.annotation" class="externalLink">FIELD</a>,<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#METHOD" title="class or interface in java.lang.annotation" class="externalLink">METHOD</a>,<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#PARAMETER" title="class or interface in java.lang.annotation" class="externalLink">PARAMETER</a>,<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#LOCAL_VARIABLE" title="class or interface in java.lang.annotation" class="externalLink">LOCAL_VARIABLE</a>,<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#TYPE_USE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">TYPE_USE</a>})
|
||||
public static @interface <span class="memberNameLabel">C.StreamType</span></pre>
|
||||
<div class="block">Stream types for an <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink"><code>AudioTrack</code></a>. One of <a href="C.html#STREAM_TYPE_ALARM"><code>C.STREAM_TYPE_ALARM</code></a>, <a href="C.html#STREAM_TYPE_DTMF"><code>C.STREAM_TYPE_DTMF</code></a>, <a href="C.html#STREAM_TYPE_MUSIC"><code>C.STREAM_TYPE_MUSIC</code></a>, <a href="C.html#STREAM_TYPE_NOTIFICATION"><code>C.STREAM_TYPE_NOTIFICATION</code></a>, <a href="C.html#STREAM_TYPE_RING"><code>C.STREAM_TYPE_RING</code></a>, <a href="C.html#STREAM_TYPE_SYSTEM"><code>C.STREAM_TYPE_SYSTEM</code></a>, <a href="C.html#STREAM_TYPE_VOICE_CALL"><code>C.STREAM_TYPE_VOICE_CALL</code></a> or <a href="C.html#STREAM_TYPE_DEFAULT" target="_top"><code>C.STREAM_TYPE_DEFAULT</code></a>.</div>
|
||||
</li>
|
||||
|
@ -115,6 +115,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
<hr>
|
||||
<pre><a href="https://developer.android.com/reference/java/lang/annotation/Documented.html" title="class or interface in java.lang.annotation" class="externalLink" target="_top">@Documented</a>
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Retention.html" title="class or interface in java.lang.annotation" class="externalLink">@Retention</a>(<a href="https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html?is-external=true#SOURCE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">SOURCE</a>)
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Target.html" title="class or interface in java.lang.annotation" class="externalLink">@Target</a>({<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#FIELD" title="class or interface in java.lang.annotation" class="externalLink">FIELD</a>,<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#METHOD" title="class or interface in java.lang.annotation" class="externalLink">METHOD</a>,<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#PARAMETER" title="class or interface in java.lang.annotation" class="externalLink">PARAMETER</a>,<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#LOCAL_VARIABLE" title="class or interface in java.lang.annotation" class="externalLink">LOCAL_VARIABLE</a>,<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#TYPE_USE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">TYPE_USE</a>})
|
||||
public static @interface <span class="memberNameLabel">C.VideoChangeFrameRateStrategy</span></pre>
|
||||
<div class="block">Strategies for calling <a href="https://developer.android.com/reference/android/view/Surface.html#setFrameRate(float,int,int)" title="class or interface in android.view" class="externalLink" target="_top"><code>Surface.setFrameRate(float, int, int)</code></a>.</div>
|
||||
</li>
|
||||
|
@ -115,6 +115,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
<hr>
|
||||
<pre><a href="https://developer.android.com/reference/java/lang/annotation/Documented.html" title="class or interface in java.lang.annotation" class="externalLink" target="_top">@Documented</a>
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Retention.html" title="class or interface in java.lang.annotation" class="externalLink">@Retention</a>(<a href="https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html?is-external=true#SOURCE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">SOURCE</a>)
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Target.html" title="class or interface in java.lang.annotation" class="externalLink">@Target</a>(<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#TYPE_USE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">TYPE_USE</a>)
|
||||
public static @interface <span class="memberNameLabel">C.VideoOutputMode</span></pre>
|
||||
<div class="block">Video decoder output modes. Possible modes are <a href="C.html#VIDEO_OUTPUT_MODE_NONE"><code>C.VIDEO_OUTPUT_MODE_NONE</code></a>, <a href="C.html#VIDEO_OUTPUT_MODE_YUV"><code>C.VIDEO_OUTPUT_MODE_YUV</code></a> and <a href="C.html#VIDEO_OUTPUT_MODE_SURFACE_YUV"><code>C.VIDEO_OUTPUT_MODE_SURFACE_YUV</code></a>.</div>
|
||||
</li>
|
||||
|
@ -115,6 +115,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
<hr>
|
||||
<pre><a href="https://developer.android.com/reference/java/lang/annotation/Documented.html" title="class or interface in java.lang.annotation" class="externalLink" target="_top">@Documented</a>
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Retention.html" title="class or interface in java.lang.annotation" class="externalLink">@Retention</a>(<a href="https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html?is-external=true#SOURCE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">SOURCE</a>)
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Target.html" title="class or interface in java.lang.annotation" class="externalLink">@Target</a>({<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#FIELD" title="class or interface in java.lang.annotation" class="externalLink">FIELD</a>,<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#METHOD" title="class or interface in java.lang.annotation" class="externalLink">METHOD</a>,<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#PARAMETER" title="class or interface in java.lang.annotation" class="externalLink">PARAMETER</a>,<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#LOCAL_VARIABLE" title="class or interface in java.lang.annotation" class="externalLink">LOCAL_VARIABLE</a>,<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#TYPE_USE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">TYPE_USE</a>})
|
||||
public static @interface <span class="memberNameLabel">C.VideoScalingMode</span></pre>
|
||||
<div class="block">Video scaling modes for <a href="https://developer.android.com/reference/android/media/MediaCodec.html" title="class or interface in android.media" class="externalLink"><code>MediaCodec</code></a>-based renderers. One of <a href="C.html#VIDEO_SCALING_MODE_SCALE_TO_FIT"><code>C.VIDEO_SCALING_MODE_SCALE_TO_FIT</code></a>, <a href="C.html#VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING" target="_top"><code>C.VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING</code></a> or
|
||||
<a href="C.html#VIDEO_SCALING_MODE_DEFAULT"><code>C.VIDEO_SCALING_MODE_DEFAULT</code></a>.</div>
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -115,6 +115,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
<hr>
|
||||
<pre><a href="https://developer.android.com/reference/java/lang/annotation/Documented.html" title="class or interface in java.lang.annotation" class="externalLink" target="_top">@Documented</a>
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Retention.html" title="class or interface in java.lang.annotation" class="externalLink">@Retention</a>(<a href="https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html?is-external=true#SOURCE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">SOURCE</a>)
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Target.html" title="class or interface in java.lang.annotation" class="externalLink">@Target</a>(<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#TYPE_USE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">TYPE_USE</a>)
|
||||
public static @interface <span class="memberNameLabel">DefaultRenderersFactory.ExtensionRendererMode</span></pre>
|
||||
<div class="block">Modes for using extension renderers. One of <a href="DefaultRenderersFactory.html#EXTENSION_RENDERER_MODE_OFF"><code>DefaultRenderersFactory.EXTENSION_RENDERER_MODE_OFF</code></a>, <a href="DefaultRenderersFactory.html#EXTENSION_RENDERER_MODE_ON"><code>DefaultRenderersFactory.EXTENSION_RENDERER_MODE_ON</code></a> or <a href="DefaultRenderersFactory.html#EXTENSION_RENDERER_MODE_PREFER"><code>DefaultRenderersFactory.EXTENSION_RENDERER_MODE_PREFER</code></a>.</div>
|
||||
</li>
|
||||
|
@ -239,25 +239,6 @@ implements <a href="RenderersFactory.html" title="interface in com.google.androi
|
||||
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(android.content.Context)">DefaultRenderersFactory</a></span>​(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a> context)</code></th>
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(android.content.Context,int)">DefaultRenderersFactory</a></span>​(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a> context,
|
||||
int extensionRendererMode)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
|
||||
<div class="deprecationComment">Use <a href="#%3Cinit%3E(android.content.Context)"><code>DefaultRenderersFactory(Context)</code></a> and <a href="#setExtensionRendererMode(int)"><code>setExtensionRendererMode(int)</code></a>.</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(android.content.Context,int,long)">DefaultRenderersFactory</a></span>​(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a> context,
|
||||
int extensionRendererMode,
|
||||
long allowedVideoJoiningTimeMs)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
|
||||
<div class="deprecationComment">Use <a href="#%3Cinit%3E(android.content.Context)"><code>DefaultRenderersFactory(Context)</code></a>, <a href="#setExtensionRendererMode(int)"><code>setExtensionRendererMode(int)</code></a> and <a href="#setAllowedVideoJoiningTimeMs(long)"><code>setAllowedVideoJoiningTimeMs(long)</code></a>.</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</li>
|
||||
</ul>
|
||||
@ -278,8 +259,8 @@ implements <a href="RenderersFactory.html" title="interface in com.google.androi
|
||||
</tr>
|
||||
<tr id="i0" class="altColor">
|
||||
<td class="colFirst"><code>protected void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#buildAudioRenderers(android.content.Context,int,com.google.android.exoplayer2.mediacodec.MediaCodecSelector,boolean,com.google.android.exoplayer2.audio.AudioSink,android.os.Handler,com.google.android.exoplayer2.audio.AudioRendererEventListener,java.util.ArrayList)">buildAudioRenderers</a></span>​(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a> context,
|
||||
int extensionRendererMode,
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#buildAudioRenderers(android.content.Context,@com.google.android.exoplayer2.DefaultRenderersFactory.ExtensionRendererModeint,com.google.android.exoplayer2.mediacodec.MediaCodecSelector,boolean,com.google.android.exoplayer2.audio.AudioSink,android.os.Handler,com.google.android.exoplayer2.audio.AudioRendererEventListener,java.util.ArrayList)">buildAudioRenderers</a></span>​(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a> context,
|
||||
@com.google.android.exoplayer2.DefaultRenderersFactory.ExtensionRendererMode int extensionRendererMode,
|
||||
<a href="mediacodec/MediaCodecSelector.html" title="interface in com.google.android.exoplayer2.mediacodec">MediaCodecSelector</a> mediaCodecSelector,
|
||||
boolean enableDecoderFallback,
|
||||
<a href="audio/AudioSink.html" title="interface in com.google.android.exoplayer2.audio">AudioSink</a> audioSink,
|
||||
@ -302,8 +283,8 @@ implements <a href="RenderersFactory.html" title="interface in com.google.androi
|
||||
</tr>
|
||||
<tr id="i2" class="altColor">
|
||||
<td class="colFirst"><code>protected void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#buildCameraMotionRenderers(android.content.Context,int,java.util.ArrayList)">buildCameraMotionRenderers</a></span>​(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a> context,
|
||||
int extensionRendererMode,
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#buildCameraMotionRenderers(android.content.Context,@com.google.android.exoplayer2.DefaultRenderersFactory.ExtensionRendererModeint,java.util.ArrayList)">buildCameraMotionRenderers</a></span>​(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a> context,
|
||||
@com.google.android.exoplayer2.DefaultRenderersFactory.ExtensionRendererMode int extensionRendererMode,
|
||||
<a href="https://developer.android.com/reference/java/util/ArrayList.html" title="class or interface in java.util" class="externalLink">ArrayList</a><<a href="Renderer.html" title="interface in com.google.android.exoplayer2" target="_top">Renderer</a>> out)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Builds camera motion renderers for use by the player.</div>
|
||||
@ -311,10 +292,10 @@ implements <a href="RenderersFactory.html" title="interface in com.google.androi
|
||||
</tr>
|
||||
<tr id="i3" class="rowColor">
|
||||
<td class="colFirst"><code>protected void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#buildMetadataRenderers(android.content.Context,com.google.android.exoplayer2.metadata.MetadataOutput,android.os.Looper,int,java.util.ArrayList)">buildMetadataRenderers</a></span>​(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a> context,
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#buildMetadataRenderers(android.content.Context,com.google.android.exoplayer2.metadata.MetadataOutput,android.os.Looper,@com.google.android.exoplayer2.DefaultRenderersFactory.ExtensionRendererModeint,java.util.ArrayList)">buildMetadataRenderers</a></span>​(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a> context,
|
||||
<a href="metadata/MetadataOutput.html" title="interface in com.google.android.exoplayer2.metadata">MetadataOutput</a> output,
|
||||
<a href="https://developer.android.com/reference/android/os/Looper.html" title="class or interface in android.os" class="externalLink" target="_top">Looper</a> outputLooper,
|
||||
int extensionRendererMode,
|
||||
@com.google.android.exoplayer2.DefaultRenderersFactory.ExtensionRendererMode int extensionRendererMode,
|
||||
<a href="https://developer.android.com/reference/java/util/ArrayList.html" title="class or interface in java.util" class="externalLink">ArrayList</a><<a href="Renderer.html" title="interface in com.google.android.exoplayer2" target="_top">Renderer</a>> out)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Builds metadata renderers for use by the player.</div>
|
||||
@ -322,9 +303,9 @@ implements <a href="RenderersFactory.html" title="interface in com.google.androi
|
||||
</tr>
|
||||
<tr id="i4" class="altColor">
|
||||
<td class="colFirst"><code>protected void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#buildMiscellaneousRenderers(android.content.Context,android.os.Handler,int,java.util.ArrayList)">buildMiscellaneousRenderers</a></span>​(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a> context,
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#buildMiscellaneousRenderers(android.content.Context,android.os.Handler,@com.google.android.exoplayer2.DefaultRenderersFactory.ExtensionRendererModeint,java.util.ArrayList)">buildMiscellaneousRenderers</a></span>​(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a> context,
|
||||
<a href="https://developer.android.com/reference/android/os/Handler.html" title="class or interface in android.os" class="externalLink" target="_top">Handler</a> eventHandler,
|
||||
int extensionRendererMode,
|
||||
@com.google.android.exoplayer2.DefaultRenderersFactory.ExtensionRendererMode int extensionRendererMode,
|
||||
<a href="https://developer.android.com/reference/java/util/ArrayList.html" title="class or interface in java.util" class="externalLink">ArrayList</a><<a href="Renderer.html" title="interface in com.google.android.exoplayer2" target="_top">Renderer</a>> out)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Builds any miscellaneous renderers used by the player.</div>
|
||||
@ -332,10 +313,10 @@ implements <a href="RenderersFactory.html" title="interface in com.google.androi
|
||||
</tr>
|
||||
<tr id="i5" class="rowColor">
|
||||
<td class="colFirst"><code>protected void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#buildTextRenderers(android.content.Context,com.google.android.exoplayer2.text.TextOutput,android.os.Looper,int,java.util.ArrayList)">buildTextRenderers</a></span>​(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a> context,
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#buildTextRenderers(android.content.Context,com.google.android.exoplayer2.text.TextOutput,android.os.Looper,@com.google.android.exoplayer2.DefaultRenderersFactory.ExtensionRendererModeint,java.util.ArrayList)">buildTextRenderers</a></span>​(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a> context,
|
||||
<a href="text/TextOutput.html" title="interface in com.google.android.exoplayer2.text">TextOutput</a> output,
|
||||
<a href="https://developer.android.com/reference/android/os/Looper.html" title="class or interface in android.os" class="externalLink" target="_top">Looper</a> outputLooper,
|
||||
int extensionRendererMode,
|
||||
@com.google.android.exoplayer2.DefaultRenderersFactory.ExtensionRendererMode int extensionRendererMode,
|
||||
<a href="https://developer.android.com/reference/java/util/ArrayList.html" title="class or interface in java.util" class="externalLink">ArrayList</a><<a href="Renderer.html" title="interface in com.google.android.exoplayer2" target="_top">Renderer</a>> out)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Builds text renderers for use by the player.</div>
|
||||
@ -343,8 +324,8 @@ implements <a href="RenderersFactory.html" title="interface in com.google.androi
|
||||
</tr>
|
||||
<tr id="i6" class="altColor">
|
||||
<td class="colFirst"><code>protected void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#buildVideoRenderers(android.content.Context,int,com.google.android.exoplayer2.mediacodec.MediaCodecSelector,boolean,android.os.Handler,com.google.android.exoplayer2.video.VideoRendererEventListener,long,java.util.ArrayList)">buildVideoRenderers</a></span>​(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a> context,
|
||||
int extensionRendererMode,
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#buildVideoRenderers(android.content.Context,@com.google.android.exoplayer2.DefaultRenderersFactory.ExtensionRendererModeint,com.google.android.exoplayer2.mediacodec.MediaCodecSelector,boolean,android.os.Handler,com.google.android.exoplayer2.video.VideoRendererEventListener,long,java.util.ArrayList)">buildVideoRenderers</a></span>​(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a> context,
|
||||
@com.google.android.exoplayer2.DefaultRenderersFactory.ExtensionRendererMode int extensionRendererMode,
|
||||
<a href="mediacodec/MediaCodecSelector.html" title="interface in com.google.android.exoplayer2.mediacodec">MediaCodecSelector</a> mediaCodecSelector,
|
||||
boolean enableDecoderFallback,
|
||||
<a href="https://developer.android.com/reference/android/os/Handler.html" title="class or interface in android.os" class="externalLink" target="_top">Handler</a> eventHandler,
|
||||
@ -443,7 +424,7 @@ implements <a href="RenderersFactory.html" title="interface in com.google.androi
|
||||
</tr>
|
||||
<tr id="i18" class="altColor">
|
||||
<td class="colFirst"><code><a href="DefaultRenderersFactory.html" title="class in com.google.android.exoplayer2">DefaultRenderersFactory</a></code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setExtensionRendererMode(int)">setExtensionRendererMode</a></span>​(int extensionRendererMode)</code></th>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setExtensionRendererMode(@com.google.android.exoplayer2.DefaultRenderersFactory.ExtensionRendererModeint)">setExtensionRendererMode</a></span>​(@com.google.android.exoplayer2.DefaultRenderersFactory.ExtensionRendererMode int extensionRendererMode)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Sets the extension renderer mode, which determines if and how available extension renderers are
|
||||
used.</div>
|
||||
@ -570,7 +551,7 @@ implements <a href="RenderersFactory.html" title="interface in com.google.androi
|
||||
<a id="<init>(android.content.Context)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<ul class="blockListLast">
|
||||
<li class="blockList">
|
||||
<h4>DefaultRenderersFactory</h4>
|
||||
<pre>public DefaultRenderersFactory​(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a> context)</pre>
|
||||
@ -580,37 +561,6 @@ implements <a href="RenderersFactory.html" title="interface in com.google.androi
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="<init>(android.content.Context,int)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>DefaultRenderersFactory</h4>
|
||||
<pre><a href="https://developer.android.com/reference/java/lang/Deprecated.html" title="class or interface in java.lang" class="externalLink" target="_top">@Deprecated</a>
|
||||
public DefaultRenderersFactory​(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a> context,
|
||||
<a href="DefaultRenderersFactory.ExtensionRendererMode.html" title="annotation in com.google.android.exoplayer2">@ExtensionRendererMode</a>
|
||||
int extensionRendererMode)</pre>
|
||||
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
|
||||
<div class="deprecationComment">Use <a href="#%3Cinit%3E(android.content.Context)"><code>DefaultRenderersFactory(Context)</code></a> and <a href="#setExtensionRendererMode(int)"><code>setExtensionRendererMode(int)</code></a>.</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="<init>(android.content.Context,int,long)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockListLast">
|
||||
<li class="blockList">
|
||||
<h4>DefaultRenderersFactory</h4>
|
||||
<pre><a href="https://developer.android.com/reference/java/lang/Deprecated.html" title="class or interface in java.lang" class="externalLink" target="_top">@Deprecated</a>
|
||||
public DefaultRenderersFactory​(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a> context,
|
||||
<a href="DefaultRenderersFactory.ExtensionRendererMode.html" title="annotation in com.google.android.exoplayer2">@ExtensionRendererMode</a>
|
||||
int extensionRendererMode,
|
||||
long allowedVideoJoiningTimeMs)</pre>
|
||||
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
|
||||
<div class="deprecationComment">Use <a href="#%3Cinit%3E(android.content.Context)"><code>DefaultRenderersFactory(Context)</code></a>, <a href="#setExtensionRendererMode(int)"><code>setExtensionRendererMode(int)</code></a> and <a href="#setAllowedVideoJoiningTimeMs(long)"><code>setAllowedVideoJoiningTimeMs(long)</code></a>.</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
@ -621,14 +571,13 @@ public DefaultRenderersFactory​(<a href="https://developer.android.co
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>Method Detail</h3>
|
||||
<a id="setExtensionRendererMode(int)">
|
||||
<a id="setExtensionRendererMode(@com.google.android.exoplayer2.DefaultRenderersFactory.ExtensionRendererModeint)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>setExtensionRendererMode</h4>
|
||||
<pre class="methodSignature">public <a href="DefaultRenderersFactory.html" title="class in com.google.android.exoplayer2">DefaultRenderersFactory</a> setExtensionRendererMode​(<a href="DefaultRenderersFactory.ExtensionRendererMode.html" title="annotation in com.google.android.exoplayer2">@ExtensionRendererMode</a>
|
||||
int extensionRendererMode)</pre>
|
||||
<pre class="methodSignature">public <a href="DefaultRenderersFactory.html" title="class in com.google.android.exoplayer2">DefaultRenderersFactory</a> setExtensionRendererMode​(@com.google.android.exoplayer2.DefaultRenderersFactory.ExtensionRendererMode int extensionRendererMode)</pre>
|
||||
<div class="block">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.
|
||||
@ -873,15 +822,14 @@ public DefaultRenderersFactory​(<a href="https://developer.android.co
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="buildVideoRenderers(android.content.Context,int,com.google.android.exoplayer2.mediacodec.MediaCodecSelector,boolean,android.os.Handler,com.google.android.exoplayer2.video.VideoRendererEventListener,long,java.util.ArrayList)">
|
||||
<a id="buildVideoRenderers(android.content.Context,@com.google.android.exoplayer2.DefaultRenderersFactory.ExtensionRendererModeint,com.google.android.exoplayer2.mediacodec.MediaCodecSelector,boolean,android.os.Handler,com.google.android.exoplayer2.video.VideoRendererEventListener,long,java.util.ArrayList)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>buildVideoRenderers</h4>
|
||||
<pre class="methodSignature">protected void buildVideoRenderers​(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a> context,
|
||||
<a href="DefaultRenderersFactory.ExtensionRendererMode.html" title="annotation in com.google.android.exoplayer2">@ExtensionRendererMode</a>
|
||||
int extensionRendererMode,
|
||||
@com.google.android.exoplayer2.DefaultRenderersFactory.ExtensionRendererMode int extensionRendererMode,
|
||||
<a href="mediacodec/MediaCodecSelector.html" title="interface in com.google.android.exoplayer2.mediacodec">MediaCodecSelector</a> mediaCodecSelector,
|
||||
boolean enableDecoderFallback,
|
||||
<a href="https://developer.android.com/reference/android/os/Handler.html" title="class or interface in android.os" class="externalLink" target="_top">Handler</a> eventHandler,
|
||||
@ -905,15 +853,14 @@ public DefaultRenderersFactory​(<a href="https://developer.android.co
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="buildAudioRenderers(android.content.Context,int,com.google.android.exoplayer2.mediacodec.MediaCodecSelector,boolean,com.google.android.exoplayer2.audio.AudioSink,android.os.Handler,com.google.android.exoplayer2.audio.AudioRendererEventListener,java.util.ArrayList)">
|
||||
<a id="buildAudioRenderers(android.content.Context,@com.google.android.exoplayer2.DefaultRenderersFactory.ExtensionRendererModeint,com.google.android.exoplayer2.mediacodec.MediaCodecSelector,boolean,com.google.android.exoplayer2.audio.AudioSink,android.os.Handler,com.google.android.exoplayer2.audio.AudioRendererEventListener,java.util.ArrayList)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>buildAudioRenderers</h4>
|
||||
<pre class="methodSignature">protected void buildAudioRenderers​(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a> context,
|
||||
<a href="DefaultRenderersFactory.ExtensionRendererMode.html" title="annotation in com.google.android.exoplayer2">@ExtensionRendererMode</a>
|
||||
int extensionRendererMode,
|
||||
@com.google.android.exoplayer2.DefaultRenderersFactory.ExtensionRendererMode int extensionRendererMode,
|
||||
<a href="mediacodec/MediaCodecSelector.html" title="interface in com.google.android.exoplayer2.mediacodec">MediaCodecSelector</a> mediaCodecSelector,
|
||||
boolean enableDecoderFallback,
|
||||
<a href="audio/AudioSink.html" title="interface in com.google.android.exoplayer2.audio">AudioSink</a> audioSink,
|
||||
@ -936,7 +883,7 @@ public DefaultRenderersFactory​(<a href="https://developer.android.co
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="buildTextRenderers(android.content.Context,com.google.android.exoplayer2.text.TextOutput,android.os.Looper,int,java.util.ArrayList)">
|
||||
<a id="buildTextRenderers(android.content.Context,com.google.android.exoplayer2.text.TextOutput,android.os.Looper,@com.google.android.exoplayer2.DefaultRenderersFactory.ExtensionRendererModeint,java.util.ArrayList)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
@ -945,8 +892,7 @@ public DefaultRenderersFactory​(<a href="https://developer.android.co
|
||||
<pre class="methodSignature">protected void buildTextRenderers​(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a> context,
|
||||
<a href="text/TextOutput.html" title="interface in com.google.android.exoplayer2.text">TextOutput</a> output,
|
||||
<a href="https://developer.android.com/reference/android/os/Looper.html" title="class or interface in android.os" class="externalLink" target="_top">Looper</a> outputLooper,
|
||||
<a href="DefaultRenderersFactory.ExtensionRendererMode.html" title="annotation in com.google.android.exoplayer2">@ExtensionRendererMode</a>
|
||||
int extensionRendererMode,
|
||||
@com.google.android.exoplayer2.DefaultRenderersFactory.ExtensionRendererMode int extensionRendererMode,
|
||||
<a href="https://developer.android.com/reference/java/util/ArrayList.html" title="class or interface in java.util" class="externalLink">ArrayList</a><<a href="Renderer.html" title="interface in com.google.android.exoplayer2" target="_top">Renderer</a>> out)</pre>
|
||||
<div class="block">Builds text renderers for use by the player.</div>
|
||||
<dl>
|
||||
@ -959,7 +905,7 @@ public DefaultRenderersFactory​(<a href="https://developer.android.co
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="buildMetadataRenderers(android.content.Context,com.google.android.exoplayer2.metadata.MetadataOutput,android.os.Looper,int,java.util.ArrayList)">
|
||||
<a id="buildMetadataRenderers(android.content.Context,com.google.android.exoplayer2.metadata.MetadataOutput,android.os.Looper,@com.google.android.exoplayer2.DefaultRenderersFactory.ExtensionRendererModeint,java.util.ArrayList)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
@ -968,8 +914,7 @@ public DefaultRenderersFactory​(<a href="https://developer.android.co
|
||||
<pre class="methodSignature">protected void buildMetadataRenderers​(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a> context,
|
||||
<a href="metadata/MetadataOutput.html" title="interface in com.google.android.exoplayer2.metadata">MetadataOutput</a> output,
|
||||
<a href="https://developer.android.com/reference/android/os/Looper.html" title="class or interface in android.os" class="externalLink" target="_top">Looper</a> outputLooper,
|
||||
<a href="DefaultRenderersFactory.ExtensionRendererMode.html" title="annotation in com.google.android.exoplayer2">@ExtensionRendererMode</a>
|
||||
int extensionRendererMode,
|
||||
@com.google.android.exoplayer2.DefaultRenderersFactory.ExtensionRendererMode int extensionRendererMode,
|
||||
<a href="https://developer.android.com/reference/java/util/ArrayList.html" title="class or interface in java.util" class="externalLink">ArrayList</a><<a href="Renderer.html" title="interface in com.google.android.exoplayer2" target="_top">Renderer</a>> out)</pre>
|
||||
<div class="block">Builds metadata renderers for use by the player.</div>
|
||||
<dl>
|
||||
@ -982,15 +927,14 @@ public DefaultRenderersFactory​(<a href="https://developer.android.co
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="buildCameraMotionRenderers(android.content.Context,int,java.util.ArrayList)">
|
||||
<a id="buildCameraMotionRenderers(android.content.Context,@com.google.android.exoplayer2.DefaultRenderersFactory.ExtensionRendererModeint,java.util.ArrayList)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>buildCameraMotionRenderers</h4>
|
||||
<pre class="methodSignature">protected void buildCameraMotionRenderers​(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a> context,
|
||||
<a href="DefaultRenderersFactory.ExtensionRendererMode.html" title="annotation in com.google.android.exoplayer2">@ExtensionRendererMode</a>
|
||||
int extensionRendererMode,
|
||||
@com.google.android.exoplayer2.DefaultRenderersFactory.ExtensionRendererMode int extensionRendererMode,
|
||||
<a href="https://developer.android.com/reference/java/util/ArrayList.html" title="class or interface in java.util" class="externalLink">ArrayList</a><<a href="Renderer.html" title="interface in com.google.android.exoplayer2" target="_top">Renderer</a>> out)</pre>
|
||||
<div class="block">Builds camera motion renderers for use by the player.</div>
|
||||
<dl>
|
||||
@ -1001,7 +945,7 @@ public DefaultRenderersFactory​(<a href="https://developer.android.co
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="buildMiscellaneousRenderers(android.content.Context,android.os.Handler,int,java.util.ArrayList)">
|
||||
<a id="buildMiscellaneousRenderers(android.content.Context,android.os.Handler,@com.google.android.exoplayer2.DefaultRenderersFactory.ExtensionRendererModeint,java.util.ArrayList)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
@ -1009,8 +953,7 @@ public DefaultRenderersFactory​(<a href="https://developer.android.co
|
||||
<h4>buildMiscellaneousRenderers</h4>
|
||||
<pre class="methodSignature">protected void buildMiscellaneousRenderers​(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a> context,
|
||||
<a href="https://developer.android.com/reference/android/os/Handler.html" title="class or interface in android.os" class="externalLink" target="_top">Handler</a> eventHandler,
|
||||
<a href="DefaultRenderersFactory.ExtensionRendererMode.html" title="annotation in com.google.android.exoplayer2">@ExtensionRendererMode</a>
|
||||
int extensionRendererMode,
|
||||
@com.google.android.exoplayer2.DefaultRenderersFactory.ExtensionRendererMode int extensionRendererMode,
|
||||
<a href="https://developer.android.com/reference/java/util/ArrayList.html" title="class or interface in java.util" class="externalLink">ArrayList</a><<a href="Renderer.html" title="interface in com.google.android.exoplayer2" target="_top">Renderer</a>> out)</pre>
|
||||
<div class="block">Builds any miscellaneous renderers used by the player.</div>
|
||||
<dl>
|
||||
@ -1043,7 +986,7 @@ protected <a href="audio/AudioSink.html" title="interface in com.google.and
|
||||
available.</dd>
|
||||
<dt><span class="returnLabel">Returns:</span></dt>
|
||||
<dd>The <a href="audio/AudioSink.html" title="interface in com.google.android.exoplayer2.audio"><code>AudioSink</code></a> to which the audio renderers will output. May be <code>null</code> if
|
||||
no audio renderers are required. If <code>null</code> is returned then <a href="#buildAudioRenderers(android.content.Context,int,com.google.android.exoplayer2.mediacodec.MediaCodecSelector,boolean,com.google.android.exoplayer2.audio.AudioSink,android.os.Handler,com.google.android.exoplayer2.audio.AudioRendererEventListener,java.util.ArrayList)"><code>buildAudioRenderers(android.content.Context, int, com.google.android.exoplayer2.mediacodec.MediaCodecSelector, boolean, com.google.android.exoplayer2.audio.AudioSink, android.os.Handler, com.google.android.exoplayer2.audio.AudioRendererEventListener, java.util.ArrayList<com.google.android.exoplayer2.Renderer>)</code></a> will not be called.</dd>
|
||||
no audio renderers are required. If <code>null</code> is returned then <a href="#buildAudioRenderers(android.content.Context,@com.google.android.exoplayer2.DefaultRenderersFactory.ExtensionRendererModeint,com.google.android.exoplayer2.mediacodec.MediaCodecSelector,boolean,com.google.android.exoplayer2.audio.AudioSink,android.os.Handler,com.google.android.exoplayer2.audio.AudioRendererEventListener,java.util.ArrayList)"><code>buildAudioRenderers(android.content.Context, @com.google.android.exoplayer2.DefaultRenderersFactory.ExtensionRendererMode int, com.google.android.exoplayer2.mediacodec.MediaCodecSelector, boolean, com.google.android.exoplayer2.audio.AudioSink, android.os.Handler, com.google.android.exoplayer2.audio.AudioRendererEventListener, java.util.ArrayList<com.google.android.exoplayer2.Renderer>)</code></a> will not be called.</dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
|
@ -115,6 +115,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
<hr>
|
||||
<pre><a href="https://developer.android.com/reference/java/lang/annotation/Documented.html" title="class or interface in java.lang.annotation" class="externalLink" target="_top">@Documented</a>
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Retention.html" title="class or interface in java.lang.annotation" class="externalLink">@Retention</a>(<a href="https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html?is-external=true#SOURCE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">SOURCE</a>)
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Target.html" title="class or interface in java.lang.annotation" class="externalLink">@Target</a>({<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#FIELD" title="class or interface in java.lang.annotation" class="externalLink">FIELD</a>,<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#METHOD" title="class or interface in java.lang.annotation" class="externalLink">METHOD</a>,<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#PARAMETER" title="class or interface in java.lang.annotation" class="externalLink">PARAMETER</a>,<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#LOCAL_VARIABLE" title="class or interface in java.lang.annotation" class="externalLink">LOCAL_VARIABLE</a>,<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#TYPE_USE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">TYPE_USE</a>})
|
||||
public static @interface <span class="memberNameLabel">ExoPlaybackException.Type</span></pre>
|
||||
<div class="block">The type of source that produced the error. One of <a href="ExoPlaybackException.html#TYPE_SOURCE"><code>ExoPlaybackException.TYPE_SOURCE</code></a>, <a href="ExoPlaybackException.html#TYPE_RENDERER"><code>ExoPlaybackException.TYPE_RENDERER</code></a>
|
||||
<a href="ExoPlaybackException.html#TYPE_UNEXPECTED"><code>ExoPlaybackException.TYPE_UNEXPECTED</code></a> or <a href="ExoPlaybackException.html#TYPE_REMOTE"><code>ExoPlaybackException.TYPE_REMOTE</code></a>. Note that new types may be added in the
|
||||
|
@ -237,7 +237,7 @@ extends <a href="PlaybackException.html" title="class in com.google.android.exop
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>int</code></td>
|
||||
<td class="colFirst"><code>@com.google.android.exoplayer2.C.FormatSupport int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#rendererFormatSupport">rendererFormatSupport</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">If <a href="#type"><code>type</code></a> is <a href="#TYPE_RENDERER"><code>TYPE_RENDERER</code></a>, this is the level of <a href="C.FormatSupport.html" title="annotation in com.google.android.exoplayer2"><code>C.FormatSupport</code></a> of the
|
||||
@ -259,7 +259,7 @@ extends <a href="PlaybackException.html" title="class in com.google.android.exop
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>int</code></td>
|
||||
<td class="colFirst"><code>@com.google.android.exoplayer2.ExoPlaybackException.Type int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#type">type</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">The <a href="ExoPlaybackException.Type.html" title="annotation in com.google.android.exoplayer2"><code>ExoPlaybackException.Type</code></a> of the playback failure.</div>
|
||||
@ -327,11 +327,11 @@ extends <a href="PlaybackException.html" title="class in com.google.android.exop
|
||||
</tr>
|
||||
<tr id="i1" class="rowColor">
|
||||
<td class="colFirst"><code>static <a href="ExoPlaybackException.html" title="class in com.google.android.exoplayer2">ExoPlaybackException</a></code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createForRenderer(java.lang.Throwable,java.lang.String,int,com.google.android.exoplayer2.Format,int,boolean,@com.google.android.exoplayer2.PlaybackException.ErrorCodeint)">createForRenderer</a></span>​(<a href="https://developer.android.com/reference/java/lang/Throwable.html" title="class or interface in java.lang" class="externalLink" target="_top">Throwable</a> cause,
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createForRenderer(java.lang.Throwable,java.lang.String,int,com.google.android.exoplayer2.Format,@com.google.android.exoplayer2.C.FormatSupportint,boolean,@com.google.android.exoplayer2.PlaybackException.ErrorCodeint)">createForRenderer</a></span>​(<a href="https://developer.android.com/reference/java/lang/Throwable.html" title="class or interface in java.lang" class="externalLink" target="_top">Throwable</a> cause,
|
||||
<a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a> rendererName,
|
||||
int rendererIndex,
|
||||
<a href="Format.html" title="class in com.google.android.exoplayer2">Format</a> rendererFormat,
|
||||
int rendererFormatSupport,
|
||||
@com.google.android.exoplayer2.C.FormatSupport int rendererFormatSupport,
|
||||
boolean isRecoverable,
|
||||
@com.google.android.exoplayer2.PlaybackException.ErrorCode int errorCode)</code></th>
|
||||
<td class="colLast">
|
||||
@ -405,7 +405,7 @@ extends <a href="PlaybackException.html" title="class in com.google.android.exop
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>Methods inherited from class com.google.android.exoplayer2.<a href="PlaybackException.html" title="class in com.google.android.exoplayer2">PlaybackException</a></h3>
|
||||
<code><a href="PlaybackException.html#getErrorCodeName()">getErrorCodeName</a>, <a href="PlaybackException.html#getErrorCodeName(@com.google.android.exoplayer2.PlaybackException.ErrorCodeint)">getErrorCodeName</a>, <a href="PlaybackException.html#keyForField(int)">keyForField</a></code></li>
|
||||
<code><a href="PlaybackException.html#getErrorCodeName()">getErrorCodeName</a>, <a href="PlaybackException.html#getErrorCodeName(@com.google.android.exoplayer2.PlaybackException.ErrorCodeint)">getErrorCodeName</a>, <a href="PlaybackException.html#keyForField(@com.google.android.exoplayer2.PlaybackException.FieldNumberint)">keyForField</a></code></li>
|
||||
</ul>
|
||||
<ul class="blockList">
|
||||
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Throwable">
|
||||
@ -508,7 +508,7 @@ extends <a href="PlaybackException.html" title="class in com.google.android.exop
|
||||
<li class="blockList">
|
||||
<h4>type</h4>
|
||||
<pre><a href="ExoPlaybackException.Type.html" title="annotation in com.google.android.exoplayer2">@Type</a>
|
||||
public final int type</pre>
|
||||
public final @com.google.android.exoplayer2.ExoPlaybackException.Type int type</pre>
|
||||
<div class="block">The <a href="ExoPlaybackException.Type.html" title="annotation in com.google.android.exoplayer2"><code>ExoPlaybackException.Type</code></a> of the playback failure.</div>
|
||||
</li>
|
||||
</ul>
|
||||
@ -552,7 +552,7 @@ public final <a href="Format.html" title="class in com.google.android.exopl
|
||||
<li class="blockList">
|
||||
<h4>rendererFormatSupport</h4>
|
||||
<pre><a href="C.FormatSupport.html" title="annotation in com.google.android.exoplayer2">@FormatSupport</a>
|
||||
public final int rendererFormatSupport</pre>
|
||||
public final @com.google.android.exoplayer2.C.FormatSupport int rendererFormatSupport</pre>
|
||||
<div class="block">If <a href="#type"><code>type</code></a> is <a href="#TYPE_RENDERER"><code>TYPE_RENDERER</code></a>, this is the level of <a href="C.FormatSupport.html" title="annotation in com.google.android.exoplayer2"><code>C.FormatSupport</code></a> of the
|
||||
renderer for <a href="#rendererFormat"><code>rendererFormat</code></a>. If <a href="#rendererFormat"><code>rendererFormat</code></a> is null, this is <a href="C.html#FORMAT_HANDLED"><code>C.FORMAT_HANDLED</code></a>.</div>
|
||||
</li>
|
||||
@ -606,7 +606,7 @@ public final <a href="source/MediaPeriodId.html" title="class in com.google
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="createForRenderer(java.lang.Throwable,java.lang.String,int,com.google.android.exoplayer2.Format,int,boolean,@com.google.android.exoplayer2.PlaybackException.ErrorCodeint)">
|
||||
<a id="createForRenderer(java.lang.Throwable,java.lang.String,int,com.google.android.exoplayer2.Format,@com.google.android.exoplayer2.C.FormatSupportint,boolean,@com.google.android.exoplayer2.PlaybackException.ErrorCodeint)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
@ -618,7 +618,7 @@ public final <a href="source/MediaPeriodId.html" title="class in com.google
|
||||
@Nullable
|
||||
<a href="Format.html" title="class in com.google.android.exoplayer2">Format</a> rendererFormat,
|
||||
<a href="C.FormatSupport.html" title="annotation in com.google.android.exoplayer2">@FormatSupport</a>
|
||||
int rendererFormatSupport,
|
||||
@com.google.android.exoplayer2.C.FormatSupport int rendererFormatSupport,
|
||||
boolean isRecoverable,
|
||||
<a href="PlaybackException.ErrorCode.html" title="annotation in com.google.android.exoplayer2">@ErrorCode</a>
|
||||
@com.google.android.exoplayer2.PlaybackException.ErrorCode int errorCode)</pre>
|
||||
|
@ -171,30 +171,30 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(android.content.Context,com.google.android.exoplayer2.RenderersFactory,com.google.android.exoplayer2.source.MediaSourceFactory)">Builder</a></span>​(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a> context,
|
||||
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(android.content.Context,com.google.android.exoplayer2.RenderersFactory,com.google.android.exoplayer2.source.MediaSource.Factory)">Builder</a></span>​(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a> context,
|
||||
<a href="RenderersFactory.html" title="interface in com.google.android.exoplayer2">RenderersFactory</a> renderersFactory,
|
||||
<a href="source/MediaSourceFactory.html" title="interface in com.google.android.exoplayer2.source">MediaSourceFactory</a> mediaSourceFactory)</code></th>
|
||||
<a href="source/MediaSource.Factory.html" title="interface in com.google.android.exoplayer2.source">MediaSource.Factory</a> mediaSourceFactory)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Creates a builder with a custom <a href="RenderersFactory.html" title="interface in com.google.android.exoplayer2"><code>RenderersFactory</code></a> and <a href="source/MediaSourceFactory.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSourceFactory</code></a>.</div>
|
||||
<div class="block">Creates a builder with a custom <a href="RenderersFactory.html" title="interface in com.google.android.exoplayer2"><code>RenderersFactory</code></a> and <a href="source/MediaSource.Factory.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSource.Factory</code></a>.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(android.content.Context,com.google.android.exoplayer2.RenderersFactory,com.google.android.exoplayer2.source.MediaSourceFactory,com.google.android.exoplayer2.trackselection.TrackSelector,com.google.android.exoplayer2.LoadControl,com.google.android.exoplayer2.upstream.BandwidthMeter,com.google.android.exoplayer2.analytics.AnalyticsCollector)">Builder</a></span>​(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a> context,
|
||||
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(android.content.Context,com.google.android.exoplayer2.RenderersFactory,com.google.android.exoplayer2.source.MediaSource.Factory,com.google.android.exoplayer2.trackselection.TrackSelector,com.google.android.exoplayer2.LoadControl,com.google.android.exoplayer2.upstream.BandwidthMeter,com.google.android.exoplayer2.analytics.AnalyticsCollector)">Builder</a></span>​(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a> context,
|
||||
<a href="RenderersFactory.html" title="interface in com.google.android.exoplayer2">RenderersFactory</a> renderersFactory,
|
||||
<a href="source/MediaSourceFactory.html" title="interface in com.google.android.exoplayer2.source">MediaSourceFactory</a> mediaSourceFactory,
|
||||
<a href="source/MediaSource.Factory.html" title="interface in com.google.android.exoplayer2.source">MediaSource.Factory</a> mediaSourceFactory,
|
||||
<a href="trackselection/TrackSelector.html" title="class in com.google.android.exoplayer2.trackselection">TrackSelector</a> trackSelector,
|
||||
<a href="LoadControl.html" title="interface in com.google.android.exoplayer2">LoadControl</a> loadControl,
|
||||
<a href="upstream/BandwidthMeter.html" title="interface in com.google.android.exoplayer2.upstream">BandwidthMeter</a> bandwidthMeter,
|
||||
<a href="analytics/AnalyticsCollector.html" title="class in com.google.android.exoplayer2.analytics">AnalyticsCollector</a> analyticsCollector)</code></th>
|
||||
<a href="analytics/AnalyticsCollector.html" title="interface in com.google.android.exoplayer2.analytics">AnalyticsCollector</a> analyticsCollector)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Creates a builder with the specified custom components.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(android.content.Context,com.google.android.exoplayer2.source.MediaSourceFactory)">Builder</a></span>​(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a> context,
|
||||
<a href="source/MediaSourceFactory.html" title="interface in com.google.android.exoplayer2.source">MediaSourceFactory</a> mediaSourceFactory)</code></th>
|
||||
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(android.content.Context,com.google.android.exoplayer2.source.MediaSource.Factory)">Builder</a></span>​(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a> context,
|
||||
<a href="source/MediaSource.Factory.html" title="interface in com.google.android.exoplayer2.source">MediaSource.Factory</a> mediaSourceFactory)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Creates a builder with a custom <a href="source/MediaSourceFactory.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSourceFactory</code></a>.</div>
|
||||
<div class="block">Creates a builder with a custom <a href="source/MediaSource.Factory.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSource.Factory</code></a>.</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@ -231,9 +231,9 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
|
||||
</tr>
|
||||
<tr id="i2" class="altColor">
|
||||
<td class="colFirst"><code><a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a></code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setAnalyticsCollector(com.google.android.exoplayer2.analytics.AnalyticsCollector)">setAnalyticsCollector</a></span>​(<a href="analytics/AnalyticsCollector.html" title="class in com.google.android.exoplayer2.analytics">AnalyticsCollector</a> analyticsCollector)</code></th>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setAnalyticsCollector(com.google.android.exoplayer2.analytics.AnalyticsCollector)">setAnalyticsCollector</a></span>​(<a href="analytics/AnalyticsCollector.html" title="interface in com.google.android.exoplayer2.analytics">AnalyticsCollector</a> analyticsCollector)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Sets the <a href="analytics/AnalyticsCollector.html" title="class in com.google.android.exoplayer2.analytics"><code>AnalyticsCollector</code></a> that will collect and forward all player events.</div>
|
||||
<div class="block">Sets the <a href="analytics/AnalyticsCollector.html" title="interface in com.google.android.exoplayer2.analytics"><code>AnalyticsCollector</code></a> that will collect and forward all player events.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i3" class="rowColor">
|
||||
@ -299,9 +299,9 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
|
||||
</tr>
|
||||
<tr id="i11" class="rowColor">
|
||||
<td class="colFirst"><code><a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a></code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaSourceFactory(com.google.android.exoplayer2.source.MediaSourceFactory)">setMediaSourceFactory</a></span>​(<a href="source/MediaSourceFactory.html" title="interface in com.google.android.exoplayer2.source">MediaSourceFactory</a> mediaSourceFactory)</code></th>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaSourceFactory(com.google.android.exoplayer2.source.MediaSource.Factory)">setMediaSourceFactory</a></span>​(<a href="source/MediaSource.Factory.html" title="interface in com.google.android.exoplayer2.source">MediaSource.Factory</a> mediaSourceFactory)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Sets the <a href="source/MediaSourceFactory.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSourceFactory</code></a> that will be used by the player.</div>
|
||||
<div class="block">Sets the <a href="source/MediaSource.Factory.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSource.Factory</code></a> that will be used by the player.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i12" class="altColor">
|
||||
@ -376,7 +376,7 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
|
||||
</tr>
|
||||
<tr id="i22" class="altColor">
|
||||
<td class="colFirst"><code><a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a></code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoChangeFrameRateStrategy(int)">setVideoChangeFrameRateStrategy</a></span>​(int videoChangeFrameRateStrategy)</code></th>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoChangeFrameRateStrategy(@com.google.android.exoplayer2.C.VideoChangeFrameRateStrategyint)">setVideoChangeFrameRateStrategy</a></span>​(@com.google.android.exoplayer2.C.VideoChangeFrameRateStrategy int videoChangeFrameRateStrategy)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Sets a <a href="C.VideoChangeFrameRateStrategy.html" title="annotation in com.google.android.exoplayer2"><code>C.VideoChangeFrameRateStrategy</code></a> that will be used by the player when provided
|
||||
with a video output <a href="https://developer.android.com/reference/android/view/Surface.html" title="class or interface in android.view" class="externalLink" target="_top"><code>Surface</code></a>.</div>
|
||||
@ -384,7 +384,7 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
|
||||
</tr>
|
||||
<tr id="i23" class="rowColor">
|
||||
<td class="colFirst"><code><a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a></code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoScalingMode(int)">setVideoScalingMode</a></span>​(int videoScalingMode)</code></th>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoScalingMode(@com.google.android.exoplayer2.C.VideoScalingModeint)">setVideoScalingMode</a></span>​(@com.google.android.exoplayer2.C.VideoScalingMode int videoScalingMode)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Sets the <a href="C.VideoScalingMode.html" title="annotation in com.google.android.exoplayer2"><code>C.VideoScalingMode</code></a> that will be used by the player.</div>
|
||||
</td>
|
||||
@ -429,8 +429,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
|
||||
<pre>public Builder​(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a> context)</pre>
|
||||
<div class="block">Creates a builder.
|
||||
|
||||
<p>Use <a href="#%3Cinit%3E(android.content.Context,com.google.android.exoplayer2.RenderersFactory)"><code>Builder(Context, RenderersFactory)</code></a>, <a href="#%3Cinit%3E(android.content.Context,com.google.android.exoplayer2.source.MediaSourceFactory)"><code>Builder(Context,
|
||||
MediaSourceFactory)</code></a> or <a href="#%3Cinit%3E(android.content.Context,com.google.android.exoplayer2.RenderersFactory,com.google.android.exoplayer2.source.MediaSourceFactory)"><code>Builder(Context, RenderersFactory, MediaSourceFactory)</code></a>
|
||||
<p>Use <a href="#%3Cinit%3E(android.content.Context,com.google.android.exoplayer2.RenderersFactory)"><code>Builder(Context, RenderersFactory)</code></a>, <a href="#%3Cinit%3E(android.content.Context,com.google.android.exoplayer2.source.MediaSource.Factory)"><code>Builder(Context,
|
||||
MediaSource.Factory)</code></a> or <a href="#%3Cinit%3E(android.content.Context,com.google.android.exoplayer2.RenderersFactory,com.google.android.exoplayer2.source.MediaSource.Factory)"><code>Builder(Context, RenderersFactory, MediaSource.Factory)</code></a>
|
||||
instead, if you intend to provide a custom <a href="RenderersFactory.html" title="interface in com.google.android.exoplayer2"><code>RenderersFactory</code></a>, <a href="extractor/ExtractorsFactory.html" title="interface in com.google.android.exoplayer2.extractor"><code>ExtractorsFactory</code></a> or <a href="source/DefaultMediaSourceFactory.html" title="class in com.google.android.exoplayer2.source"><code>DefaultMediaSourceFactory</code></a>. This is to ensure that ProGuard or
|
||||
R8 can remove ExoPlayer's <a href="DefaultRenderersFactory.html" title="class in com.google.android.exoplayer2"><code>DefaultRenderersFactory</code></a>, <a href="extractor/DefaultExtractorsFactory.html" title="class in com.google.android.exoplayer2.extractor"><code>DefaultExtractorsFactory</code></a>
|
||||
and <a href="source/DefaultMediaSourceFactory.html" title="class in com.google.android.exoplayer2.source"><code>DefaultMediaSourceFactory</code></a> from the APK.
|
||||
@ -440,12 +440,12 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
|
||||
<ul>
|
||||
<li><a href="RenderersFactory.html" title="interface in com.google.android.exoplayer2"><code>RenderersFactory</code></a>: <a href="DefaultRenderersFactory.html" title="class in com.google.android.exoplayer2"><code>DefaultRenderersFactory</code></a>
|
||||
<li><a href="trackselection/TrackSelector.html" title="class in com.google.android.exoplayer2.trackselection"><code>TrackSelector</code></a>: <a href="trackselection/DefaultTrackSelector.html" title="class in com.google.android.exoplayer2.trackselection"><code>DefaultTrackSelector</code></a>
|
||||
<li><a href="source/MediaSourceFactory.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSourceFactory</code></a>: <a href="source/DefaultMediaSourceFactory.html" title="class in com.google.android.exoplayer2.source"><code>DefaultMediaSourceFactory</code></a>
|
||||
<li><a href="source/MediaSource.Factory.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSource.Factory</code></a>: <a href="source/DefaultMediaSourceFactory.html" title="class in com.google.android.exoplayer2.source"><code>DefaultMediaSourceFactory</code></a>
|
||||
<li><a href="LoadControl.html" title="interface in com.google.android.exoplayer2"><code>LoadControl</code></a>: <a href="DefaultLoadControl.html" title="class in com.google.android.exoplayer2"><code>DefaultLoadControl</code></a>
|
||||
<li><a href="upstream/BandwidthMeter.html" title="interface in com.google.android.exoplayer2.upstream"><code>BandwidthMeter</code></a>: <a href="upstream/DefaultBandwidthMeter.html#getSingletonInstance(android.content.Context)"><code>DefaultBandwidthMeter.getSingletonInstance(Context)</code></a>
|
||||
<li><a href="LivePlaybackSpeedControl.html" title="interface in com.google.android.exoplayer2"><code>LivePlaybackSpeedControl</code></a>: <a href="DefaultLivePlaybackSpeedControl.html" title="class in com.google.android.exoplayer2"><code>DefaultLivePlaybackSpeedControl</code></a>
|
||||
<li><a href="https://developer.android.com/reference/android/os/Looper.html" title="class or interface in android.os" class="externalLink"><code>Looper</code></a>: The <a href="https://developer.android.com/reference/android/os/Looper.html?is-external=true" title="class or interface in android.os" class="externalLink"><code>Looper</code></a> associated with the current thread, or the <a href="https://developer.android.com/reference/android/os/Looper.html?is-external=true" title="class or interface in android.os" class="externalLink"><code>Looper</code></a> of the application's main thread if the current thread doesn't have a <a href="https://developer.android.com/reference/android/os/Looper.html?is-external=true" title="class or interface in android.os" class="externalLink" target="_top"><code>Looper</code></a>
|
||||
<li><a href="analytics/AnalyticsCollector.html" title="class in com.google.android.exoplayer2.analytics"><code>AnalyticsCollector</code></a>: <a href="analytics/AnalyticsCollector.html" title="class in com.google.android.exoplayer2.analytics"><code>AnalyticsCollector</code></a> with <a href="util/Clock.html#DEFAULT"><code>Clock.DEFAULT</code></a>
|
||||
<li><a href="analytics/AnalyticsCollector.html" title="interface in com.google.android.exoplayer2.analytics"><code>AnalyticsCollector</code></a>: <a href="analytics/AnalyticsCollector.html" title="interface in com.google.android.exoplayer2.analytics"><code>AnalyticsCollector</code></a> with <a href="util/Clock.html#DEFAULT"><code>Clock.DEFAULT</code></a>
|
||||
<li><a href="util/PriorityTaskManager.html" title="class in com.google.android.exoplayer2.util"><code>PriorityTaskManager</code></a>: <code>null</code> (not used)
|
||||
<li><a href="audio/AudioAttributes.html" title="class in com.google.android.exoplayer2.audio"><code>AudioAttributes</code></a>: <a href="audio/AudioAttributes.html#DEFAULT"><code>AudioAttributes.DEFAULT</code></a>, not handling audio focus
|
||||
<li><a href="C.WakeMode.html" title="annotation in com.google.android.exoplayer2"><code>C.WakeMode</code></a>: <a href="C.html#WAKE_MODE_NONE"><code>C.WAKE_MODE_NONE</code></a>
|
||||
@ -489,15 +489,15 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="<init>(android.content.Context,com.google.android.exoplayer2.source.MediaSourceFactory)">
|
||||
<a id="<init>(android.content.Context,com.google.android.exoplayer2.source.MediaSource.Factory)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>Builder</h4>
|
||||
<pre>public Builder​(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a> context,
|
||||
<a href="source/MediaSourceFactory.html" title="interface in com.google.android.exoplayer2.source">MediaSourceFactory</a> mediaSourceFactory)</pre>
|
||||
<div class="block">Creates a builder with a custom <a href="source/MediaSourceFactory.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSourceFactory</code></a>.
|
||||
<a href="source/MediaSource.Factory.html" title="interface in com.google.android.exoplayer2.source">MediaSource.Factory</a> mediaSourceFactory)</pre>
|
||||
<div class="block">Creates a builder with a custom <a href="source/MediaSource.Factory.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSource.Factory</code></a>.
|
||||
|
||||
<p>See <a href="#%3Cinit%3E(android.content.Context)"><code>Builder(Context)</code></a> for a list of default values.
|
||||
|
||||
@ -510,7 +510,7 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="<init>(android.content.Context,com.google.android.exoplayer2.RenderersFactory,com.google.android.exoplayer2.source.MediaSourceFactory)">
|
||||
<a id="<init>(android.content.Context,com.google.android.exoplayer2.RenderersFactory,com.google.android.exoplayer2.source.MediaSource.Factory)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
@ -518,8 +518,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
|
||||
<h4>Builder</h4>
|
||||
<pre>public Builder​(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a> context,
|
||||
<a href="RenderersFactory.html" title="interface in com.google.android.exoplayer2">RenderersFactory</a> renderersFactory,
|
||||
<a href="source/MediaSourceFactory.html" title="interface in com.google.android.exoplayer2.source">MediaSourceFactory</a> mediaSourceFactory)</pre>
|
||||
<div class="block">Creates a builder with a custom <a href="RenderersFactory.html" title="interface in com.google.android.exoplayer2"><code>RenderersFactory</code></a> and <a href="source/MediaSourceFactory.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSourceFactory</code></a>.
|
||||
<a href="source/MediaSource.Factory.html" title="interface in com.google.android.exoplayer2.source">MediaSource.Factory</a> mediaSourceFactory)</pre>
|
||||
<div class="block">Creates a builder with a custom <a href="RenderersFactory.html" title="interface in com.google.android.exoplayer2"><code>RenderersFactory</code></a> and <a href="source/MediaSource.Factory.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSource.Factory</code></a>.
|
||||
|
||||
<p>See <a href="#%3Cinit%3E(android.content.Context)"><code>Builder(Context)</code></a> for a list of default values.
|
||||
|
||||
@ -533,7 +533,7 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="<init>(android.content.Context,com.google.android.exoplayer2.RenderersFactory,com.google.android.exoplayer2.source.MediaSourceFactory,com.google.android.exoplayer2.trackselection.TrackSelector,com.google.android.exoplayer2.LoadControl,com.google.android.exoplayer2.upstream.BandwidthMeter,com.google.android.exoplayer2.analytics.AnalyticsCollector)">
|
||||
<a id="<init>(android.content.Context,com.google.android.exoplayer2.RenderersFactory,com.google.android.exoplayer2.source.MediaSource.Factory,com.google.android.exoplayer2.trackselection.TrackSelector,com.google.android.exoplayer2.LoadControl,com.google.android.exoplayer2.upstream.BandwidthMeter,com.google.android.exoplayer2.analytics.AnalyticsCollector)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockListLast">
|
||||
@ -541,11 +541,11 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
|
||||
<h4>Builder</h4>
|
||||
<pre>public Builder​(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a> context,
|
||||
<a href="RenderersFactory.html" title="interface in com.google.android.exoplayer2">RenderersFactory</a> renderersFactory,
|
||||
<a href="source/MediaSourceFactory.html" title="interface in com.google.android.exoplayer2.source">MediaSourceFactory</a> mediaSourceFactory,
|
||||
<a href="source/MediaSource.Factory.html" title="interface in com.google.android.exoplayer2.source">MediaSource.Factory</a> mediaSourceFactory,
|
||||
<a href="trackselection/TrackSelector.html" title="class in com.google.android.exoplayer2.trackselection">TrackSelector</a> trackSelector,
|
||||
<a href="LoadControl.html" title="interface in com.google.android.exoplayer2">LoadControl</a> loadControl,
|
||||
<a href="upstream/BandwidthMeter.html" title="interface in com.google.android.exoplayer2.upstream">BandwidthMeter</a> bandwidthMeter,
|
||||
<a href="analytics/AnalyticsCollector.html" title="class in com.google.android.exoplayer2.analytics">AnalyticsCollector</a> analyticsCollector)</pre>
|
||||
<a href="analytics/AnalyticsCollector.html" title="interface in com.google.android.exoplayer2.analytics">AnalyticsCollector</a> analyticsCollector)</pre>
|
||||
<div class="block">Creates a builder with the specified custom components.
|
||||
|
||||
<p>Note that this constructor is only useful to try and ensure that ExoPlayer's default
|
||||
@ -555,11 +555,11 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
|
||||
<dd><code>context</code> - A <a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top"><code>Context</code></a>.</dd>
|
||||
<dd><code>renderersFactory</code> - A factory for creating <a href="Renderer.html" title="interface in com.google.android.exoplayer2"><code>Renderers</code></a> to be used by the
|
||||
player.</dd>
|
||||
<dd><code>mediaSourceFactory</code> - A <a href="source/MediaSourceFactory.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSourceFactory</code></a>.</dd>
|
||||
<dd><code>mediaSourceFactory</code> - A <a href="source/MediaSource.Factory.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSource.Factory</code></a>.</dd>
|
||||
<dd><code>trackSelector</code> - A <a href="trackselection/TrackSelector.html" title="class in com.google.android.exoplayer2.trackselection"><code>TrackSelector</code></a>.</dd>
|
||||
<dd><code>loadControl</code> - A <a href="LoadControl.html" title="interface in com.google.android.exoplayer2"><code>LoadControl</code></a>.</dd>
|
||||
<dd><code>bandwidthMeter</code> - A <a href="upstream/BandwidthMeter.html" title="interface in com.google.android.exoplayer2.upstream"><code>BandwidthMeter</code></a>.</dd>
|
||||
<dd><code>analyticsCollector</code> - An <a href="analytics/AnalyticsCollector.html" title="class in com.google.android.exoplayer2.analytics"><code>AnalyticsCollector</code></a>.</dd>
|
||||
<dd><code>analyticsCollector</code> - An <a href="analytics/AnalyticsCollector.html" title="interface in com.google.android.exoplayer2.analytics"><code>AnalyticsCollector</code></a>.</dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
@ -608,17 +608,17 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="setMediaSourceFactory(com.google.android.exoplayer2.source.MediaSourceFactory)">
|
||||
<a id="setMediaSourceFactory(com.google.android.exoplayer2.source.MediaSource.Factory)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>setMediaSourceFactory</h4>
|
||||
<pre class="methodSignature">public <a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a> setMediaSourceFactory​(<a href="source/MediaSourceFactory.html" title="interface in com.google.android.exoplayer2.source">MediaSourceFactory</a> mediaSourceFactory)</pre>
|
||||
<div class="block">Sets the <a href="source/MediaSourceFactory.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSourceFactory</code></a> that will be used by the player.</div>
|
||||
<pre class="methodSignature">public <a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a> setMediaSourceFactory​(<a href="source/MediaSource.Factory.html" title="interface in com.google.android.exoplayer2.source">MediaSource.Factory</a> mediaSourceFactory)</pre>
|
||||
<div class="block">Sets the <a href="source/MediaSource.Factory.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSource.Factory</code></a> that will be used by the player.</div>
|
||||
<dl>
|
||||
<dt><span class="paramLabel">Parameters:</span></dt>
|
||||
<dd><code>mediaSourceFactory</code> - A <a href="source/MediaSourceFactory.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSourceFactory</code></a>.</dd>
|
||||
<dd><code>mediaSourceFactory</code> - A <a href="source/MediaSource.Factory.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSource.Factory</code></a>.</dd>
|
||||
<dt><span class="returnLabel">Returns:</span></dt>
|
||||
<dd>This builder.</dd>
|
||||
<dt><span class="throwsLabel">Throws:</span></dt>
|
||||
@ -705,11 +705,11 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>setAnalyticsCollector</h4>
|
||||
<pre class="methodSignature">public <a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a> setAnalyticsCollector​(<a href="analytics/AnalyticsCollector.html" title="class in com.google.android.exoplayer2.analytics">AnalyticsCollector</a> analyticsCollector)</pre>
|
||||
<div class="block">Sets the <a href="analytics/AnalyticsCollector.html" title="class in com.google.android.exoplayer2.analytics"><code>AnalyticsCollector</code></a> that will collect and forward all player events.</div>
|
||||
<pre class="methodSignature">public <a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a> setAnalyticsCollector​(<a href="analytics/AnalyticsCollector.html" title="interface in com.google.android.exoplayer2.analytics">AnalyticsCollector</a> analyticsCollector)</pre>
|
||||
<div class="block">Sets the <a href="analytics/AnalyticsCollector.html" title="interface in com.google.android.exoplayer2.analytics"><code>AnalyticsCollector</code></a> that will collect and forward all player events.</div>
|
||||
<dl>
|
||||
<dt><span class="paramLabel">Parameters:</span></dt>
|
||||
<dd><code>analyticsCollector</code> - An <a href="analytics/AnalyticsCollector.html" title="class in com.google.android.exoplayer2.analytics"><code>AnalyticsCollector</code></a>.</dd>
|
||||
<dd><code>analyticsCollector</code> - An <a href="analytics/AnalyticsCollector.html" title="interface in com.google.android.exoplayer2.analytics"><code>AnalyticsCollector</code></a>.</dd>
|
||||
<dt><span class="returnLabel">Returns:</span></dt>
|
||||
<dd>This builder.</dd>
|
||||
<dt><span class="throwsLabel">Throws:</span></dt>
|
||||
@ -827,14 +827,14 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="setVideoScalingMode(int)">
|
||||
<a id="setVideoScalingMode(@com.google.android.exoplayer2.C.VideoScalingModeint)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>setVideoScalingMode</h4>
|
||||
<pre class="methodSignature">public <a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a> setVideoScalingMode​(<a href="C.VideoScalingMode.html" title="annotation in com.google.android.exoplayer2">@VideoScalingMode</a>
|
||||
int videoScalingMode)</pre>
|
||||
@com.google.android.exoplayer2.C.VideoScalingMode int videoScalingMode)</pre>
|
||||
<div class="block">Sets the <a href="C.VideoScalingMode.html" title="annotation in com.google.android.exoplayer2"><code>C.VideoScalingMode</code></a> that will be used by the player.
|
||||
|
||||
<p>The scaling mode only applies if a <a href="https://developer.android.com/reference/android/media/MediaCodec.html" title="class or interface in android.media" class="externalLink"><code>MediaCodec</code></a>-based video <a href="Renderer.html" title="interface in com.google.android.exoplayer2" target="_top"><code>Renderer</code></a> is
|
||||
@ -849,14 +849,14 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="setVideoChangeFrameRateStrategy(int)">
|
||||
<a id="setVideoChangeFrameRateStrategy(@com.google.android.exoplayer2.C.VideoChangeFrameRateStrategyint)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>setVideoChangeFrameRateStrategy</h4>
|
||||
<pre class="methodSignature">public <a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a> setVideoChangeFrameRateStrategy​(<a href="C.VideoChangeFrameRateStrategy.html" title="annotation in com.google.android.exoplayer2">@VideoChangeFrameRateStrategy</a>
|
||||
int videoChangeFrameRateStrategy)</pre>
|
||||
@com.google.android.exoplayer2.C.VideoChangeFrameRateStrategy int videoChangeFrameRateStrategy)</pre>
|
||||
<div class="block">Sets a <a href="C.VideoChangeFrameRateStrategy.html" title="annotation in com.google.android.exoplayer2"><code>C.VideoChangeFrameRateStrategy</code></a> that will be used by the player when provided
|
||||
with a video output <a href="https://developer.android.com/reference/android/view/Surface.html" title="class or interface in android.view" class="externalLink" target="_top"><code>Surface</code></a>.
|
||||
|
||||
|
@ -220,7 +220,7 @@ public static interface <span class="typeNameLabel">ExoPlayer.VideoComponent</sp
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i7" class="rowColor">
|
||||
<td class="colFirst"><code>int</code></td>
|
||||
<td class="colFirst"><code>@com.google.android.exoplayer2.C.VideoChangeFrameRateStrategy int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVideoChangeFrameRateStrategy()">getVideoChangeFrameRateStrategy</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
|
||||
@ -229,7 +229,7 @@ public static interface <span class="typeNameLabel">ExoPlayer.VideoComponent</sp
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i8" class="altColor">
|
||||
<td class="colFirst"><code>int</code></td>
|
||||
<td class="colFirst"><code>@com.google.android.exoplayer2.C.VideoScalingMode int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVideoScalingMode()">getVideoScalingMode</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
|
||||
@ -257,10 +257,10 @@ public static interface <span class="typeNameLabel">ExoPlayer.VideoComponent</sp
|
||||
</tr>
|
||||
<tr id="i11" class="rowColor">
|
||||
<td class="colFirst"><code>void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoChangeFrameRateStrategy(int)">setVideoChangeFrameRateStrategy</a></span>​(int videoChangeFrameRateStrategy)</code></th>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoChangeFrameRateStrategy(@com.google.android.exoplayer2.C.VideoChangeFrameRateStrategyint)">setVideoChangeFrameRateStrategy</a></span>​(@com.google.android.exoplayer2.C.VideoChangeFrameRateStrategy int videoChangeFrameRateStrategy)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
|
||||
<div class="deprecationComment">Use <a href="ExoPlayer.html#setVideoChangeFrameRateStrategy(int)"><code>ExoPlayer.setVideoChangeFrameRateStrategy(int)</code></a> instead.</div>
|
||||
<div class="deprecationComment">Use <a href="ExoPlayer.html#setVideoChangeFrameRateStrategy(@com.google.android.exoplayer2.C.VideoChangeFrameRateStrategyint)"><code>ExoPlayer.setVideoChangeFrameRateStrategy(int)</code></a> instead.</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@ -276,10 +276,10 @@ public static interface <span class="typeNameLabel">ExoPlayer.VideoComponent</sp
|
||||
</tr>
|
||||
<tr id="i13" class="rowColor">
|
||||
<td class="colFirst"><code>void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoScalingMode(int)">setVideoScalingMode</a></span>​(int videoScalingMode)</code></th>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoScalingMode(@com.google.android.exoplayer2.C.VideoScalingModeint)">setVideoScalingMode</a></span>​(@com.google.android.exoplayer2.C.VideoScalingMode int videoScalingMode)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
|
||||
<div class="deprecationComment">Use <a href="ExoPlayer.html#setVideoScalingMode(int)"><code>ExoPlayer.setVideoScalingMode(int)</code></a> instead.</div>
|
||||
<div class="deprecationComment">Use <a href="ExoPlayer.html#setVideoScalingMode(@com.google.android.exoplayer2.C.VideoScalingModeint)"><code>ExoPlayer.setVideoScalingMode(int)</code></a> instead.</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@ -336,7 +336,7 @@ public static interface <span class="typeNameLabel">ExoPlayer.VideoComponent</sp
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>Method Detail</h3>
|
||||
<a id="setVideoScalingMode(int)">
|
||||
<a id="setVideoScalingMode(@com.google.android.exoplayer2.C.VideoScalingModeint)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
@ -344,9 +344,9 @@ public static interface <span class="typeNameLabel">ExoPlayer.VideoComponent</sp
|
||||
<h4>setVideoScalingMode</h4>
|
||||
<pre class="methodSignature"><a href="https://developer.android.com/reference/java/lang/Deprecated.html" title="class or interface in java.lang" class="externalLink" target="_top">@Deprecated</a>
|
||||
void setVideoScalingMode​(<a href="C.VideoScalingMode.html" title="annotation in com.google.android.exoplayer2">@VideoScalingMode</a>
|
||||
int videoScalingMode)</pre>
|
||||
@com.google.android.exoplayer2.C.VideoScalingMode int videoScalingMode)</pre>
|
||||
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
|
||||
<div class="deprecationComment">Use <a href="ExoPlayer.html#setVideoScalingMode(int)"><code>ExoPlayer.setVideoScalingMode(int)</code></a> instead.</div>
|
||||
<div class="deprecationComment">Use <a href="ExoPlayer.html#setVideoScalingMode(@com.google.android.exoplayer2.C.VideoScalingModeint)"><code>ExoPlayer.setVideoScalingMode(int)</code></a> instead.</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
@ -358,13 +358,13 @@ void setVideoScalingMode​(<a href="C.VideoScalingMode.html" title="an
|
||||
<h4>getVideoScalingMode</h4>
|
||||
<pre class="methodSignature"><a href="https://developer.android.com/reference/java/lang/Deprecated.html" title="class or interface in java.lang" class="externalLink" target="_top">@Deprecated</a>
|
||||
<a href="C.VideoScalingMode.html" title="annotation in com.google.android.exoplayer2">@VideoScalingMode</a>
|
||||
int getVideoScalingMode()</pre>
|
||||
@com.google.android.exoplayer2.C.VideoScalingMode int getVideoScalingMode()</pre>
|
||||
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
|
||||
<div class="deprecationComment">Use <a href="ExoPlayer.html#getVideoScalingMode()"><code>ExoPlayer.getVideoScalingMode()</code></a> instead.</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="setVideoChangeFrameRateStrategy(int)">
|
||||
<a id="setVideoChangeFrameRateStrategy(@com.google.android.exoplayer2.C.VideoChangeFrameRateStrategyint)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
@ -372,9 +372,9 @@ int getVideoScalingMode()</pre>
|
||||
<h4>setVideoChangeFrameRateStrategy</h4>
|
||||
<pre class="methodSignature"><a href="https://developer.android.com/reference/java/lang/Deprecated.html" title="class or interface in java.lang" class="externalLink" target="_top">@Deprecated</a>
|
||||
void setVideoChangeFrameRateStrategy​(<a href="C.VideoChangeFrameRateStrategy.html" title="annotation in com.google.android.exoplayer2">@VideoChangeFrameRateStrategy</a>
|
||||
int videoChangeFrameRateStrategy)</pre>
|
||||
@com.google.android.exoplayer2.C.VideoChangeFrameRateStrategy int videoChangeFrameRateStrategy)</pre>
|
||||
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
|
||||
<div class="deprecationComment">Use <a href="ExoPlayer.html#setVideoChangeFrameRateStrategy(int)"><code>ExoPlayer.setVideoChangeFrameRateStrategy(int)</code></a> instead.</div>
|
||||
<div class="deprecationComment">Use <a href="ExoPlayer.html#setVideoChangeFrameRateStrategy(@com.google.android.exoplayer2.C.VideoChangeFrameRateStrategyint)"><code>ExoPlayer.setVideoChangeFrameRateStrategy(int)</code></a> instead.</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
@ -386,7 +386,7 @@ void setVideoChangeFrameRateStrategy​(<a href="C.VideoChangeFrameRate
|
||||
<h4>getVideoChangeFrameRateStrategy</h4>
|
||||
<pre class="methodSignature"><a href="https://developer.android.com/reference/java/lang/Deprecated.html" title="class or interface in java.lang" class="externalLink" target="_top">@Deprecated</a>
|
||||
<a href="C.VideoChangeFrameRateStrategy.html" title="annotation in com.google.android.exoplayer2">@VideoChangeFrameRateStrategy</a>
|
||||
int getVideoChangeFrameRateStrategy()</pre>
|
||||
@com.google.android.exoplayer2.C.VideoChangeFrameRateStrategy int getVideoChangeFrameRateStrategy()</pre>
|
||||
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
|
||||
<div class="deprecationComment">Use <a href="ExoPlayer.html#getVideoChangeFrameRateStrategy()"><code>ExoPlayer.getVideoChangeFrameRateStrategy()</code></a> instead.</div>
|
||||
</div>
|
||||
|
File diff suppressed because one or more lines are too long
@ -115,6 +115,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
<hr>
|
||||
<pre><a href="https://developer.android.com/reference/java/lang/annotation/Documented.html" title="class or interface in java.lang.annotation" class="externalLink" target="_top">@Documented</a>
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Retention.html" title="class or interface in java.lang.annotation" class="externalLink">@Retention</a>(<a href="https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html?is-external=true#SOURCE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">SOURCE</a>)
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Target.html" title="class or interface in java.lang.annotation" class="externalLink">@Target</a>({<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#FIELD" title="class or interface in java.lang.annotation" class="externalLink">FIELD</a>,<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#METHOD" title="class or interface in java.lang.annotation" class="externalLink">METHOD</a>,<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#PARAMETER" title="class or interface in java.lang.annotation" class="externalLink">PARAMETER</a>,<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#LOCAL_VARIABLE" title="class or interface in java.lang.annotation" class="externalLink">LOCAL_VARIABLE</a>,<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#TYPE_USE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">TYPE_USE</a>})
|
||||
public static @interface <span class="memberNameLabel">ExoTimeoutException.TimeoutOperation</span></pre>
|
||||
<div class="block">The operation which produced the timeout error. One of <a href="ExoTimeoutException.html#TIMEOUT_OPERATION_RELEASE"><code>ExoTimeoutException.TIMEOUT_OPERATION_RELEASE</code></a>,
|
||||
<a href="ExoTimeoutException.html#TIMEOUT_OPERATION_SET_FOREGROUND_MODE"><code>ExoTimeoutException.TIMEOUT_OPERATION_SET_FOREGROUND_MODE</code></a>, <a href="ExoTimeoutException.html#TIMEOUT_OPERATION_DETACH_SURFACE"><code>ExoTimeoutException.TIMEOUT_OPERATION_DETACH_SURFACE</code></a> or
|
||||
|
@ -223,7 +223,7 @@ extends <a href="https://developer.android.com/reference/java/lang/RuntimeExcept
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>int</code></td>
|
||||
<td class="colFirst"><code>@com.google.android.exoplayer2.ExoTimeoutException.TimeoutOperation int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#timeoutOperation">timeoutOperation</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">The operation on the ExoPlayer playback thread that timed out.</div>
|
||||
@ -247,7 +247,7 @@ extends <a href="https://developer.android.com/reference/java/lang/RuntimeExcept
|
||||
<th class="colLast" scope="col">Description</th>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(int)">ExoTimeoutException</a></span>​(int timeoutOperation)</code></th>
|
||||
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(@com.google.android.exoplayer2.ExoTimeoutException.TimeoutOperationint)">ExoTimeoutException</a></span>​(@com.google.android.exoplayer2.ExoTimeoutException.TimeoutOperation int timeoutOperation)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Creates the timeout exception.</div>
|
||||
</td>
|
||||
@ -356,7 +356,7 @@ extends <a href="https://developer.android.com/reference/java/lang/RuntimeExcept
|
||||
<li class="blockList">
|
||||
<h4>timeoutOperation</h4>
|
||||
<pre><a href="ExoTimeoutException.TimeoutOperation.html" title="annotation in com.google.android.exoplayer2">@TimeoutOperation</a>
|
||||
public final int timeoutOperation</pre>
|
||||
public final @com.google.android.exoplayer2.ExoTimeoutException.TimeoutOperation int timeoutOperation</pre>
|
||||
<div class="block">The operation on the ExoPlayer playback thread that timed out.</div>
|
||||
</li>
|
||||
</ul>
|
||||
@ -370,14 +370,14 @@ public final int timeoutOperation</pre>
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>Constructor Detail</h3>
|
||||
<a id="<init>(int)">
|
||||
<a id="<init>(@com.google.android.exoplayer2.ExoTimeoutException.TimeoutOperationint)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockListLast">
|
||||
<li class="blockList">
|
||||
<h4>ExoTimeoutException</h4>
|
||||
<pre>public ExoTimeoutException​(<a href="ExoTimeoutException.TimeoutOperation.html" title="annotation in com.google.android.exoplayer2">@TimeoutOperation</a>
|
||||
int timeoutOperation)</pre>
|
||||
@com.google.android.exoplayer2.ExoTimeoutException.TimeoutOperation int timeoutOperation)</pre>
|
||||
<div class="block">Creates the timeout exception.</div>
|
||||
<dl>
|
||||
<dt><span class="paramLabel">Parameters:</span></dt>
|
||||
|
@ -325,7 +325,7 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
|
||||
</tr>
|
||||
<tr id="i20" class="altColor">
|
||||
<td class="colFirst"><code><a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a></code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPcmEncoding(int)">setPcmEncoding</a></span>​(int pcmEncoding)</code></th>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPcmEncoding(@com.google.android.exoplayer2.C.PcmEncodingint)">setPcmEncoding</a></span>​(@com.google.android.exoplayer2.C.PcmEncoding int pcmEncoding)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Sets <a href="Format.html#pcmEncoding"><code>Format.pcmEncoding</code></a>.</div>
|
||||
</td>
|
||||
@ -388,7 +388,7 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
|
||||
</tr>
|
||||
<tr id="i29" class="rowColor">
|
||||
<td class="colFirst"><code><a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a></code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setStereoMode(int)">setStereoMode</a></span>​(int stereoMode)</code></th>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setStereoMode(@com.google.android.exoplayer2.C.StereoModeint)">setStereoMode</a></span>​(@com.google.android.exoplayer2.C.StereoMode int stereoMode)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Sets <a href="Format.html#stereoMode"><code>Format.stereoMode</code></a>.</div>
|
||||
</td>
|
||||
@ -816,14 +816,13 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="setStereoMode(int)">
|
||||
<a id="setStereoMode(@com.google.android.exoplayer2.C.StereoModeint)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>setStereoMode</h4>
|
||||
<pre class="methodSignature">public <a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a> setStereoMode​(<a href="C.StereoMode.html" title="annotation in com.google.android.exoplayer2">@StereoMode</a>
|
||||
int stereoMode)</pre>
|
||||
<pre class="methodSignature">public <a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a> setStereoMode​(@com.google.android.exoplayer2.C.StereoMode int stereoMode)</pre>
|
||||
<div class="block">Sets <a href="Format.html#stereoMode"><code>Format.stereoMode</code></a>. The default value is <a href="Format.html#NO_VALUE"><code>Format.NO_VALUE</code></a>.</div>
|
||||
<dl>
|
||||
<dt><span class="paramLabel">Parameters:</span></dt>
|
||||
@ -882,14 +881,13 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="setPcmEncoding(int)">
|
||||
<a id="setPcmEncoding(@com.google.android.exoplayer2.C.PcmEncodingint)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>setPcmEncoding</h4>
|
||||
<pre class="methodSignature">public <a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a> setPcmEncoding​(<a href="C.PcmEncoding.html" title="annotation in com.google.android.exoplayer2">@PcmEncoding</a>
|
||||
int pcmEncoding)</pre>
|
||||
<pre class="methodSignature">public <a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a> setPcmEncoding​(@com.google.android.exoplayer2.C.PcmEncoding int pcmEncoding)</pre>
|
||||
<div class="block">Sets <a href="Format.html#pcmEncoding"><code>Format.pcmEncoding</code></a>. The default value is <a href="Format.html#NO_VALUE"><code>Format.NO_VALUE</code></a>.</div>
|
||||
<dl>
|
||||
<dt><span class="paramLabel">Parameters:</span></dt>
|
||||
|
@ -417,7 +417,7 @@ implements <a href="Bundleable.html" title="interface in com.google.android.exop
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>int</code></td>
|
||||
<td class="colFirst"><code>@com.google.android.exoplayer2.C.PcmEncoding int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#pcmEncoding">pcmEncoding</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">The <a href="C.PcmEncoding.html" title="annotation in com.google.android.exoplayer2"><code>C.PcmEncoding</code></a> for PCM audio.</div>
|
||||
@ -481,7 +481,7 @@ implements <a href="Bundleable.html" title="interface in com.google.android.exop
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>int</code></td>
|
||||
<td class="colFirst"><code>@com.google.android.exoplayer2.C.StereoMode int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#stereoMode">stereoMode</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">The stereo layout for 360/3D/VR video, or <a href="#NO_VALUE"><code>NO_VALUE</code></a> if not applicable.</div>
|
||||
@ -628,14 +628,14 @@ implements <a href="Bundleable.html" title="interface in com.google.android.exop
|
||||
</tr>
|
||||
<tr id="i12" class="altColor">
|
||||
<td class="colFirst"><code>static <a href="Format.html" title="class in com.google.android.exoplayer2">Format</a></code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createAudioSampleFormat(java.lang.String,java.lang.String,java.lang.String,int,int,int,int,int,java.util.List,com.google.android.exoplayer2.drm.DrmInitData,@com.google.android.exoplayer2.C.SelectionFlagsint,java.lang.String)">createAudioSampleFormat</a></span>​(<a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a> id,
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createAudioSampleFormat(java.lang.String,java.lang.String,java.lang.String,int,int,int,int,@com.google.android.exoplayer2.C.PcmEncodingint,java.util.List,com.google.android.exoplayer2.drm.DrmInitData,@com.google.android.exoplayer2.C.SelectionFlagsint,java.lang.String)">createAudioSampleFormat</a></span>​(<a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a> id,
|
||||
<a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a> sampleMimeType,
|
||||
<a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a> codecs,
|
||||
int bitrate,
|
||||
int maxInputSize,
|
||||
int channelCount,
|
||||
int sampleRate,
|
||||
int pcmEncoding,
|
||||
@com.google.android.exoplayer2.C.PcmEncoding int pcmEncoding,
|
||||
<a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink" target="_top">List</a><byte[]> initializationData,
|
||||
<a href="drm/DrmInitData.html" title="class in com.google.android.exoplayer2.drm">DrmInitData</a> drmInitData,
|
||||
@com.google.android.exoplayer2.C.SelectionFlags int selectionFlags,
|
||||
@ -902,7 +902,8 @@ public final @com.google.android.exoplayer2.C.RoleFlags int roleFlags</pre>
|
||||
<ul>
|
||||
<li>DASH representations: Always <a href="#NO_VALUE"><code>NO_VALUE</code></a>.
|
||||
<li>HLS variants: The <code>AVERAGE-BANDWIDTH</code> attribute defined on the corresponding <code>
|
||||
EXT-X-STREAM-INF</code> tag in the master playlist, or <a href="#NO_VALUE"><code>NO_VALUE</code></a> if not present.
|
||||
EXT-X-STREAM-INF</code> tag in the multivariant playlist, or <a href="#NO_VALUE"><code>NO_VALUE</code></a> if not
|
||||
present.
|
||||
<li>SmoothStreaming track elements: The <code>Bitrate</code> attribute defined on the
|
||||
corresponding <code>TrackElement</code> in the manifest, or <a href="#NO_VALUE"><code>NO_VALUE</code></a> if not
|
||||
present.
|
||||
@ -1108,8 +1109,7 @@ public final byte[] projectionData</pre>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>stereoMode</h4>
|
||||
<pre><a href="C.StereoMode.html" title="annotation in com.google.android.exoplayer2">@StereoMode</a>
|
||||
public final int stereoMode</pre>
|
||||
<pre>public final @com.google.android.exoplayer2.C.StereoMode int stereoMode</pre>
|
||||
<div class="block">The stereo layout for 360/3D/VR video, or <a href="#NO_VALUE"><code>NO_VALUE</code></a> if not applicable. Valid stereo
|
||||
modes are <a href="C.html#STEREO_MODE_MONO"><code>C.STEREO_MODE_MONO</code></a>, <a href="C.html#STEREO_MODE_TOP_BOTTOM"><code>C.STEREO_MODE_TOP_BOTTOM</code></a>, <a href="C.html#STEREO_MODE_LEFT_RIGHT"><code>C.STEREO_MODE_LEFT_RIGHT</code></a>, <a href="C.html#STEREO_MODE_STEREO_MESH"><code>C.STEREO_MODE_STEREO_MESH</code></a>.</div>
|
||||
</li>
|
||||
@ -1151,8 +1151,7 @@ public final <a href="video/ColorInfo.html" title="class in com.google.andr
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>pcmEncoding</h4>
|
||||
<pre><a href="C.PcmEncoding.html" title="annotation in com.google.android.exoplayer2">@PcmEncoding</a>
|
||||
public final int pcmEncoding</pre>
|
||||
<pre>public final @com.google.android.exoplayer2.C.PcmEncoding int pcmEncoding</pre>
|
||||
<div class="block">The <a href="C.PcmEncoding.html" title="annotation in com.google.android.exoplayer2"><code>C.PcmEncoding</code></a> for PCM audio. Set to <a href="#NO_VALUE"><code>NO_VALUE</code></a> for other media types.</div>
|
||||
</li>
|
||||
</ul>
|
||||
@ -1305,7 +1304,7 @@ public static <a href="Format.html" title="class in com.google.android.exop
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="createAudioSampleFormat(java.lang.String,java.lang.String,java.lang.String,int,int,int,int,int,java.util.List,com.google.android.exoplayer2.drm.DrmInitData,@com.google.android.exoplayer2.C.SelectionFlagsint,java.lang.String)">
|
||||
<a id="createAudioSampleFormat(java.lang.String,java.lang.String,java.lang.String,int,int,int,int,@com.google.android.exoplayer2.C.PcmEncodingint,java.util.List,com.google.android.exoplayer2.drm.DrmInitData,@com.google.android.exoplayer2.C.SelectionFlagsint,java.lang.String)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
@ -1322,8 +1321,7 @@ public static <a href="Format.html" title="class in com.google.android.exop
|
||||
int maxInputSize,
|
||||
int channelCount,
|
||||
int sampleRate,
|
||||
<a href="C.PcmEncoding.html" title="annotation in com.google.android.exoplayer2">@PcmEncoding</a>
|
||||
int pcmEncoding,
|
||||
@com.google.android.exoplayer2.C.PcmEncoding int pcmEncoding,
|
||||
@Nullable
|
||||
<a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink" target="_top">List</a><byte[]> initializationData,
|
||||
@Nullable
|
||||
|
File diff suppressed because one or more lines are too long
@ -190,14 +190,14 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code><a href="https://guava.dev/releases/27.1-android/api/docs/com/google/common/collect/ImmutableList.html?is-external=true" title="class or interface in com.google.common.collect" class="externalLink">ImmutableList</a><<a href="C.TrackType.html" title="annotation in com.google.android.exoplayer2">@TrackType</a> <a href="https://developer.android.com/reference/java/lang/Integer.html" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>></code></td>
|
||||
<td class="colFirst"><code><a href="https://guava.dev/releases/31.0.1-android/api/docs/com/google/common/collect/ImmutableList.html?is-external=true" title="class or interface in com.google.common.collect" class="externalLink">ImmutableList</a><<a href="C.TrackType.html" title="annotation in com.google.android.exoplayer2">@TrackType</a> <a href="https://developer.android.com/reference/java/lang/Integer.html" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>></code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#forcedSessionTrackTypes">forcedSessionTrackTypes</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">The types of tracks for which to always use a DRM session even if the content is unencrypted.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code><a href="https://guava.dev/releases/27.1-android/api/docs/com/google/common/collect/ImmutableMap.html?is-external=true" title="class or interface in com.google.common.collect" class="externalLink">ImmutableMap</a><<a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink">String</a>,​<a href="https://developer.android.com/reference/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_top">String</a>></code></td>
|
||||
<td class="colFirst"><code><a href="https://guava.dev/releases/31.0.1-android/api/docs/com/google/common/collect/ImmutableMap.html?is-external=true" title="class or interface in com.google.common.collect" class="externalLink">ImmutableMap</a><<a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink">String</a>,​<a href="https://developer.android.com/reference/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_top">String</a>></code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#licenseRequestHeaders">licenseRequestHeaders</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">The headers to attach to requests sent to the DRM license server.</div>
|
||||
@ -226,7 +226,7 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code><a href="https://guava.dev/releases/27.1-android/api/docs/com/google/common/collect/ImmutableMap.html?is-external=true" title="class or interface in com.google.common.collect" class="externalLink">ImmutableMap</a><<a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink">String</a>,​<a href="https://developer.android.com/reference/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_top">String</a>></code></td>
|
||||
<td class="colFirst"><code><a href="https://guava.dev/releases/31.0.1-android/api/docs/com/google/common/collect/ImmutableMap.html?is-external=true" title="class or interface in com.google.common.collect" class="externalLink">ImmutableMap</a><<a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink">String</a>,​<a href="https://developer.android.com/reference/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_top">String</a>></code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#requestHeaders">requestHeaders</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
|
||||
@ -242,7 +242,7 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code><a href="https://guava.dev/releases/27.1-android/api/docs/com/google/common/collect/ImmutableList.html?is-external=true" title="class or interface in com.google.common.collect" class="externalLink">ImmutableList</a><<a href="C.TrackType.html" title="annotation in com.google.android.exoplayer2">@TrackType</a> <a href="https://developer.android.com/reference/java/lang/Integer.html" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>></code></td>
|
||||
<td class="colFirst"><code><a href="https://guava.dev/releases/31.0.1-android/api/docs/com/google/common/collect/ImmutableList.html?is-external=true" title="class or interface in com.google.common.collect" class="externalLink">ImmutableList</a><<a href="C.TrackType.html" title="annotation in com.google.android.exoplayer2">@TrackType</a> <a href="https://developer.android.com/reference/java/lang/Integer.html" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>></code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sessionForClearTypes">sessionForClearTypes</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
|
||||
@ -367,7 +367,7 @@ public final <a href="https://developer.android.com/reference/android/net/U
|
||||
<li class="blockList">
|
||||
<h4>requestHeaders</h4>
|
||||
<pre><a href="https://developer.android.com/reference/java/lang/Deprecated.html" title="class or interface in java.lang" class="externalLink" target="_top">@Deprecated</a>
|
||||
public final <a href="https://guava.dev/releases/27.1-android/api/docs/com/google/common/collect/ImmutableMap.html?is-external=true" title="class or interface in com.google.common.collect" class="externalLink">ImmutableMap</a><<a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink">String</a>,​<a href="https://developer.android.com/reference/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_top">String</a>> requestHeaders</pre>
|
||||
public final <a href="https://guava.dev/releases/31.0.1-android/api/docs/com/google/common/collect/ImmutableMap.html?is-external=true" title="class or interface in com.google.common.collect" class="externalLink">ImmutableMap</a><<a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink">String</a>,​<a href="https://developer.android.com/reference/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_top">String</a>> requestHeaders</pre>
|
||||
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
|
||||
<div class="deprecationComment">Use <a href="#licenseRequestHeaders"><code>licenseRequestHeaders</code></a> instead.</div>
|
||||
</div>
|
||||
@ -379,7 +379,7 @@ public final <a href="https://guava.dev/releases/27.1-android/api/docs/com/
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>licenseRequestHeaders</h4>
|
||||
<pre>public final <a href="https://guava.dev/releases/27.1-android/api/docs/com/google/common/collect/ImmutableMap.html?is-external=true" title="class or interface in com.google.common.collect" class="externalLink">ImmutableMap</a><<a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink">String</a>,​<a href="https://developer.android.com/reference/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_top">String</a>> licenseRequestHeaders</pre>
|
||||
<pre>public final <a href="https://guava.dev/releases/31.0.1-android/api/docs/com/google/common/collect/ImmutableMap.html?is-external=true" title="class or interface in com.google.common.collect" class="externalLink">ImmutableMap</a><<a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink">String</a>,​<a href="https://developer.android.com/reference/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_top">String</a>> licenseRequestHeaders</pre>
|
||||
<div class="block">The headers to attach to requests sent to the DRM license server.</div>
|
||||
</li>
|
||||
</ul>
|
||||
@ -422,7 +422,7 @@ public final <a href="https://guava.dev/releases/27.1-android/api/docs/com/
|
||||
<li class="blockList">
|
||||
<h4>sessionForClearTypes</h4>
|
||||
<pre><a href="https://developer.android.com/reference/java/lang/Deprecated.html" title="class or interface in java.lang" class="externalLink" target="_top">@Deprecated</a>
|
||||
public final <a href="https://guava.dev/releases/27.1-android/api/docs/com/google/common/collect/ImmutableList.html?is-external=true" title="class or interface in com.google.common.collect" class="externalLink">ImmutableList</a><<a href="C.TrackType.html" title="annotation in com.google.android.exoplayer2">@TrackType</a> <a href="https://developer.android.com/reference/java/lang/Integer.html" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>> sessionForClearTypes</pre>
|
||||
public final <a href="https://guava.dev/releases/31.0.1-android/api/docs/com/google/common/collect/ImmutableList.html?is-external=true" title="class or interface in com.google.common.collect" class="externalLink">ImmutableList</a><<a href="C.TrackType.html" title="annotation in com.google.android.exoplayer2">@TrackType</a> <a href="https://developer.android.com/reference/java/lang/Integer.html" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>> sessionForClearTypes</pre>
|
||||
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
|
||||
<div class="deprecationComment">Use <a href="#forcedSessionTrackTypes"><code>forcedSessionTrackTypes</code></a>.</div>
|
||||
</div>
|
||||
@ -434,7 +434,7 @@ public final <a href="https://guava.dev/releases/27.1-android/api/docs/com/
|
||||
<ul class="blockListLast">
|
||||
<li class="blockList">
|
||||
<h4>forcedSessionTrackTypes</h4>
|
||||
<pre>public final <a href="https://guava.dev/releases/27.1-android/api/docs/com/google/common/collect/ImmutableList.html?is-external=true" title="class or interface in com.google.common.collect" class="externalLink">ImmutableList</a><<a href="C.TrackType.html" title="annotation in com.google.android.exoplayer2">@TrackType</a> <a href="https://developer.android.com/reference/java/lang/Integer.html" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>> forcedSessionTrackTypes</pre>
|
||||
<pre>public final <a href="https://guava.dev/releases/31.0.1-android/api/docs/com/google/common/collect/ImmutableList.html?is-external=true" title="class or interface in com.google.common.collect" class="externalLink">ImmutableList</a><<a href="C.TrackType.html" title="annotation in com.google.android.exoplayer2">@TrackType</a> <a href="https://developer.android.com/reference/java/lang/Integer.html" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>> forcedSessionTrackTypes</pre>
|
||||
<div class="block">The types of tracks for which to always use a DRM session even if the content is unencrypted.</div>
|
||||
</li>
|
||||
</ul>
|
||||
|
@ -196,7 +196,7 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code><a href="https://guava.dev/releases/27.1-android/api/docs/com/google/common/collect/ImmutableList.html?is-external=true" title="class or interface in com.google.common.collect" class="externalLink">ImmutableList</a><<a href="MediaItem.SubtitleConfiguration.html" title="class in com.google.android.exoplayer2">MediaItem.SubtitleConfiguration</a>></code></td>
|
||||
<td class="colFirst"><code><a href="https://guava.dev/releases/31.0.1-android/api/docs/com/google/common/collect/ImmutableList.html?is-external=true" title="class or interface in com.google.common.collect" class="externalLink">ImmutableList</a><<a href="MediaItem.SubtitleConfiguration.html" title="class in com.google.android.exoplayer2">MediaItem.SubtitleConfiguration</a>></code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#subtitleConfigurations">subtitleConfigurations</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Optional subtitles to be sideloaded.</div>
|
||||
@ -350,7 +350,7 @@ public final <a href="https://developer.android.com/reference/java/lang/Str
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>subtitleConfigurations</h4>
|
||||
<pre>public final <a href="https://guava.dev/releases/27.1-android/api/docs/com/google/common/collect/ImmutableList.html?is-external=true" title="class or interface in com.google.common.collect" class="externalLink">ImmutableList</a><<a href="MediaItem.SubtitleConfiguration.html" title="class in com.google.android.exoplayer2">MediaItem.SubtitleConfiguration</a>> subtitleConfigurations</pre>
|
||||
<pre>public final <a href="https://guava.dev/releases/31.0.1-android/api/docs/com/google/common/collect/ImmutableList.html?is-external=true" title="class or interface in com.google.common.collect" class="externalLink">ImmutableList</a><<a href="MediaItem.SubtitleConfiguration.html" title="class in com.google.android.exoplayer2">MediaItem.SubtitleConfiguration</a>> subtitleConfigurations</pre>
|
||||
<div class="block">Optional subtitles to be sideloaded.</div>
|
||||
</li>
|
||||
</ul>
|
||||
|
@ -173,7 +173,7 @@ extends <a href="MediaItem.SubtitleConfiguration.html" title="class in com.googl
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>Fields inherited from class com.google.android.exoplayer2.<a href="MediaItem.SubtitleConfiguration.html" title="class in com.google.android.exoplayer2">MediaItem.SubtitleConfiguration</a></h3>
|
||||
<code><a href="MediaItem.SubtitleConfiguration.html#label">label</a>, <a href="MediaItem.SubtitleConfiguration.html#language">language</a>, <a href="MediaItem.SubtitleConfiguration.html#mimeType">mimeType</a>, <a href="MediaItem.SubtitleConfiguration.html#roleFlags">roleFlags</a>, <a href="MediaItem.SubtitleConfiguration.html#selectionFlags">selectionFlags</a>, <a href="MediaItem.SubtitleConfiguration.html#uri">uri</a></code></li>
|
||||
<code><a href="MediaItem.SubtitleConfiguration.html#id">id</a>, <a href="MediaItem.SubtitleConfiguration.html#label">label</a>, <a href="MediaItem.SubtitleConfiguration.html#language">language</a>, <a href="MediaItem.SubtitleConfiguration.html#mimeType">mimeType</a>, <a href="MediaItem.SubtitleConfiguration.html#roleFlags">roleFlags</a>, <a href="MediaItem.SubtitleConfiguration.html#selectionFlags">selectionFlags</a>, <a href="MediaItem.SubtitleConfiguration.html#uri">uri</a></code></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
@ -25,7 +25,7 @@
|
||||
catch(err) {
|
||||
}
|
||||
//-->
|
||||
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10};
|
||||
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10};
|
||||
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
|
||||
var altColor = "altColor";
|
||||
var rowColor = "rowColor";
|
||||
@ -188,40 +188,47 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
|
||||
</tr>
|
||||
<tr id="i1" class="rowColor">
|
||||
<td class="colFirst"><code><a href="MediaItem.SubtitleConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.SubtitleConfiguration.Builder</a></code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setId(java.lang.String)">setId</a></span>​(<a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a> id)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Sets the optional ID for this subtitle track.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i2" class="altColor">
|
||||
<td class="colFirst"><code><a href="MediaItem.SubtitleConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.SubtitleConfiguration.Builder</a></code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setLabel(java.lang.String)">setLabel</a></span>​(<a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a> label)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Sets the optional label for this subtitle track.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i2" class="altColor">
|
||||
<tr id="i3" class="rowColor">
|
||||
<td class="colFirst"><code><a href="MediaItem.SubtitleConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.SubtitleConfiguration.Builder</a></code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setLanguage(java.lang.String)">setLanguage</a></span>​(<a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a> language)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Sets the optional language of the subtitle file.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i3" class="rowColor">
|
||||
<tr id="i4" class="altColor">
|
||||
<td class="colFirst"><code><a href="MediaItem.SubtitleConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.SubtitleConfiguration.Builder</a></code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMimeType(java.lang.String)">setMimeType</a></span>​(<a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a> mimeType)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Sets the MIME type.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i4" class="altColor">
|
||||
<tr id="i5" class="rowColor">
|
||||
<td class="colFirst"><code><a href="MediaItem.SubtitleConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.SubtitleConfiguration.Builder</a></code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setRoleFlags(@com.google.android.exoplayer2.C.RoleFlagsint)">setRoleFlags</a></span>​(@com.google.android.exoplayer2.C.RoleFlags int roleFlags)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Sets the role flags.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i5" class="rowColor">
|
||||
<tr id="i6" class="altColor">
|
||||
<td class="colFirst"><code><a href="MediaItem.SubtitleConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.SubtitleConfiguration.Builder</a></code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSelectionFlags(@com.google.android.exoplayer2.C.SelectionFlagsint)">setSelectionFlags</a></span>​(@com.google.android.exoplayer2.C.SelectionFlags int selectionFlags)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Sets the flags used for track selection.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i6" class="altColor">
|
||||
<tr id="i7" class="rowColor">
|
||||
<td class="colFirst"><code><a href="MediaItem.SubtitleConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.SubtitleConfiguration.Builder</a></code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setUri(android.net.Uri)">setUri</a></span>​(<a href="https://developer.android.com/reference/android/net/Uri.html" title="class or interface in android.net" class="externalLink" target="_top">Uri</a> uri)</code></th>
|
||||
<td class="colLast">
|
||||
@ -340,6 +347,17 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
|
||||
<div class="block">Sets the optional label for this subtitle track.</div>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="setId(java.lang.String)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>setId</h4>
|
||||
<pre class="methodSignature">public <a href="MediaItem.SubtitleConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.SubtitleConfiguration.Builder</a> setId​(@Nullable
|
||||
<a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a> id)</pre>
|
||||
<div class="block">Sets the optional ID for this subtitle track.</div>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="build()">
|
||||
<!-- -->
|
||||
</a>
|
||||
|
@ -187,40 +187,47 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code><a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a></code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#id">id</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">The ID of the subtitles.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code><a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a></code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#label">label</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">The label.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code><a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a></code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#language">language</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">The language.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code><a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a></code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#mimeType">mimeType</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">The optional MIME type of the subtitle file, or <code>null</code> if unspecified.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>@com.google.android.exoplayer2.C.RoleFlags int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#roleFlags">roleFlags</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">The role flags.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>@com.google.android.exoplayer2.C.SelectionFlags int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#selectionFlags">selectionFlags</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">The selection flags.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code><a href="https://developer.android.com/reference/android/net/Uri.html" title="class or interface in android.net" class="externalLink" target="_top">Uri</a></code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#uri">uri</a></span></code></th>
|
||||
<td class="colLast">
|
||||
@ -343,7 +350,7 @@ public final @com.google.android.exoplayer2.C.RoleFlags int roleFlags</pre>
|
||||
<a id="label">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockListLast">
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>label</h4>
|
||||
<pre>@Nullable
|
||||
@ -351,6 +358,18 @@ public final <a href="https://developer.android.com/reference/java/lang/Str
|
||||
<div class="block">The label.</div>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="id">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockListLast">
|
||||
<li class="blockList">
|
||||
<h4>id</h4>
|
||||
<pre>@Nullable
|
||||
public final <a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a> id</pre>
|
||||
<div class="block">The ID of the subtitles. This will be propagated to the <a href="Format.html#id"><code>Format.id</code></a> of the subtitle
|
||||
track created from this configuration.</div>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
@ -153,7 +153,7 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
|
||||
<th class="colLast" scope="col">Description</th>
|
||||
</tr>
|
||||
<tr id="i0" class="altColor">
|
||||
<td class="colFirst"><code>static <a href="https://guava.dev/releases/27.1-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html?is-external=true" title="class or interface in com.google.common.util.concurrent" class="externalLink">ListenableFuture</a><<a href="source/TrackGroupArray.html" title="class in com.google.android.exoplayer2.source">TrackGroupArray</a>></code></td>
|
||||
<td class="colFirst"><code>static <a href="https://guava.dev/releases/31.0.1-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html?is-external=true" title="class or interface in com.google.common.util.concurrent" class="externalLink">ListenableFuture</a><<a href="source/TrackGroupArray.html" title="class in com.google.android.exoplayer2.source">TrackGroupArray</a>></code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#retrieveMetadata(android.content.Context,com.google.android.exoplayer2.MediaItem)">retrieveMetadata</a></span>​(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a> context,
|
||||
<a href="MediaItem.html" title="class in com.google.android.exoplayer2">MediaItem</a> mediaItem)</code></th>
|
||||
<td class="colLast">
|
||||
@ -161,8 +161,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i1" class="rowColor">
|
||||
<td class="colFirst"><code>static <a href="https://guava.dev/releases/27.1-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html?is-external=true" title="class or interface in com.google.common.util.concurrent" class="externalLink">ListenableFuture</a><<a href="source/TrackGroupArray.html" title="class in com.google.android.exoplayer2.source">TrackGroupArray</a>></code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#retrieveMetadata(com.google.android.exoplayer2.source.MediaSourceFactory,com.google.android.exoplayer2.MediaItem)">retrieveMetadata</a></span>​(<a href="source/MediaSourceFactory.html" title="interface in com.google.android.exoplayer2.source">MediaSourceFactory</a> mediaSourceFactory,
|
||||
<td class="colFirst"><code>static <a href="https://guava.dev/releases/31.0.1-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html?is-external=true" title="class or interface in com.google.common.util.concurrent" class="externalLink">ListenableFuture</a><<a href="source/TrackGroupArray.html" title="class in com.google.android.exoplayer2.source">TrackGroupArray</a>></code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#retrieveMetadata(com.google.android.exoplayer2.source.MediaSource.Factory,com.google.android.exoplayer2.MediaItem)">retrieveMetadata</a></span>​(<a href="source/MediaSource.Factory.html" title="interface in com.google.android.exoplayer2.source">MediaSource.Factory</a> mediaSourceFactory,
|
||||
<a href="MediaItem.html" title="class in com.google.android.exoplayer2">MediaItem</a> mediaItem)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Retrieves the <a href="source/TrackGroupArray.html" title="class in com.google.android.exoplayer2.source"><code>TrackGroupArray</code></a> corresponding to a <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a>.</div>
|
||||
@ -198,39 +198,39 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>retrieveMetadata</h4>
|
||||
<pre class="methodSignature">public static <a href="https://guava.dev/releases/27.1-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html?is-external=true" title="class or interface in com.google.common.util.concurrent" class="externalLink">ListenableFuture</a><<a href="source/TrackGroupArray.html" title="class in com.google.android.exoplayer2.source">TrackGroupArray</a>> retrieveMetadata​(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a> context,
|
||||
<pre class="methodSignature">public static <a href="https://guava.dev/releases/31.0.1-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html?is-external=true" title="class or interface in com.google.common.util.concurrent" class="externalLink">ListenableFuture</a><<a href="source/TrackGroupArray.html" title="class in com.google.android.exoplayer2.source">TrackGroupArray</a>> retrieveMetadata​(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a> context,
|
||||
<a href="MediaItem.html" title="class in com.google.android.exoplayer2">MediaItem</a> mediaItem)</pre>
|
||||
<div class="block">Retrieves the <a href="source/TrackGroupArray.html" title="class in com.google.android.exoplayer2.source"><code>TrackGroupArray</code></a> corresponding to a <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a>.
|
||||
|
||||
<p>This is equivalent to using <a href="#retrieveMetadata(com.google.android.exoplayer2.source.MediaSourceFactory,com.google.android.exoplayer2.MediaItem)"><code>retrieveMetadata(MediaSourceFactory, MediaItem)</code></a> with a
|
||||
<p>This is equivalent to using <a href="#retrieveMetadata(com.google.android.exoplayer2.source.MediaSource.Factory,com.google.android.exoplayer2.MediaItem)"><code>retrieveMetadata(MediaSource.Factory, MediaItem)</code></a> with a
|
||||
<a href="source/DefaultMediaSourceFactory.html" title="class in com.google.android.exoplayer2.source"><code>DefaultMediaSourceFactory</code></a> and a <a href="extractor/DefaultExtractorsFactory.html" title="class in com.google.android.exoplayer2.extractor"><code>DefaultExtractorsFactory</code></a> with <a href="extractor/mp4/Mp4Extractor.html#FLAG_READ_MOTION_PHOTO_METADATA"><code>Mp4Extractor.FLAG_READ_MOTION_PHOTO_METADATA</code></a> and <a href="extractor/mp4/Mp4Extractor.html#FLAG_READ_SEF_DATA"><code>Mp4Extractor.FLAG_READ_SEF_DATA</code></a> set.</div>
|
||||
<dl>
|
||||
<dt><span class="paramLabel">Parameters:</span></dt>
|
||||
<dd><code>context</code> - The <a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top"><code>Context</code></a>.</dd>
|
||||
<dd><code>mediaItem</code> - The <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a> whose metadata should be retrieved.</dd>
|
||||
<dt><span class="returnLabel">Returns:</span></dt>
|
||||
<dd>A <a href="https://guava.dev/releases/27.1-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html?is-external=true" title="class or interface in com.google.common.util.concurrent" class="externalLink"><code>ListenableFuture</code></a> of the result.</dd>
|
||||
<dd>A <a href="https://guava.dev/releases/31.0.1-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html?is-external=true" title="class or interface in com.google.common.util.concurrent" class="externalLink"><code>ListenableFuture</code></a> of the result.</dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="retrieveMetadata(com.google.android.exoplayer2.source.MediaSourceFactory,com.google.android.exoplayer2.MediaItem)">
|
||||
<a id="retrieveMetadata(com.google.android.exoplayer2.source.MediaSource.Factory,com.google.android.exoplayer2.MediaItem)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockListLast">
|
||||
<li class="blockList">
|
||||
<h4>retrieveMetadata</h4>
|
||||
<pre class="methodSignature">public static <a href="https://guava.dev/releases/27.1-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html?is-external=true" title="class or interface in com.google.common.util.concurrent" class="externalLink">ListenableFuture</a><<a href="source/TrackGroupArray.html" title="class in com.google.android.exoplayer2.source">TrackGroupArray</a>> retrieveMetadata​(<a href="source/MediaSourceFactory.html" title="interface in com.google.android.exoplayer2.source">MediaSourceFactory</a> mediaSourceFactory,
|
||||
<pre class="methodSignature">public static <a href="https://guava.dev/releases/31.0.1-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html?is-external=true" title="class or interface in com.google.common.util.concurrent" class="externalLink">ListenableFuture</a><<a href="source/TrackGroupArray.html" title="class in com.google.android.exoplayer2.source">TrackGroupArray</a>> retrieveMetadata​(<a href="source/MediaSource.Factory.html" title="interface in com.google.android.exoplayer2.source">MediaSource.Factory</a> mediaSourceFactory,
|
||||
<a href="MediaItem.html" title="class in com.google.android.exoplayer2">MediaItem</a> mediaItem)</pre>
|
||||
<div class="block">Retrieves the <a href="source/TrackGroupArray.html" title="class in com.google.android.exoplayer2.source"><code>TrackGroupArray</code></a> corresponding to a <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a>.
|
||||
|
||||
<p>This method is thread-safe.</div>
|
||||
<dl>
|
||||
<dt><span class="paramLabel">Parameters:</span></dt>
|
||||
<dd><code>mediaSourceFactory</code> - mediaSourceFactory The <a href="source/MediaSourceFactory.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSourceFactory</code></a> to use to read the
|
||||
<dd><code>mediaSourceFactory</code> - mediaSourceFactory The <a href="source/MediaSource.Factory.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSource.Factory</code></a> to use to read the
|
||||
data.</dd>
|
||||
<dd><code>mediaItem</code> - The <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a> whose metadata should be retrieved.</dd>
|
||||
<dt><span class="returnLabel">Returns:</span></dt>
|
||||
<dd>A <a href="https://guava.dev/releases/27.1-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html?is-external=true" title="class or interface in com.google.common.util.concurrent" class="externalLink"><code>ListenableFuture</code></a> of the result.</dd>
|
||||
<dd>A <a href="https://guava.dev/releases/31.0.1-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html?is-external=true" title="class or interface in com.google.common.util.concurrent" class="externalLink"><code>ListenableFuture</code></a> of the result.</dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
|
@ -163,7 +163,7 @@ implements <a href="Renderer.html" title="interface in com.google.android.exopla
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>Nested classes/interfaces inherited from interface com.google.android.exoplayer2.<a href="RendererCapabilities.html" title="interface in com.google.android.exoplayer2">RendererCapabilities</a></h3>
|
||||
<code><a href="RendererCapabilities.AdaptiveSupport.html" title="annotation in com.google.android.exoplayer2">RendererCapabilities.AdaptiveSupport</a>, <a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2">RendererCapabilities.Capabilities</a>, <a href="RendererCapabilities.FormatSupport.html" title="annotation in com.google.android.exoplayer2">RendererCapabilities.FormatSupport</a>, <a href="RendererCapabilities.TunnelingSupport.html" title="annotation in com.google.android.exoplayer2">RendererCapabilities.TunnelingSupport</a></code></li>
|
||||
<code><a href="RendererCapabilities.AdaptiveSupport.html" title="annotation in com.google.android.exoplayer2">RendererCapabilities.AdaptiveSupport</a>, <a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2">RendererCapabilities.Capabilities</a>, <a href="RendererCapabilities.DecoderSupport.html" title="annotation in com.google.android.exoplayer2">RendererCapabilities.DecoderSupport</a>, <a href="RendererCapabilities.FormatSupport.html" title="annotation in com.google.android.exoplayer2">RendererCapabilities.FormatSupport</a>, <a href="RendererCapabilities.HardwareAccelerationSupport.html" title="annotation in com.google.android.exoplayer2">RendererCapabilities.HardwareAccelerationSupport</a>, <a href="RendererCapabilities.TunnelingSupport.html" title="annotation in com.google.android.exoplayer2">RendererCapabilities.TunnelingSupport</a></code></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -187,7 +187,7 @@ implements <a href="Renderer.html" title="interface in com.google.android.exopla
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>Fields inherited from interface com.google.android.exoplayer2.<a href="RendererCapabilities.html" title="interface in com.google.android.exoplayer2">RendererCapabilities</a></h3>
|
||||
<code><a href="RendererCapabilities.html#ADAPTIVE_NOT_SEAMLESS">ADAPTIVE_NOT_SEAMLESS</a>, <a href="RendererCapabilities.html#ADAPTIVE_NOT_SUPPORTED">ADAPTIVE_NOT_SUPPORTED</a>, <a href="RendererCapabilities.html#ADAPTIVE_SEAMLESS">ADAPTIVE_SEAMLESS</a>, <a href="RendererCapabilities.html#ADAPTIVE_SUPPORT_MASK">ADAPTIVE_SUPPORT_MASK</a>, <a href="RendererCapabilities.html#FORMAT_EXCEEDS_CAPABILITIES">FORMAT_EXCEEDS_CAPABILITIES</a>, <a href="RendererCapabilities.html#FORMAT_HANDLED">FORMAT_HANDLED</a>, <a href="RendererCapabilities.html#FORMAT_SUPPORT_MASK">FORMAT_SUPPORT_MASK</a>, <a href="RendererCapabilities.html#FORMAT_UNSUPPORTED_DRM">FORMAT_UNSUPPORTED_DRM</a>, <a href="RendererCapabilities.html#FORMAT_UNSUPPORTED_SUBTYPE">FORMAT_UNSUPPORTED_SUBTYPE</a>, <a href="RendererCapabilities.html#FORMAT_UNSUPPORTED_TYPE">FORMAT_UNSUPPORTED_TYPE</a>, <a href="RendererCapabilities.html#TUNNELING_NOT_SUPPORTED">TUNNELING_NOT_SUPPORTED</a>, <a href="RendererCapabilities.html#TUNNELING_SUPPORT_MASK">TUNNELING_SUPPORT_MASK</a>, <a href="RendererCapabilities.html#TUNNELING_SUPPORTED">TUNNELING_SUPPORTED</a></code></li>
|
||||
<code><a href="RendererCapabilities.html#ADAPTIVE_NOT_SEAMLESS">ADAPTIVE_NOT_SEAMLESS</a>, <a href="RendererCapabilities.html#ADAPTIVE_NOT_SUPPORTED">ADAPTIVE_NOT_SUPPORTED</a>, <a href="RendererCapabilities.html#ADAPTIVE_SEAMLESS">ADAPTIVE_SEAMLESS</a>, <a href="RendererCapabilities.html#ADAPTIVE_SUPPORT_MASK">ADAPTIVE_SUPPORT_MASK</a>, <a href="RendererCapabilities.html#DECODER_SUPPORT_FALLBACK">DECODER_SUPPORT_FALLBACK</a>, <a href="RendererCapabilities.html#DECODER_SUPPORT_PRIMARY">DECODER_SUPPORT_PRIMARY</a>, <a href="RendererCapabilities.html#FORMAT_EXCEEDS_CAPABILITIES">FORMAT_EXCEEDS_CAPABILITIES</a>, <a href="RendererCapabilities.html#FORMAT_HANDLED">FORMAT_HANDLED</a>, <a href="RendererCapabilities.html#FORMAT_SUPPORT_MASK">FORMAT_SUPPORT_MASK</a>, <a href="RendererCapabilities.html#FORMAT_UNSUPPORTED_DRM">FORMAT_UNSUPPORTED_DRM</a>, <a href="RendererCapabilities.html#FORMAT_UNSUPPORTED_SUBTYPE">FORMAT_UNSUPPORTED_SUBTYPE</a>, <a href="RendererCapabilities.html#FORMAT_UNSUPPORTED_TYPE">FORMAT_UNSUPPORTED_TYPE</a>, <a href="RendererCapabilities.html#HARDWARE_ACCELERATION_NOT_SUPPORTED">HARDWARE_ACCELERATION_NOT_SUPPORTED</a>, <a href="RendererCapabilities.html#HARDWARE_ACCELERATION_SUPPORT_MASK">HARDWARE_ACCELERATION_SUPPORT_MASK</a>, <a href="RendererCapabilities.html#HARDWARE_ACCELERATION_SUPPORTED">HARDWARE_ACCELERATION_SUPPORTED</a>, <a href="RendererCapabilities.html#MODE_SUPPORT_MASK">MODE_SUPPORT_MASK</a>, <a href="RendererCapabilities.html#TUNNELING_NOT_SUPPORTED">TUNNELING_NOT_SUPPORTED</a>, <a href="RendererCapabilities.html#TUNNELING_SUPPORT_MASK">TUNNELING_SUPPORT_MASK</a>, <a href="RendererCapabilities.html#TUNNELING_SUPPORTED">TUNNELING_SUPPORTED</a></code></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -308,7 +308,7 @@ implements <a href="Renderer.html" title="interface in com.google.android.exopla
|
||||
</tr>
|
||||
<tr id="i10" class="altColor">
|
||||
<td class="colFirst"><code>void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#handleMessage(int,java.lang.Object)">handleMessage</a></span>​(int messageType,
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#handleMessage(@com.google.android.exoplayer2.Renderer.MessageTypeint,java.lang.Object)">handleMessage</a></span>​(@com.google.android.exoplayer2.Renderer.MessageType int messageType,
|
||||
<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a> message)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Handles a message delivered to the target.</div>
|
||||
@ -322,6 +322,14 @@ implements <a href="Renderer.html" title="interface in com.google.android.exopla
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i12" class="altColor">
|
||||
<td class="colFirst"><code>void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#init(int,com.google.android.exoplayer2.analytics.PlayerId)">init</a></span>​(int index,
|
||||
<a href="analytics/PlayerId.html" title="class in com.google.android.exoplayer2.analytics">PlayerId</a> playerId)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Initializes the renderer for playback with a player.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i13" class="rowColor">
|
||||
<td class="colFirst"><code>boolean</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCurrentStreamFinal()">isCurrentStreamFinal</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
@ -329,42 +337,42 @@ implements <a href="Renderer.html" title="interface in com.google.android.exopla
|
||||
renderer is next disabled or reset.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i13" class="rowColor">
|
||||
<tr id="i14" class="altColor">
|
||||
<td class="colFirst"><code>boolean</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isEnded()">isEnded</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Whether the renderer is ready for the <a href="ExoPlayer.html" title="interface in com.google.android.exoplayer2"><code>ExoPlayer</code></a> instance to transition to <a href="Player.html#STATE_ENDED"><code>Player.STATE_ENDED</code></a>.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i14" class="altColor">
|
||||
<tr id="i15" class="rowColor">
|
||||
<td class="colFirst"><code>boolean</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isReady()">isReady</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Whether the renderer is able to immediately render media from the current position.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i15" class="rowColor">
|
||||
<tr id="i16" class="altColor">
|
||||
<td class="colFirst"><code>void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#maybeThrowStreamError()">maybeThrowStreamError</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Throws an error that's preventing the renderer from reading from its <a href="source/SampleStream.html" title="interface in com.google.android.exoplayer2.source"><code>SampleStream</code></a>.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i16" class="altColor">
|
||||
<tr id="i17" class="rowColor">
|
||||
<td class="colFirst"><code>protected void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onDisabled()">onDisabled</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Called when the renderer is disabled.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i17" class="rowColor">
|
||||
<tr id="i18" class="altColor">
|
||||
<td class="colFirst"><code>protected void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onEnabled(boolean)">onEnabled</a></span>​(boolean joining)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Called when the renderer is enabled.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i18" class="altColor">
|
||||
<tr id="i19" class="rowColor">
|
||||
<td class="colFirst"><code>protected void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onPositionReset(long,boolean)">onPositionReset</a></span>​(long positionUs,
|
||||
boolean joining)</code></th>
|
||||
@ -372,35 +380,35 @@ implements <a href="Renderer.html" title="interface in com.google.android.exopla
|
||||
<div class="block">Called when the position is reset.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i19" class="rowColor">
|
||||
<tr id="i20" class="altColor">
|
||||
<td class="colFirst"><code>protected void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onRendererOffsetChanged(long)">onRendererOffsetChanged</a></span>​(long offsetUs)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Called when the renderer's offset has been changed.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i20" class="altColor">
|
||||
<tr id="i21" class="rowColor">
|
||||
<td class="colFirst"><code>protected void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onReset()">onReset</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Called when the renderer is reset.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i21" class="rowColor">
|
||||
<tr id="i22" class="altColor">
|
||||
<td class="colFirst"><code>protected void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onStarted()">onStarted</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Called when the renderer is started.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i22" class="altColor">
|
||||
<tr id="i23" class="rowColor">
|
||||
<td class="colFirst"><code>protected void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onStopped()">onStopped</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Called when the renderer is stopped.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i23" class="rowColor">
|
||||
<tr id="i24" class="altColor">
|
||||
<td class="colFirst"><code>void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#replaceStream(com.google.android.exoplayer2.Format%5B%5D,com.google.android.exoplayer2.source.SampleStream,long,long)">replaceStream</a></span>​(<a href="Format.html" title="class in com.google.android.exoplayer2">Format</a>[] formats,
|
||||
<a href="source/SampleStream.html" title="interface in com.google.android.exoplayer2.source">SampleStream</a> stream,
|
||||
@ -410,21 +418,21 @@ implements <a href="Renderer.html" title="interface in com.google.android.exopla
|
||||
<div class="block">Replaces the <a href="source/SampleStream.html" title="interface in com.google.android.exoplayer2.source"><code>SampleStream</code></a> from which samples will be consumed.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i24" class="altColor">
|
||||
<tr id="i25" class="rowColor">
|
||||
<td class="colFirst"><code>void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#reset()">reset</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Forces the renderer to give up any resources (e.g.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i25" class="rowColor">
|
||||
<tr id="i26" class="altColor">
|
||||
<td class="colFirst"><code>void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#resetPosition(long)">resetPosition</a></span>​(long positionUs)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Signals to the renderer that a position discontinuity has occurred.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i26" class="altColor">
|
||||
<tr id="i27" class="rowColor">
|
||||
<td class="colFirst"><code>void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setCurrentStreamFinal()">setCurrentStreamFinal</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
@ -432,13 +440,6 @@ implements <a href="Renderer.html" title="interface in com.google.android.exopla
|
||||
before it is next disabled or reset.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i27" class="rowColor">
|
||||
<td class="colFirst"><code>void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setIndex(int)">setIndex</a></span>​(int index)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Sets the index of this renderer within the player.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i28" class="altColor">
|
||||
<td class="colFirst"><code>void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#start()">start</a></span>()</code></th>
|
||||
@ -455,14 +456,14 @@ implements <a href="Renderer.html" title="interface in com.google.android.exopla
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i30" class="altColor">
|
||||
<td class="colFirst"><code>int</code></td>
|
||||
<td class="colFirst"><code>@com.google.android.exoplayer2.RendererCapabilities.Capabilities int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#supportsFormat(com.google.android.exoplayer2.Format)">supportsFormat</a></span>​(<a href="Format.html" title="class in com.google.android.exoplayer2">Format</a> format)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Returns the extent to which the <a href="Renderer.html" title="interface in com.google.android.exoplayer2"><code>Renderer</code></a> supports a given format.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i31" class="rowColor">
|
||||
<td class="colFirst"><code>int</code></td>
|
||||
<td class="colFirst"><code>@com.google.android.exoplayer2.RendererCapabilities.AdaptiveSupport int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#supportsMixedMimeTypeAdaptation()">supportsMixedMimeTypeAdaptation</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Returns the extent to which the <a href="Renderer.html" title="interface in com.google.android.exoplayer2"><code>Renderer</code></a> supports adapting between supported formats
|
||||
@ -564,20 +565,22 @@ implements <a href="Renderer.html" title="interface in com.google.android.exopla
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="setIndex(int)">
|
||||
<a id="init(int,com.google.android.exoplayer2.analytics.PlayerId)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>setIndex</h4>
|
||||
<pre class="methodSignature">public final void setIndex​(int index)</pre>
|
||||
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Renderer.html#setIndex(int)">Renderer</a></code></span></div>
|
||||
<div class="block">Sets the index of this renderer within the player.</div>
|
||||
<h4>init</h4>
|
||||
<pre class="methodSignature">public final void init​(int index,
|
||||
<a href="analytics/PlayerId.html" title="class in com.google.android.exoplayer2.analytics">PlayerId</a> playerId)</pre>
|
||||
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="Renderer.html#init(int,com.google.android.exoplayer2.analytics.PlayerId)">Renderer</a></code></span></div>
|
||||
<div class="block">Initializes the renderer for playback with a player.</div>
|
||||
<dl>
|
||||
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
|
||||
<dd><code><a href="Renderer.html#setIndex(int)">setIndex</a></code> in interface <code><a href="Renderer.html" title="interface in com.google.android.exoplayer2">Renderer</a></code></dd>
|
||||
<dd><code><a href="Renderer.html#init(int,com.google.android.exoplayer2.analytics.PlayerId)">init</a></code> in interface <code><a href="Renderer.html" title="interface in com.google.android.exoplayer2">Renderer</a></code></dd>
|
||||
<dt><span class="paramLabel">Parameters:</span></dt>
|
||||
<dd><code>index</code> - The renderer index.</dd>
|
||||
<dd><code>index</code> - The renderer index within the player.</dd>
|
||||
<dd><code>playerId</code> - The <a href="analytics/PlayerId.html" title="class in com.google.android.exoplayer2.analytics"><code>PlayerId</code></a> of the player.</dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
@ -941,9 +944,8 @@ public final <a href="source/SampleStream.html" title="interface in com.goo
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>supportsFormat</h4>
|
||||
<pre class="methodSignature"><a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2">@Capabilities</a>
|
||||
public int supportsFormat​(<a href="Format.html" title="class in com.google.android.exoplayer2">Format</a> format)
|
||||
throws <a href="ExoPlaybackException.html" title="class in com.google.android.exoplayer2">ExoPlaybackException</a></pre>
|
||||
<pre class="methodSignature">public @com.google.android.exoplayer2.RendererCapabilities.Capabilities int supportsFormat​(<a href="Format.html" title="class in com.google.android.exoplayer2">Format</a> format)
|
||||
throws <a href="ExoPlaybackException.html" title="class in com.google.android.exoplayer2">ExoPlaybackException</a></pre>
|
||||
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="RendererCapabilities.html#supportsFormat(com.google.android.exoplayer2.Format)">RendererCapabilities</a></code></span></div>
|
||||
<div class="block">Returns the extent to which the <a href="Renderer.html" title="interface in com.google.android.exoplayer2"><code>Renderer</code></a> supports a given format.</div>
|
||||
<dl>
|
||||
@ -964,9 +966,8 @@ public int supportsFormat​(<a href="Format.html" title="class in
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>supportsMixedMimeTypeAdaptation</h4>
|
||||
<pre class="methodSignature"><a href="RendererCapabilities.AdaptiveSupport.html" title="annotation in com.google.android.exoplayer2">@AdaptiveSupport</a>
|
||||
public int supportsMixedMimeTypeAdaptation()
|
||||
throws <a href="ExoPlaybackException.html" title="class in com.google.android.exoplayer2">ExoPlaybackException</a></pre>
|
||||
<pre class="methodSignature">public @com.google.android.exoplayer2.RendererCapabilities.AdaptiveSupport int supportsMixedMimeTypeAdaptation()
|
||||
throws <a href="ExoPlaybackException.html" title="class in com.google.android.exoplayer2">ExoPlaybackException</a></pre>
|
||||
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="RendererCapabilities.html#supportsMixedMimeTypeAdaptation()">RendererCapabilities</a></code></span></div>
|
||||
<div class="block">Returns the extent to which the <a href="Renderer.html" title="interface in com.google.android.exoplayer2"><code>Renderer</code></a> supports adapting between supported formats
|
||||
that have different MIME types.</div>
|
||||
@ -981,22 +982,21 @@ public int supportsMixedMimeTypeAdaptation()
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="handleMessage(int,java.lang.Object)">
|
||||
<a id="handleMessage(@com.google.android.exoplayer2.Renderer.MessageTypeint,java.lang.Object)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>handleMessage</h4>
|
||||
<pre class="methodSignature">public void handleMessage​(<a href="Renderer.MessageType.html" title="annotation in com.google.android.exoplayer2">@MessageType</a>
|
||||
int messageType,
|
||||
<pre class="methodSignature">public void handleMessage​(@com.google.android.exoplayer2.Renderer.MessageType int messageType,
|
||||
@Nullable
|
||||
<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a> message)
|
||||
throws <a href="ExoPlaybackException.html" title="class in com.google.android.exoplayer2">ExoPlaybackException</a></pre>
|
||||
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="PlayerMessage.Target.html#handleMessage(int,java.lang.Object)">PlayerMessage.Target</a></code></span></div>
|
||||
<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="PlayerMessage.Target.html#handleMessage(@com.google.android.exoplayer2.Renderer.MessageTypeint,java.lang.Object)">PlayerMessage.Target</a></code></span></div>
|
||||
<div class="block">Handles a message delivered to the target.</div>
|
||||
<dl>
|
||||
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
|
||||
<dd><code><a href="PlayerMessage.Target.html#handleMessage(int,java.lang.Object)">handleMessage</a></code> in interface <code><a href="PlayerMessage.Target.html" title="interface in com.google.android.exoplayer2">PlayerMessage.Target</a></code></dd>
|
||||
<dd><code><a href="PlayerMessage.Target.html#handleMessage(@com.google.android.exoplayer2.Renderer.MessageTypeint,java.lang.Object)">handleMessage</a></code> in interface <code><a href="PlayerMessage.Target.html" title="interface in com.google.android.exoplayer2">PlayerMessage.Target</a></code></dd>
|
||||
<dt><span class="paramLabel">Parameters:</span></dt>
|
||||
<dd><code>messageType</code> - The message type.</dd>
|
||||
<dd><code>message</code> - The message payload.</dd>
|
||||
|
@ -213,10 +213,10 @@ extends <a href="https://developer.android.com/reference/java/io/IOException.htm
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>protected </code></td>
|
||||
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(java.lang.String,java.lang.Throwable,boolean,int)">ParserException</a></span>​(<a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a> message,
|
||||
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(java.lang.String,java.lang.Throwable,boolean,@com.google.android.exoplayer2.C.DataTypeint)">ParserException</a></span>​(<a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a> message,
|
||||
<a href="https://developer.android.com/reference/java/lang/Throwable.html" title="class or interface in java.lang" class="externalLink" target="_top">Throwable</a> cause,
|
||||
boolean contentIsMalformed,
|
||||
int dataType)</code></th>
|
||||
@com.google.android.exoplayer2.C.DataType int dataType)</code></th>
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
</table>
|
||||
@ -343,7 +343,7 @@ extends <a href="https://developer.android.com/reference/java/io/IOException.htm
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>Constructor Detail</h3>
|
||||
<a id="<init>(java.lang.String,java.lang.Throwable,boolean,int)">
|
||||
<a id="<init>(java.lang.String,java.lang.Throwable,boolean,@com.google.android.exoplayer2.C.DataTypeint)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockListLast">
|
||||
@ -354,8 +354,7 @@ extends <a href="https://developer.android.com/reference/java/io/IOException.htm
|
||||
@Nullable
|
||||
<a href="https://developer.android.com/reference/java/lang/Throwable.html" title="class or interface in java.lang" class="externalLink" target="_top">Throwable</a> cause,
|
||||
boolean contentIsMalformed,
|
||||
<a href="C.DataType.html" title="annotation in com.google.android.exoplayer2">@DataType</a>
|
||||
int dataType)</pre>
|
||||
@com.google.android.exoplayer2.C.DataType int dataType)</pre>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
|
@ -115,9 +115,10 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
<hr>
|
||||
<pre><a href="https://developer.android.com/reference/java/lang/annotation/Documented.html" title="class or interface in java.lang.annotation" class="externalLink" target="_top">@Documented</a>
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Retention.html" title="class or interface in java.lang.annotation" class="externalLink">@Retention</a>(<a href="https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html?is-external=true#SOURCE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">SOURCE</a>)
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Target.html" title="class or interface in java.lang.annotation" class="externalLink">@Target</a>(<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#TYPE_USE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">TYPE_USE</a>)
|
||||
protected static @interface <span class="memberNameLabel">PlaybackException.FieldNumber</span></pre>
|
||||
<div class="block">Identifiers for fields in a <a href="https://developer.android.com/reference/android/os/Bundle.html" title="class or interface in android.os" class="externalLink" target="_top"><code>Bundle</code></a> which represents a playback exception. Subclasses
|
||||
may use <a href="PlaybackException.html#FIELD_CUSTOM_ID_BASE"><code>PlaybackException.FIELD_CUSTOM_ID_BASE</code></a> to generate more keys using <a href="PlaybackException.html#keyForField(int)"><code>PlaybackException.keyForField(int)</code></a>.
|
||||
may use <a href="PlaybackException.html#FIELD_CUSTOM_ID_BASE"><code>PlaybackException.FIELD_CUSTOM_ID_BASE</code></a> to generate more keys using <a href="PlaybackException.html#keyForField(@com.google.android.exoplayer2.PlaybackException.FieldNumberint)"><code>PlaybackException.keyForField(int)</code></a>.
|
||||
|
||||
<p>Note: Changes to the Bundleable implementation must be backwards compatible, so as to avoid
|
||||
breaking communication across different Bundleable implementation versions.</div>
|
||||
|
@ -578,7 +578,7 @@ implements <a href="Bundleable.html" title="interface in com.google.android.exop
|
||||
</tr>
|
||||
<tr id="i3" class="rowColor">
|
||||
<td class="colFirst"><code>protected static <a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a></code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#keyForField(int)">keyForField</a></span>​(int field)</code></th>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#keyForField(@com.google.android.exoplayer2.PlaybackException.FieldNumberint)">keyForField</a></span>​(@com.google.android.exoplayer2.PlaybackException.FieldNumber int field)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Converts the given <a href="PlaybackException.FieldNumber.html" title="annotation in com.google.android.exoplayer2"><code>PlaybackException.FieldNumber</code></a> to a string which can be used as a field key when
|
||||
implementing <a href="#toBundle()"><code>toBundle()</code></a> and <a href="Bundleable.Creator.html" title="interface in com.google.android.exoplayer2"><code>Bundleable.Creator</code></a>.</div>
|
||||
@ -1173,7 +1173,7 @@ public final @com.google.android.exoplayer2.PlaybackException.ErrorCode int
|
||||
and <a href="Bundleable.Creator.html" title="interface in com.google.android.exoplayer2"><code>Bundleable.Creator</code></a>.
|
||||
|
||||
<p>Subclasses should obtain their <a href="https://developer.android.com/reference/android/os/Bundle.html" title="class or interface in android.os" class="externalLink" target="_top"><code>Bundle's</code></a> field keys by applying a non-negative
|
||||
offset on this constant and passing the result to <a href="#keyForField(int)"><code>keyForField(int)</code></a>.</div>
|
||||
offset on this constant and passing the result to <a href="#keyForField(@com.google.android.exoplayer2.PlaybackException.FieldNumberint)"><code>keyForField(int)</code></a>.</div>
|
||||
<dl>
|
||||
<dt><span class="seeLabel">See Also:</span></dt>
|
||||
<dd><a href="../../../../constant-values.html#com.google.android.exoplayer2.PlaybackException.FIELD_CUSTOM_ID_BASE">Constant Field Values</a></dd>
|
||||
@ -1309,14 +1309,13 @@ public <a href="https://developer.android.com/reference/android/os/Bundle.h
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="keyForField(int)">
|
||||
<a id="keyForField(@com.google.android.exoplayer2.PlaybackException.FieldNumberint)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockListLast">
|
||||
<li class="blockList">
|
||||
<h4>keyForField</h4>
|
||||
<pre class="methodSignature">protected static <a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink">String</a> keyForField​(<a href="PlaybackException.FieldNumber.html" title="annotation in com.google.android.exoplayer2" target="_top">@FieldNumber</a>
|
||||
int field)</pre>
|
||||
<pre class="methodSignature">protected static <a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a> keyForField​(@com.google.android.exoplayer2.PlaybackException.FieldNumber int field)</pre>
|
||||
<div class="block">Converts the given <a href="PlaybackException.FieldNumber.html" title="annotation in com.google.android.exoplayer2"><code>PlaybackException.FieldNumber</code></a> to a string which can be used as a field key when
|
||||
implementing <a href="#toBundle()"><code>toBundle()</code></a> and <a href="Bundleable.Creator.html" title="interface in com.google.android.exoplayer2"><code>Bundleable.Creator</code></a>.</div>
|
||||
</li>
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -195,71 +195,62 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>static interface </code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="Player.EventListener.html" title="interface in com.google.android.exoplayer2">Player.EventListener</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
|
||||
<div class="deprecationComment">Use <a href="Player.Listener.html" title="interface in com.google.android.exoplayer2"><code>Player.Listener</code></a>.</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>static class </code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="Player.Events.html" title="class in com.google.android.exoplayer2">Player.Events</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">A set of <a href="Player.Event.html" title="annotation in com.google.android.exoplayer2"><code>events</code></a>.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>static interface </code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="Player.Listener.html" title="interface in com.google.android.exoplayer2">Player.Listener</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Listener of all changes in the Player.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>static interface </code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="Player.MediaItemTransitionReason.html" title="annotation in com.google.android.exoplayer2">Player.MediaItemTransitionReason</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Reasons for media item transitions.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>static interface </code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="Player.PlaybackSuppressionReason.html" title="annotation in com.google.android.exoplayer2">Player.PlaybackSuppressionReason</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Reason why playback is suppressed even though <a href="#getPlayWhenReady()"><code>getPlayWhenReady()</code></a> is <code>true</code>.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>static interface </code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="Player.PlayWhenReadyChangeReason.html" title="annotation in com.google.android.exoplayer2">Player.PlayWhenReadyChangeReason</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Reasons for <a href="#getPlayWhenReady()"><code>playWhenReady</code></a> changes.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>static class </code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="Player.PositionInfo.html" title="class in com.google.android.exoplayer2">Player.PositionInfo</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Position info describing a playback position involved in a discontinuity.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>static interface </code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="Player.RepeatMode.html" title="annotation in com.google.android.exoplayer2">Player.RepeatMode</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Repeat modes for playback.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>static interface </code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="Player.State.html" title="annotation in com.google.android.exoplayer2">Player.State</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Playback state.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>static interface </code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="Player.TimelineChangeReason.html" title="annotation in com.google.android.exoplayer2">Player.TimelineChangeReason</a></span></code></th>
|
||||
<td class="colLast">
|
||||
@ -582,6 +573,20 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#EVENT_AUDIO_ATTRIBUTES_CHANGED">EVENT_AUDIO_ATTRIBUTES_CHANGED</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block"><a href="#getAudioAttributes()"><code>getAudioAttributes()</code></a> changed.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#EVENT_AUDIO_SESSION_ID">EVENT_AUDIO_SESSION_ID</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">The audio session id was set.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#EVENT_AVAILABLE_COMMANDS_CHANGED">EVENT_AVAILABLE_COMMANDS_CHANGED</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block"><a href="#isCommandAvailable(@com.google.android.exoplayer2.Player.Commandint)"><code>isCommandAvailable(int)</code></a> changed for at least one <a href="Player.Command.html" title="annotation in com.google.android.exoplayer2"><code>Player.Command</code></a>.</div>
|
||||
@ -589,39 +594,67 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#EVENT_CUES">EVENT_CUES</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block"><a href="#getCurrentCues()"><code>getCurrentCues()</code></a> changed.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#EVENT_DEVICE_INFO_CHANGED">EVENT_DEVICE_INFO_CHANGED</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block"><a href="#getDeviceInfo()"><code>getDeviceInfo()</code></a> changed.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#EVENT_DEVICE_VOLUME_CHANGED">EVENT_DEVICE_VOLUME_CHANGED</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block"><a href="#getDeviceVolume()"><code>getDeviceVolume()</code></a> changed.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#EVENT_IS_LOADING_CHANGED">EVENT_IS_LOADING_CHANGED</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block"><a href="#isLoading()"><code>isLoading()</code></a> ()} changed.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#EVENT_IS_PLAYING_CHANGED">EVENT_IS_PLAYING_CHANGED</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block"><a href="#isPlaying()"><code>isPlaying()</code></a> changed.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#EVENT_MAX_SEEK_TO_PREVIOUS_POSITION_CHANGED">EVENT_MAX_SEEK_TO_PREVIOUS_POSITION_CHANGED</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block"><a href="#getMaxSeekToPreviousPosition()"><code>getMaxSeekToPreviousPosition()</code></a> changed.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#EVENT_MEDIA_ITEM_TRANSITION">EVENT_MEDIA_ITEM_TRANSITION</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block"><a href="#getCurrentMediaItem()"><code>getCurrentMediaItem()</code></a> changed or the player started repeating the current item.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#EVENT_MEDIA_METADATA_CHANGED">EVENT_MEDIA_METADATA_CHANGED</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block"><a href="#getMediaMetadata()"><code>getMediaMetadata()</code></a> changed.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#EVENT_METADATA">EVENT_METADATA</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Metadata associated with the current playback time changed.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#EVENT_PLAY_WHEN_READY_CHANGED">EVENT_PLAY_WHEN_READY_CHANGED</a></span></code></th>
|
||||
@ -673,152 +706,188 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#EVENT_RENDERED_FIRST_FRAME">EVENT_RENDERED_FIRST_FRAME</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">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.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#EVENT_REPEAT_MODE_CHANGED">EVENT_REPEAT_MODE_CHANGED</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block"><a href="#getRepeatMode()"><code>getRepeatMode()</code></a> changed.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#EVENT_SEEK_BACK_INCREMENT_CHANGED">EVENT_SEEK_BACK_INCREMENT_CHANGED</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block"><a href="#getSeekBackIncrement()"><code>getSeekBackIncrement()</code></a> changed.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#EVENT_SEEK_FORWARD_INCREMENT_CHANGED">EVENT_SEEK_FORWARD_INCREMENT_CHANGED</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block"><a href="#getSeekForwardIncrement()"><code>getSeekForwardIncrement()</code></a> changed.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#EVENT_SHUFFLE_MODE_ENABLED_CHANGED">EVENT_SHUFFLE_MODE_ENABLED_CHANGED</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block"><a href="#getShuffleModeEnabled()"><code>getShuffleModeEnabled()</code></a> changed.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#EVENT_SKIP_SILENCE_ENABLED_CHANGED">EVENT_SKIP_SILENCE_ENABLED_CHANGED</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Skipping silences in the audio stream is enabled or disabled.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#EVENT_SURFACE_SIZE_CHANGED">EVENT_SURFACE_SIZE_CHANGED</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">The size of the surface onto which the video is being rendered changed.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#EVENT_TIMELINE_CHANGED">EVENT_TIMELINE_CHANGED</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block"><a href="#getCurrentTimeline()"><code>getCurrentTimeline()</code></a> changed.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#EVENT_TRACK_SELECTION_PARAMETERS_CHANGED">EVENT_TRACK_SELECTION_PARAMETERS_CHANGED</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block"><a href="#getTrackSelectionParameters()"><code>getTrackSelectionParameters()</code></a> changed.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#EVENT_TRACKS_CHANGED">EVENT_TRACKS_CHANGED</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block"><a href="#getCurrentTracksInfo()"><code>getCurrentTracksInfo()</code></a> changed.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#EVENT_VIDEO_SIZE_CHANGED">EVENT_VIDEO_SIZE_CHANGED</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block"><a href="#getVideoSize()"><code>getVideoSize()</code></a> changed.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#EVENT_VOLUME_CHANGED">EVENT_VOLUME_CHANGED</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block"><a href="#getVolume()"><code>getVolume()</code></a> changed.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MEDIA_ITEM_TRANSITION_REASON_AUTO">MEDIA_ITEM_TRANSITION_REASON_AUTO</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Playback has automatically transitioned to the next media item.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MEDIA_ITEM_TRANSITION_REASON_PLAYLIST_CHANGED">MEDIA_ITEM_TRANSITION_REASON_PLAYLIST_CHANGED</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">The current media item has changed because of a change in the playlist.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MEDIA_ITEM_TRANSITION_REASON_REPEAT">MEDIA_ITEM_TRANSITION_REASON_REPEAT</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">The media item has been repeated.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MEDIA_ITEM_TRANSITION_REASON_SEEK">MEDIA_ITEM_TRANSITION_REASON_SEEK</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">A seek to another media item has occurred.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#PLAY_WHEN_READY_CHANGE_REASON_AUDIO_BECOMING_NOISY">PLAY_WHEN_READY_CHANGE_REASON_AUDIO_BECOMING_NOISY</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Playback has been paused to avoid becoming noisy.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#PLAY_WHEN_READY_CHANGE_REASON_AUDIO_FOCUS_LOSS">PLAY_WHEN_READY_CHANGE_REASON_AUDIO_FOCUS_LOSS</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Playback has been paused because of a loss of audio focus.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#PLAY_WHEN_READY_CHANGE_REASON_END_OF_MEDIA_ITEM">PLAY_WHEN_READY_CHANGE_REASON_END_OF_MEDIA_ITEM</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Playback has been paused at the end of a media item.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#PLAY_WHEN_READY_CHANGE_REASON_REMOTE">PLAY_WHEN_READY_CHANGE_REASON_REMOTE</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Playback has been started or paused because of a remote change.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#PLAY_WHEN_READY_CHANGE_REASON_USER_REQUEST">PLAY_WHEN_READY_CHANGE_REASON_USER_REQUEST</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Playback has been started or paused by a call to <a href="#setPlayWhenReady(boolean)"><code>setPlayWhenReady(boolean)</code></a>.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#PLAYBACK_SUPPRESSION_REASON_NONE">PLAYBACK_SUPPRESSION_REASON_NONE</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Playback is not suppressed.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#PLAYBACK_SUPPRESSION_REASON_TRANSIENT_AUDIO_FOCUS_LOSS">PLAYBACK_SUPPRESSION_REASON_TRANSIENT_AUDIO_FOCUS_LOSS</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Playback is suppressed due to transient audio focus loss.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#REPEAT_MODE_ALL">REPEAT_MODE_ALL</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Repeats the entire timeline infinitely.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#REPEAT_MODE_OFF">REPEAT_MODE_OFF</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Normal playback without repetition.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#REPEAT_MODE_ONE">REPEAT_MODE_ONE</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Repeats the currently playing <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a> infinitely during ongoing playback.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#STATE_BUFFERING">STATE_BUFFERING</a></span></code></th>
|
||||
<td class="colLast">
|
||||
@ -826,35 +895,35 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
so.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#STATE_ENDED">STATE_ENDED</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">The player has finished playing the media.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#STATE_IDLE">STATE_IDLE</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">The player is idle, meaning it holds only limited resources.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#STATE_READY">STATE_READY</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">The player is able to immediately play from its current position.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#TIMELINE_CHANGE_REASON_PLAYLIST_CHANGED">TIMELINE_CHANGE_REASON_PLAYLIST_CHANGED</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Timeline changed as a result of a change of the playlist items or the order of the items.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#TIMELINE_CHANGE_REASON_SOURCE_UPDATE">TIMELINE_CHANGE_REASON_SOURCE_UPDATE</a></span></code></th>
|
||||
<td class="colLast">
|
||||
@ -2502,6 +2571,161 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="EVENT_AUDIO_ATTRIBUTES_CHANGED">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>EVENT_AUDIO_ATTRIBUTES_CHANGED</h4>
|
||||
<pre>static final int EVENT_AUDIO_ATTRIBUTES_CHANGED</pre>
|
||||
<div class="block"><a href="#getAudioAttributes()"><code>getAudioAttributes()</code></a> changed.</div>
|
||||
<dl>
|
||||
<dt><span class="seeLabel">See Also:</span></dt>
|
||||
<dd><a href="../../../../constant-values.html#com.google.android.exoplayer2.Player.EVENT_AUDIO_ATTRIBUTES_CHANGED">Constant Field Values</a></dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="EVENT_AUDIO_SESSION_ID">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>EVENT_AUDIO_SESSION_ID</h4>
|
||||
<pre>static final int EVENT_AUDIO_SESSION_ID</pre>
|
||||
<div class="block">The audio session id was set.</div>
|
||||
<dl>
|
||||
<dt><span class="seeLabel">See Also:</span></dt>
|
||||
<dd><a href="../../../../constant-values.html#com.google.android.exoplayer2.Player.EVENT_AUDIO_SESSION_ID">Constant Field Values</a></dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="EVENT_VOLUME_CHANGED">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>EVENT_VOLUME_CHANGED</h4>
|
||||
<pre>static final int EVENT_VOLUME_CHANGED</pre>
|
||||
<div class="block"><a href="#getVolume()"><code>getVolume()</code></a> changed.</div>
|
||||
<dl>
|
||||
<dt><span class="seeLabel">See Also:</span></dt>
|
||||
<dd><a href="../../../../constant-values.html#com.google.android.exoplayer2.Player.EVENT_VOLUME_CHANGED">Constant Field Values</a></dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="EVENT_SKIP_SILENCE_ENABLED_CHANGED">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>EVENT_SKIP_SILENCE_ENABLED_CHANGED</h4>
|
||||
<pre>static final int EVENT_SKIP_SILENCE_ENABLED_CHANGED</pre>
|
||||
<div class="block">Skipping silences in the audio stream is enabled or disabled.</div>
|
||||
<dl>
|
||||
<dt><span class="seeLabel">See Also:</span></dt>
|
||||
<dd><a href="../../../../constant-values.html#com.google.android.exoplayer2.Player.EVENT_SKIP_SILENCE_ENABLED_CHANGED">Constant Field Values</a></dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="EVENT_SURFACE_SIZE_CHANGED">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>EVENT_SURFACE_SIZE_CHANGED</h4>
|
||||
<pre>static final int EVENT_SURFACE_SIZE_CHANGED</pre>
|
||||
<div class="block">The size of the surface onto which the video is being rendered changed.</div>
|
||||
<dl>
|
||||
<dt><span class="seeLabel">See Also:</span></dt>
|
||||
<dd><a href="../../../../constant-values.html#com.google.android.exoplayer2.Player.EVENT_SURFACE_SIZE_CHANGED">Constant Field Values</a></dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="EVENT_VIDEO_SIZE_CHANGED">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>EVENT_VIDEO_SIZE_CHANGED</h4>
|
||||
<pre>static final int EVENT_VIDEO_SIZE_CHANGED</pre>
|
||||
<div class="block"><a href="#getVideoSize()"><code>getVideoSize()</code></a> changed.</div>
|
||||
<dl>
|
||||
<dt><span class="seeLabel">See Also:</span></dt>
|
||||
<dd><a href="../../../../constant-values.html#com.google.android.exoplayer2.Player.EVENT_VIDEO_SIZE_CHANGED">Constant Field Values</a></dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="EVENT_RENDERED_FIRST_FRAME">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>EVENT_RENDERED_FIRST_FRAME</h4>
|
||||
<pre>static final int EVENT_RENDERED_FIRST_FRAME</pre>
|
||||
<div class="block">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.</div>
|
||||
<dl>
|
||||
<dt><span class="seeLabel">See Also:</span></dt>
|
||||
<dd><a href="../../../../constant-values.html#com.google.android.exoplayer2.Player.EVENT_RENDERED_FIRST_FRAME">Constant Field Values</a></dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="EVENT_CUES">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>EVENT_CUES</h4>
|
||||
<pre>static final int EVENT_CUES</pre>
|
||||
<div class="block"><a href="#getCurrentCues()"><code>getCurrentCues()</code></a> changed.</div>
|
||||
<dl>
|
||||
<dt><span class="seeLabel">See Also:</span></dt>
|
||||
<dd><a href="../../../../constant-values.html#com.google.android.exoplayer2.Player.EVENT_CUES">Constant Field Values</a></dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="EVENT_METADATA">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>EVENT_METADATA</h4>
|
||||
<pre>static final int EVENT_METADATA</pre>
|
||||
<div class="block">Metadata associated with the current playback time changed.</div>
|
||||
<dl>
|
||||
<dt><span class="seeLabel">See Also:</span></dt>
|
||||
<dd><a href="../../../../constant-values.html#com.google.android.exoplayer2.Player.EVENT_METADATA">Constant Field Values</a></dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="EVENT_DEVICE_INFO_CHANGED">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>EVENT_DEVICE_INFO_CHANGED</h4>
|
||||
<pre>static final int EVENT_DEVICE_INFO_CHANGED</pre>
|
||||
<div class="block"><a href="#getDeviceInfo()"><code>getDeviceInfo()</code></a> changed.</div>
|
||||
<dl>
|
||||
<dt><span class="seeLabel">See Also:</span></dt>
|
||||
<dd><a href="../../../../constant-values.html#com.google.android.exoplayer2.Player.EVENT_DEVICE_INFO_CHANGED">Constant Field Values</a></dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="EVENT_DEVICE_VOLUME_CHANGED">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>EVENT_DEVICE_VOLUME_CHANGED</h4>
|
||||
<pre>static final int EVENT_DEVICE_VOLUME_CHANGED</pre>
|
||||
<div class="block"><a href="#getDeviceVolume()"><code>getDeviceVolume()</code></a> changed.</div>
|
||||
<dl>
|
||||
<dt><span class="seeLabel">See Also:</span></dt>
|
||||
<dd><a href="../../../../constant-values.html#com.google.android.exoplayer2.Player.EVENT_DEVICE_VOLUME_CHANGED">Constant Field Values</a></dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="COMMAND_PLAY_PAUSE">
|
||||
<!-- -->
|
||||
</a>
|
||||
@ -3801,7 +4025,7 @@ void seekToPreviousWindow()</pre>
|
||||
<dt><span class="returnLabel">Returns:</span></dt>
|
||||
<dd>The maximum seek to previous position, in milliseconds.</dd>
|
||||
<dt><span class="seeLabel">See Also:</span></dt>
|
||||
<dd><a href="Player.EventListener.html#onMaxSeekToPreviousPositionChanged(long)"><code>Player.EventListener.onMaxSeekToPreviousPositionChanged(long)</code></a></dd>
|
||||
<dd><a href="Player.Listener.html#onMaxSeekToPreviousPositionChanged(long)"><code>Player.Listener.onMaxSeekToPreviousPositionChanged(long)</code></a></dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
@ -4042,7 +4266,7 @@ void stop​(boolean reset)</pre>
|
||||
<div class="block">Returns the available track groups.</div>
|
||||
<dl>
|
||||
<dt><span class="seeLabel">See Also:</span></dt>
|
||||
<dd><a href="Player.EventListener.html#onTracksChanged(com.google.android.exoplayer2.source.TrackGroupArray,com.google.android.exoplayer2.trackselection.TrackSelectionArray)"><code>Player.EventListener.onTracksChanged(TrackGroupArray, TrackSelectionArray)</code></a></dd>
|
||||
<dd><a href="Player.Listener.html#onTracksChanged(com.google.android.exoplayer2.source.TrackGroupArray,com.google.android.exoplayer2.trackselection.TrackSelectionArray)"><code>Player.Listener.onTracksChanged(TrackGroupArray, TrackSelectionArray)</code></a></dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
@ -4064,7 +4288,7 @@ void stop​(boolean reset)</pre>
|
||||
components that is not assigned any selected tracks.</div>
|
||||
<dl>
|
||||
<dt><span class="seeLabel">See Also:</span></dt>
|
||||
<dd><a href="Player.EventListener.html#onTracksChanged(com.google.android.exoplayer2.source.TrackGroupArray,com.google.android.exoplayer2.trackselection.TrackSelectionArray)"><code>Player.EventListener.onTracksChanged(TrackGroupArray, TrackSelectionArray)</code></a></dd>
|
||||
<dd><a href="Player.Listener.html#onTracksChanged(com.google.android.exoplayer2.source.TrackGroupArray,com.google.android.exoplayer2.trackselection.TrackSelectionArray)"><code>Player.Listener.onTracksChanged(TrackGroupArray, TrackSelectionArray)</code></a></dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
@ -4078,7 +4302,7 @@ void stop​(boolean reset)</pre>
|
||||
<div class="block">Returns the available tracks, as well as the tracks' support, type, and selection status.</div>
|
||||
<dl>
|
||||
<dt><span class="seeLabel">See Also:</span></dt>
|
||||
<dd><a href="Player.EventListener.html#onTracksChanged(com.google.android.exoplayer2.source.TrackGroupArray,com.google.android.exoplayer2.trackselection.TrackSelectionArray)"><code>Player.EventListener.onTracksChanged(TrackGroupArray, TrackSelectionArray)</code></a></dd>
|
||||
<dd><a href="Player.Listener.html#onTracksChanged(com.google.android.exoplayer2.source.TrackGroupArray,com.google.android.exoplayer2.trackselection.TrackSelectionArray)"><code>Player.Listener.onTracksChanged(TrackGroupArray, TrackSelectionArray)</code></a></dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
@ -4092,7 +4316,7 @@ void stop​(boolean reset)</pre>
|
||||
<div class="block">Returns the parameters constraining the track selection.</div>
|
||||
<dl>
|
||||
<dt><span class="seeLabel">See Also:</span></dt>
|
||||
<dd><a href="Player.EventListener.html#onTrackSelectionParametersChanged(com.google.android.exoplayer2.trackselection.TrackSelectionParameters)"><code>}</code></a></dd>
|
||||
<dd><a href="Player.Listener.html#onTrackSelectionParametersChanged(com.google.android.exoplayer2.trackselection.TrackSelectionParameters)"><code>}</code></a></dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
|
@ -157,7 +157,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
</tr>
|
||||
<tr id="i0" class="altColor">
|
||||
<td class="colFirst"><code>void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#handleMessage(int,java.lang.Object)">handleMessage</a></span>​(int messageType,
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#handleMessage(@com.google.android.exoplayer2.Renderer.MessageTypeint,java.lang.Object)">handleMessage</a></span>​(@com.google.android.exoplayer2.Renderer.MessageType int messageType,
|
||||
<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a> message)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Handles a message delivered to the target.</div>
|
||||
@ -180,14 +180,13 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>Method Detail</h3>
|
||||
<a id="handleMessage(int,java.lang.Object)">
|
||||
<a id="handleMessage(@com.google.android.exoplayer2.Renderer.MessageTypeint,java.lang.Object)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockListLast">
|
||||
<li class="blockList">
|
||||
<h4>handleMessage</h4>
|
||||
<pre class="methodSignature">void handleMessage​(<a href="Renderer.MessageType.html" title="annotation in com.google.android.exoplayer2">@MessageType</a>
|
||||
int messageType,
|
||||
<pre class="methodSignature">void handleMessage​(@com.google.android.exoplayer2.Renderer.MessageType int messageType,
|
||||
@Nullable
|
||||
<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a> message)
|
||||
throws <a href="ExoPlaybackException.html" title="class in com.google.android.exoplayer2">ExoPlaybackException</a></pre>
|
||||
|
@ -260,7 +260,7 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
|
||||
<td class="colFirst"><code><a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getPayload()">getPayload</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Returns the message payload forwarded to <a href="PlayerMessage.Target.html#handleMessage(int,java.lang.Object)"><code>PlayerMessage.Target.handleMessage(int, Object)</code></a>.</div>
|
||||
<div class="block">Returns the message payload forwarded to <a href="PlayerMessage.Target.html#handleMessage(@com.google.android.exoplayer2.Renderer.MessageTypeint,java.lang.Object)"><code>PlayerMessage.Target.handleMessage(int, Object)</code></a>.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i7" class="rowColor">
|
||||
@ -289,7 +289,7 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
|
||||
<td class="colFirst"><code>int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getType()">getType</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Returns the message type forwarded to <a href="PlayerMessage.Target.html#handleMessage(int,java.lang.Object)"><code>PlayerMessage.Target.handleMessage(int, Object)</code></a>.</div>
|
||||
<div class="block">Returns the message type forwarded to <a href="PlayerMessage.Target.html#handleMessage(@com.google.android.exoplayer2.Renderer.MessageTypeint,java.lang.Object)"><code>PlayerMessage.Target.handleMessage(int, Object)</code></a>.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i11" class="rowColor">
|
||||
@ -340,7 +340,7 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
|
||||
<td class="colFirst"><code><a href="PlayerMessage.html" title="class in com.google.android.exoplayer2">PlayerMessage</a></code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPayload(java.lang.Object)">setPayload</a></span>​(<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a> payload)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Sets the message payload forwarded to <a href="PlayerMessage.Target.html#handleMessage(int,java.lang.Object)"><code>PlayerMessage.Target.handleMessage(int, Object)</code></a>.</div>
|
||||
<div class="block">Sets the message payload forwarded to <a href="PlayerMessage.Target.html#handleMessage(@com.google.android.exoplayer2.Renderer.MessageTypeint,java.lang.Object)"><code>PlayerMessage.Target.handleMessage(int, Object)</code></a>.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i18" class="altColor">
|
||||
@ -362,7 +362,7 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
|
||||
<td class="colFirst"><code><a href="PlayerMessage.html" title="class in com.google.android.exoplayer2">PlayerMessage</a></code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setType(int)">setType</a></span>​(int messageType)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Sets the message type forwarded to <a href="PlayerMessage.Target.html#handleMessage(int,java.lang.Object)"><code>PlayerMessage.Target.handleMessage(int, Object)</code></a>.</div>
|
||||
<div class="block">Sets the message type forwarded to <a href="PlayerMessage.Target.html#handleMessage(@com.google.android.exoplayer2.Renderer.MessageTypeint,java.lang.Object)"><code>PlayerMessage.Target.handleMessage(int, Object)</code></a>.</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@ -453,7 +453,7 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
|
||||
<li class="blockList">
|
||||
<h4>setType</h4>
|
||||
<pre class="methodSignature">public <a href="PlayerMessage.html" title="class in com.google.android.exoplayer2">PlayerMessage</a> setType​(int messageType)</pre>
|
||||
<div class="block">Sets the message type forwarded to <a href="PlayerMessage.Target.html#handleMessage(int,java.lang.Object)"><code>PlayerMessage.Target.handleMessage(int, Object)</code></a>.</div>
|
||||
<div class="block">Sets the message type forwarded to <a href="PlayerMessage.Target.html#handleMessage(@com.google.android.exoplayer2.Renderer.MessageTypeint,java.lang.Object)"><code>PlayerMessage.Target.handleMessage(int, Object)</code></a>.</div>
|
||||
<dl>
|
||||
<dt><span class="paramLabel">Parameters:</span></dt>
|
||||
<dd><code>messageType</code> - The message type.</dd>
|
||||
@ -471,7 +471,7 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
|
||||
<li class="blockList">
|
||||
<h4>getType</h4>
|
||||
<pre class="methodSignature">public int getType()</pre>
|
||||
<div class="block">Returns the message type forwarded to <a href="PlayerMessage.Target.html#handleMessage(int,java.lang.Object)"><code>PlayerMessage.Target.handleMessage(int, Object)</code></a>.</div>
|
||||
<div class="block">Returns the message type forwarded to <a href="PlayerMessage.Target.html#handleMessage(@com.google.android.exoplayer2.Renderer.MessageTypeint,java.lang.Object)"><code>PlayerMessage.Target.handleMessage(int, Object)</code></a>.</div>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="setPayload(java.lang.Object)">
|
||||
@ -482,7 +482,7 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
|
||||
<h4>setPayload</h4>
|
||||
<pre class="methodSignature">public <a href="PlayerMessage.html" title="class in com.google.android.exoplayer2">PlayerMessage</a> setPayload​(@Nullable
|
||||
<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a> payload)</pre>
|
||||
<div class="block">Sets the message payload forwarded to <a href="PlayerMessage.Target.html#handleMessage(int,java.lang.Object)"><code>PlayerMessage.Target.handleMessage(int, Object)</code></a>.</div>
|
||||
<div class="block">Sets the message payload forwarded to <a href="PlayerMessage.Target.html#handleMessage(@com.google.android.exoplayer2.Renderer.MessageTypeint,java.lang.Object)"><code>PlayerMessage.Target.handleMessage(int, Object)</code></a>.</div>
|
||||
<dl>
|
||||
<dt><span class="paramLabel">Parameters:</span></dt>
|
||||
<dd><code>payload</code> - The message payload.</dd>
|
||||
@ -501,7 +501,7 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
|
||||
<h4>getPayload</h4>
|
||||
<pre class="methodSignature">@Nullable
|
||||
public <a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a> getPayload()</pre>
|
||||
<div class="block">Returns the message payload forwarded to <a href="PlayerMessage.Target.html#handleMessage(int,java.lang.Object)"><code>PlayerMessage.Target.handleMessage(int, Object)</code></a>.</div>
|
||||
<div class="block">Returns the message payload forwarded to <a href="PlayerMessage.Target.html#handleMessage(@com.google.android.exoplayer2.Renderer.MessageTypeint,java.lang.Object)"><code>PlayerMessage.Target.handleMessage(int, Object)</code></a>.</div>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="setHandler(android.os.Handler)">
|
||||
|
@ -115,6 +115,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
<hr>
|
||||
<pre><a href="https://developer.android.com/reference/java/lang/annotation/Documented.html" title="class or interface in java.lang.annotation" class="externalLink" target="_top">@Documented</a>
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Retention.html" title="class or interface in java.lang.annotation" class="externalLink">@Retention</a>(<a href="https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html?is-external=true#SOURCE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">SOURCE</a>)
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Target.html" title="class or interface in java.lang.annotation" class="externalLink">@Target</a>(<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#TYPE_USE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">TYPE_USE</a>)
|
||||
public static @interface <span class="memberNameLabel">Renderer.MessageType</span></pre>
|
||||
<div class="block">Represents a type of message that can be passed to a renderer. May be one of <a href="Renderer.html#MSG_SET_VIDEO_OUTPUT"><code>Renderer.MSG_SET_VIDEO_OUTPUT</code></a>, <a href="Renderer.html#MSG_SET_VOLUME"><code>Renderer.MSG_SET_VOLUME</code></a>, <a href="Renderer.html#MSG_SET_AUDIO_ATTRIBUTES"><code>Renderer.MSG_SET_AUDIO_ATTRIBUTES</code></a>, <a href="Renderer.html#MSG_SET_SCALING_MODE"><code>Renderer.MSG_SET_SCALING_MODE</code></a>, <a href="Renderer.html#MSG_SET_CHANGE_FRAME_RATE_STRATEGY"><code>Renderer.MSG_SET_CHANGE_FRAME_RATE_STRATEGY</code></a>, <a href="Renderer.html#MSG_SET_AUX_EFFECT_INFO"><code>Renderer.MSG_SET_AUX_EFFECT_INFO</code></a>, <a href="Renderer.html#MSG_SET_VIDEO_FRAME_METADATA_LISTENER"><code>Renderer.MSG_SET_VIDEO_FRAME_METADATA_LISTENER</code></a>, <a href="Renderer.html#MSG_SET_CAMERA_MOTION_LISTENER"><code>Renderer.MSG_SET_CAMERA_MOTION_LISTENER</code></a>, <a href="Renderer.html#MSG_SET_SKIP_SILENCE_ENABLED"><code>Renderer.MSG_SET_SKIP_SILENCE_ENABLED</code></a>, <a href="Renderer.html#MSG_SET_AUDIO_SESSION_ID"><code>Renderer.MSG_SET_AUDIO_SESSION_ID</code></a> or <a href="Renderer.html#MSG_SET_WAKEUP_LISTENER"><code>Renderer.MSG_SET_WAKEUP_LISTENER</code></a>. May also be an app-defined
|
||||
value (see <a href="Renderer.html#MSG_CUSTOM_BASE"><code>Renderer.MSG_CUSTOM_BASE</code></a>).</div>
|
||||
|
@ -115,6 +115,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
<hr>
|
||||
<pre><a href="https://developer.android.com/reference/java/lang/annotation/Documented.html" title="class or interface in java.lang.annotation" class="externalLink" target="_top">@Documented</a>
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Retention.html" title="class or interface in java.lang.annotation" class="externalLink">@Retention</a>(<a href="https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html?is-external=true#SOURCE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">SOURCE</a>)
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Target.html" title="class or interface in java.lang.annotation" class="externalLink">@Target</a>(<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#TYPE_USE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">TYPE_USE</a>)
|
||||
public static @interface <span class="memberNameLabel">Renderer.State</span></pre>
|
||||
<div class="block">The renderer states. One of <a href="Renderer.html#STATE_DISABLED"><code>Renderer.STATE_DISABLED</code></a>, <a href="Renderer.html#STATE_ENABLED"><code>Renderer.STATE_ENABLED</code></a> or <a href="Renderer.html#STATE_STARTED"><code>Renderer.STATE_STARTED</code></a>.</div>
|
||||
</li>
|
||||
|
@ -211,35 +211,35 @@ extends <a href="PlayerMessage.Target.html" title="interface in com.google.andro
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MSG_SET_AUDIO_ATTRIBUTES">MSG_SET_AUDIO_ATTRIBUTES</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">A type of a message that can be passed to an audio renderer via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(Target)</code></a>.</div>
|
||||
<div class="block">A type of a message that can be passed to an audio renderer via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(PlayerMessage.Target)</code></a>.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MSG_SET_AUDIO_SESSION_ID">MSG_SET_AUDIO_SESSION_ID</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">The type of a message that can be passed to audio and video renderers via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(Target)</code></a>.</div>
|
||||
<div class="block">The type of a message that can be passed to audio and video renderers via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(PlayerMessage.Target)</code></a>.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MSG_SET_AUX_EFFECT_INFO">MSG_SET_AUX_EFFECT_INFO</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">A type of a message that can be passed to an audio renderer via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(Target)</code></a>.</div>
|
||||
<div class="block">A type of a message that can be passed to an audio renderer via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(PlayerMessage.Target)</code></a>.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MSG_SET_CAMERA_MOTION_LISTENER">MSG_SET_CAMERA_MOTION_LISTENER</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">The type of a message that can be passed to a camera motion renderer via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(Target)</code></a>.</div>
|
||||
<div class="block">The type of a message that can be passed to a camera motion renderer via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(PlayerMessage.Target)</code></a>.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MSG_SET_CHANGE_FRAME_RATE_STRATEGY">MSG_SET_CHANGE_FRAME_RATE_STRATEGY</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">The type of a message that can be passed to a video renderer via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(Target)</code></a>.</div>
|
||||
<div class="block">The type of a message that can be passed to a video renderer via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(PlayerMessage.Target)</code></a>.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
@ -247,43 +247,43 @@ extends <a href="PlayerMessage.Target.html" title="interface in com.google.andro
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MSG_SET_SCALING_MODE">MSG_SET_SCALING_MODE</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">The type of a message that can be passed to a <a href="https://developer.android.com/reference/android/media/MediaCodec.html" title="class or interface in android.media" class="externalLink" target="_top"><code>MediaCodec</code></a>-based video renderer via
|
||||
<a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(Target)</code></a>.</div>
|
||||
<a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(PlayerMessage.Target)</code></a>.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MSG_SET_SKIP_SILENCE_ENABLED">MSG_SET_SKIP_SILENCE_ENABLED</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">The type of a message that can be passed to an audio renderer via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(Target)</code></a>.</div>
|
||||
<div class="block">The type of a message that can be passed to an audio renderer via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(PlayerMessage.Target)</code></a>.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MSG_SET_VIDEO_FRAME_METADATA_LISTENER">MSG_SET_VIDEO_FRAME_METADATA_LISTENER</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">The type of a message that can be passed to a video renderer via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(Target)</code></a>.</div>
|
||||
<div class="block">The type of a message that can be passed to a video renderer via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(PlayerMessage.Target)</code></a>.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MSG_SET_VIDEO_OUTPUT">MSG_SET_VIDEO_OUTPUT</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">The type of a message that can be passed to a video renderer via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(Target)</code></a>.</div>
|
||||
<div class="block">The type of a message that can be passed to a video renderer via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(PlayerMessage.Target)</code></a>.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MSG_SET_VOLUME">MSG_SET_VOLUME</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">A type of a message that can be passed to an audio renderer via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(Target)</code></a>.</div>
|
||||
<div class="block">A type of a message that can be passed to an audio renderer via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(PlayerMessage.Target)</code></a>.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MSG_SET_WAKEUP_LISTENER">MSG_SET_WAKEUP_LISTENER</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">The type of a message that can be passed to a <a href="Renderer.html" title="interface in com.google.android.exoplayer2"><code>Renderer</code></a> via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(Target)</code></a>, to inform the renderer that it can schedule waking up another
|
||||
component.</div>
|
||||
<div class="block">The type of a message that can be passed to a <a href="Renderer.html" title="interface in com.google.android.exoplayer2"><code>Renderer</code></a> via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(PlayerMessage.Target)</code></a>, to inform the renderer that it can schedule
|
||||
waking up another component.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
@ -376,7 +376,7 @@ extends <a href="PlayerMessage.Target.html" title="interface in com.google.andro
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i6" class="altColor">
|
||||
<td class="colFirst"><code>int</code></td>
|
||||
<td class="colFirst"><code>@com.google.android.exoplayer2.Renderer.State int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getState()">getState</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Returns the current state of the renderer.</div>
|
||||
@ -404,6 +404,14 @@ extends <a href="PlayerMessage.Target.html" title="interface in com.google.andro
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i10" class="altColor">
|
||||
<td class="colFirst"><code>void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#init(int,com.google.android.exoplayer2.analytics.PlayerId)">init</a></span>​(int index,
|
||||
<a href="analytics/PlayerId.html" title="class in com.google.android.exoplayer2.analytics">PlayerId</a> playerId)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Initializes the renderer for playback with a player.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i11" class="rowColor">
|
||||
<td class="colFirst"><code>boolean</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCurrentStreamFinal()">isCurrentStreamFinal</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
@ -411,28 +419,28 @@ extends <a href="PlayerMessage.Target.html" title="interface in com.google.andro
|
||||
renderer is next disabled or reset.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i11" class="rowColor">
|
||||
<tr id="i12" class="altColor">
|
||||
<td class="colFirst"><code>boolean</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isEnded()">isEnded</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Whether the renderer is ready for the <a href="ExoPlayer.html" title="interface in com.google.android.exoplayer2"><code>ExoPlayer</code></a> instance to transition to <a href="Player.html#STATE_ENDED"><code>Player.STATE_ENDED</code></a>.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i12" class="altColor">
|
||||
<tr id="i13" class="rowColor">
|
||||
<td class="colFirst"><code>boolean</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isReady()">isReady</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Whether the renderer is able to immediately render media from the current position.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i13" class="rowColor">
|
||||
<tr id="i14" class="altColor">
|
||||
<td class="colFirst"><code>void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#maybeThrowStreamError()">maybeThrowStreamError</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Throws an error that's preventing the renderer from reading from its <a href="source/SampleStream.html" title="interface in com.google.android.exoplayer2.source"><code>SampleStream</code></a>.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i14" class="altColor">
|
||||
<tr id="i15" class="rowColor">
|
||||
<td class="colFirst"><code>void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#render(long,long)">render</a></span>​(long positionUs,
|
||||
long elapsedRealtimeUs)</code></th>
|
||||
@ -440,7 +448,7 @@ extends <a href="PlayerMessage.Target.html" title="interface in com.google.andro
|
||||
<div class="block">Incrementally renders the <a href="source/SampleStream.html" title="interface in com.google.android.exoplayer2.source"><code>SampleStream</code></a>.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i15" class="rowColor">
|
||||
<tr id="i16" class="altColor">
|
||||
<td class="colFirst"><code>void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#replaceStream(com.google.android.exoplayer2.Format%5B%5D,com.google.android.exoplayer2.source.SampleStream,long,long)">replaceStream</a></span>​(<a href="Format.html" title="class in com.google.android.exoplayer2">Format</a>[] formats,
|
||||
<a href="source/SampleStream.html" title="interface in com.google.android.exoplayer2.source">SampleStream</a> stream,
|
||||
@ -450,21 +458,21 @@ extends <a href="PlayerMessage.Target.html" title="interface in com.google.andro
|
||||
<div class="block">Replaces the <a href="source/SampleStream.html" title="interface in com.google.android.exoplayer2.source"><code>SampleStream</code></a> from which samples will be consumed.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i16" class="altColor">
|
||||
<tr id="i17" class="rowColor">
|
||||
<td class="colFirst"><code>void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#reset()">reset</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Forces the renderer to give up any resources (e.g.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i17" class="rowColor">
|
||||
<tr id="i18" class="altColor">
|
||||
<td class="colFirst"><code>void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#resetPosition(long)">resetPosition</a></span>​(long positionUs)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Signals to the renderer that a position discontinuity has occurred.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i18" class="altColor">
|
||||
<tr id="i19" class="rowColor">
|
||||
<td class="colFirst"><code>void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setCurrentStreamFinal()">setCurrentStreamFinal</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
@ -472,13 +480,6 @@ extends <a href="PlayerMessage.Target.html" title="interface in com.google.andro
|
||||
before it is next disabled or reset.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i19" class="rowColor">
|
||||
<td class="colFirst"><code>void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setIndex(int)">setIndex</a></span>​(int index)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Sets the index of this renderer within the player.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i20" class="altColor">
|
||||
<td class="colFirst"><code>default void</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPlaybackSpeed(float,float)">setPlaybackSpeed</a></span>​(float currentPlaybackSpeed,
|
||||
@ -508,7 +509,7 @@ extends <a href="PlayerMessage.Target.html" title="interface in com.google.andro
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>Methods inherited from interface com.google.android.exoplayer2.<a href="PlayerMessage.Target.html" title="interface in com.google.android.exoplayer2">PlayerMessage.Target</a></h3>
|
||||
<code><a href="PlayerMessage.Target.html#handleMessage(int,java.lang.Object)">handleMessage</a></code></li>
|
||||
<code><a href="PlayerMessage.Target.html#handleMessage(@com.google.android.exoplayer2.Renderer.MessageTypeint,java.lang.Object)">handleMessage</a></code></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -533,8 +534,7 @@ extends <a href="PlayerMessage.Target.html" title="interface in com.google.andro
|
||||
<li class="blockList">
|
||||
<h4>MSG_SET_VIDEO_OUTPUT</h4>
|
||||
<pre>static final int MSG_SET_VIDEO_OUTPUT</pre>
|
||||
<div class="block">The type of a message that can be passed to a video renderer via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(Target)</code></a>. The message payload is normally a <a href="https://developer.android.com/reference/android/view/Surface.html" title="class or interface in android.view" class="externalLink" target="_top"><code>Surface</code></a>, however
|
||||
some video renderers may accept other outputs (e.g., <a href="video/VideoDecoderOutputBufferRenderer.html" title="interface in com.google.android.exoplayer2.video"><code>VideoDecoderOutputBufferRenderer</code></a>).
|
||||
<div class="block">The type of a message that can be passed to a video renderer via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(PlayerMessage.Target)</code></a>. The message payload is normally a <a href="https://developer.android.com/reference/android/view/Surface.html" title="class or interface in android.view" class="externalLink"><code>Surface</code></a>, however some video renderers may accept other outputs (e.g., <a href="video/VideoDecoderOutputBufferRenderer.html" title="interface in com.google.android.exoplayer2.video" target="_top"><code>VideoDecoderOutputBufferRenderer</code></a>).
|
||||
|
||||
<p>If the receiving renderer does not support the payload type as an output, then it will clear
|
||||
any existing output that it has.</div>
|
||||
@ -551,8 +551,8 @@ extends <a href="PlayerMessage.Target.html" title="interface in com.google.andro
|
||||
<li class="blockList">
|
||||
<h4>MSG_SET_VOLUME</h4>
|
||||
<pre>static final int MSG_SET_VOLUME</pre>
|
||||
<div class="block">A type of a message that can be passed to an audio renderer via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(Target)</code></a>. The message payload should be a <a href="https://developer.android.com/reference/java/lang/Float.html" title="class or interface in java.lang" class="externalLink" target="_top"><code>Float</code></a> with 0 being
|
||||
silence and 1 being unity gain.</div>
|
||||
<div class="block">A type of a message that can be passed to an audio renderer via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(PlayerMessage.Target)</code></a>. The message payload should be a <a href="https://developer.android.com/reference/java/lang/Float.html" title="class or interface in java.lang" class="externalLink" target="_top"><code>Float</code></a>
|
||||
with 0 being silence and 1 being unity gain.</div>
|
||||
<dl>
|
||||
<dt><span class="seeLabel">See Also:</span></dt>
|
||||
<dd><a href="../../../../constant-values.html#com.google.android.exoplayer2.Renderer.MSG_SET_VOLUME">Constant Field Values</a></dd>
|
||||
@ -566,9 +566,8 @@ extends <a href="PlayerMessage.Target.html" title="interface in com.google.andro
|
||||
<li class="blockList">
|
||||
<h4>MSG_SET_AUDIO_ATTRIBUTES</h4>
|
||||
<pre>static final int MSG_SET_AUDIO_ATTRIBUTES</pre>
|
||||
<div class="block">A type of a message that can be passed to an audio renderer via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(Target)</code></a>. The message payload should be an <a href="audio/AudioAttributes.html" title="class in com.google.android.exoplayer2.audio"><code>AudioAttributes</code></a>
|
||||
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.
|
||||
<div class="block">A type of a message that can be passed to an audio renderer via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(PlayerMessage.Target)</code></a>. The message payload should be an <a href="audio/AudioAttributes.html" title="class in com.google.android.exoplayer2.audio"><code>AudioAttributes</code></a> 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.
|
||||
|
||||
<p>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.
|
||||
@ -581,7 +580,7 @@ extends <a href="PlayerMessage.Target.html" title="interface in com.google.andro
|
||||
equivalent stream type using <a href="util/Util.html#getStreamTypeForAudioUsage(@com.google.android.exoplayer2.C.AudioUsageint)"><code>Util.getStreamTypeForAudioUsage(int)</code></a>.
|
||||
|
||||
<p>To get audio attributes that are equivalent to a legacy stream type, pass the stream type to
|
||||
<a href="util/Util.html#getAudioUsageForStreamType(int)"><code>Util.getAudioUsageForStreamType(int)</code></a> and use the returned <a href="C.AudioUsage.html" title="annotation in com.google.android.exoplayer2"><code>C.AudioUsage</code></a> to build
|
||||
<a href="util/Util.html#getAudioUsageForStreamType(@com.google.android.exoplayer2.C.StreamTypeint)"><code>Util.getAudioUsageForStreamType(int)</code></a> and use the returned <a href="C.AudioUsage.html" title="annotation in com.google.android.exoplayer2"><code>C.AudioUsage</code></a> to build
|
||||
an audio attributes instance.</div>
|
||||
<dl>
|
||||
<dt><span class="seeLabel">See Also:</span></dt>
|
||||
@ -597,8 +596,8 @@ extends <a href="PlayerMessage.Target.html" title="interface in com.google.andro
|
||||
<h4>MSG_SET_SCALING_MODE</h4>
|
||||
<pre>static final int MSG_SET_SCALING_MODE</pre>
|
||||
<div class="block">The type of a message that can be passed to a <a href="https://developer.android.com/reference/android/media/MediaCodec.html" title="class or interface in android.media" class="externalLink" target="_top"><code>MediaCodec</code></a>-based video renderer via
|
||||
<a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(Target)</code></a>. The message payload should be one of the integer
|
||||
scaling modes in <a href="C.VideoScalingMode.html" title="annotation in com.google.android.exoplayer2"><code>C.VideoScalingMode</code></a>.
|
||||
<a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(PlayerMessage.Target)</code></a>. The message payload should be one of the
|
||||
integer scaling modes in <a href="C.VideoScalingMode.html" title="annotation in com.google.android.exoplayer2"><code>C.VideoScalingMode</code></a>.
|
||||
|
||||
<p>Note that the scaling mode only applies if the <a href="https://developer.android.com/reference/android/view/Surface.html" title="class or interface in android.view" class="externalLink" target="_top"><code>Surface</code></a> targeted by the renderer is
|
||||
owned by a <a href="https://developer.android.com/reference/android/view/SurfaceView.html" title="class or interface in android.view" class="externalLink" target="_top"><code>SurfaceView</code></a>.</div>
|
||||
@ -615,8 +614,8 @@ extends <a href="PlayerMessage.Target.html" title="interface in com.google.andro
|
||||
<li class="blockList">
|
||||
<h4>MSG_SET_CHANGE_FRAME_RATE_STRATEGY</h4>
|
||||
<pre>static final int MSG_SET_CHANGE_FRAME_RATE_STRATEGY</pre>
|
||||
<div class="block">The type of a message that can be passed to a video renderer via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(Target)</code></a>. The message payload should be one of the integer strategy
|
||||
constants in <a href="C.VideoChangeFrameRateStrategy.html" title="annotation in com.google.android.exoplayer2"><code>C.VideoChangeFrameRateStrategy</code></a>.</div>
|
||||
<div class="block">The type of a message that can be passed to a video renderer via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(PlayerMessage.Target)</code></a>. The message payload should be one of the
|
||||
integer strategy constants in <a href="C.VideoChangeFrameRateStrategy.html" title="annotation in com.google.android.exoplayer2"><code>C.VideoChangeFrameRateStrategy</code></a>.</div>
|
||||
<dl>
|
||||
<dt><span class="seeLabel">See Also:</span></dt>
|
||||
<dd><a href="../../../../constant-values.html#com.google.android.exoplayer2.Renderer.MSG_SET_CHANGE_FRAME_RATE_STRATEGY">Constant Field Values</a></dd>
|
||||
@ -630,8 +629,7 @@ extends <a href="PlayerMessage.Target.html" title="interface in com.google.andro
|
||||
<li class="blockList">
|
||||
<h4>MSG_SET_AUX_EFFECT_INFO</h4>
|
||||
<pre>static final int MSG_SET_AUX_EFFECT_INFO</pre>
|
||||
<div class="block">A type of a message that can be passed to an audio renderer via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(Target)</code></a>. The message payload should be an <a href="audio/AuxEffectInfo.html" title="class in com.google.android.exoplayer2.audio"><code>AuxEffectInfo</code></a>
|
||||
instance representing an auxiliary audio effect for the underlying audio track.</div>
|
||||
<div class="block">A type of a message that can be passed to an audio renderer via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(PlayerMessage.Target)</code></a>. The message payload should be an <a href="audio/AuxEffectInfo.html" title="class in com.google.android.exoplayer2.audio"><code>AuxEffectInfo</code></a> instance representing an auxiliary audio effect for the underlying audio track.</div>
|
||||
<dl>
|
||||
<dt><span class="seeLabel">See Also:</span></dt>
|
||||
<dd><a href="../../../../constant-values.html#com.google.android.exoplayer2.Renderer.MSG_SET_AUX_EFFECT_INFO">Constant Field Values</a></dd>
|
||||
@ -645,7 +643,7 @@ extends <a href="PlayerMessage.Target.html" title="interface in com.google.andro
|
||||
<li class="blockList">
|
||||
<h4>MSG_SET_VIDEO_FRAME_METADATA_LISTENER</h4>
|
||||
<pre>static final int MSG_SET_VIDEO_FRAME_METADATA_LISTENER</pre>
|
||||
<div class="block">The type of a message that can be passed to a video renderer via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(Target)</code></a>. The message payload should be a <a href="video/VideoFrameMetadataListener.html" title="interface in com.google.android.exoplayer2.video"><code>VideoFrameMetadataListener</code></a> instance, or null.</div>
|
||||
<div class="block">The type of a message that can be passed to a video renderer via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(PlayerMessage.Target)</code></a>. The message payload should be a <a href="video/VideoFrameMetadataListener.html" title="interface in com.google.android.exoplayer2.video"><code>VideoFrameMetadataListener</code></a> instance, or null.</div>
|
||||
<dl>
|
||||
<dt><span class="seeLabel">See Also:</span></dt>
|
||||
<dd><a href="../../../../constant-values.html#com.google.android.exoplayer2.Renderer.MSG_SET_VIDEO_FRAME_METADATA_LISTENER">Constant Field Values</a></dd>
|
||||
@ -659,8 +657,7 @@ extends <a href="PlayerMessage.Target.html" title="interface in com.google.andro
|
||||
<li class="blockList">
|
||||
<h4>MSG_SET_CAMERA_MOTION_LISTENER</h4>
|
||||
<pre>static final int MSG_SET_CAMERA_MOTION_LISTENER</pre>
|
||||
<div class="block">The type of a message that can be passed to a camera motion renderer via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(Target)</code></a>. The message payload should be a <a href="video/spherical/CameraMotionListener.html" title="interface in com.google.android.exoplayer2.video.spherical"><code>CameraMotionListener</code></a>
|
||||
instance, or null.</div>
|
||||
<div class="block">The type of a message that can be passed to a camera motion renderer via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(PlayerMessage.Target)</code></a>. The message payload should be a <a href="video/spherical/CameraMotionListener.html" title="interface in com.google.android.exoplayer2.video.spherical"><code>CameraMotionListener</code></a> instance, or null.</div>
|
||||
<dl>
|
||||
<dt><span class="seeLabel">See Also:</span></dt>
|
||||
<dd><a href="../../../../constant-values.html#com.google.android.exoplayer2.Renderer.MSG_SET_CAMERA_MOTION_LISTENER">Constant Field Values</a></dd>
|
||||
@ -674,8 +671,8 @@ extends <a href="PlayerMessage.Target.html" title="interface in com.google.andro
|
||||
<li class="blockList">
|
||||
<h4>MSG_SET_SKIP_SILENCE_ENABLED</h4>
|
||||
<pre>static final int MSG_SET_SKIP_SILENCE_ENABLED</pre>
|
||||
<div class="block">The type of a message that can be passed to an audio renderer via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(Target)</code></a>. The message payload should be a <a href="https://developer.android.com/reference/java/lang/Boolean.html" title="class or interface in java.lang" class="externalLink" target="_top"><code>Boolean</code></a> instance
|
||||
telling whether to enable or disable skipping silences in the audio stream.</div>
|
||||
<div class="block">The type of a message that can be passed to an audio renderer via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(PlayerMessage.Target)</code></a>. The message payload should be a <a href="https://developer.android.com/reference/java/lang/Boolean.html" title="class or interface in java.lang" class="externalLink" target="_top"><code>Boolean</code></a>
|
||||
instance telling whether to enable or disable skipping silences in the audio stream.</div>
|
||||
<dl>
|
||||
<dt><span class="seeLabel">See Also:</span></dt>
|
||||
<dd><a href="../../../../constant-values.html#com.google.android.exoplayer2.Renderer.MSG_SET_SKIP_SILENCE_ENABLED">Constant Field Values</a></dd>
|
||||
@ -689,9 +686,9 @@ extends <a href="PlayerMessage.Target.html" title="interface in com.google.andro
|
||||
<li class="blockList">
|
||||
<h4>MSG_SET_AUDIO_SESSION_ID</h4>
|
||||
<pre>static final int MSG_SET_AUDIO_SESSION_ID</pre>
|
||||
<div class="block">The type of a message that can be passed to audio and video renderers via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(Target)</code></a>. The message payload should be an <a href="https://developer.android.com/reference/java/lang/Integer.html" title="class or interface in java.lang" class="externalLink" target="_top"><code>Integer</code></a> 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.</div>
|
||||
<div class="block">The type of a message that can be passed to audio and video renderers via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(PlayerMessage.Target)</code></a>. The message payload should be an <a href="https://developer.android.com/reference/java/lang/Integer.html" title="class or interface in java.lang" class="externalLink" target="_top"><code>Integer</code></a> 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.</div>
|
||||
<dl>
|
||||
<dt><span class="seeLabel">See Also:</span></dt>
|
||||
<dd><a href="../../../../constant-values.html#com.google.android.exoplayer2.Renderer.MSG_SET_AUDIO_SESSION_ID">Constant Field Values</a></dd>
|
||||
@ -705,8 +702,8 @@ extends <a href="PlayerMessage.Target.html" title="interface in com.google.andro
|
||||
<li class="blockList">
|
||||
<h4>MSG_SET_WAKEUP_LISTENER</h4>
|
||||
<pre>static final int MSG_SET_WAKEUP_LISTENER</pre>
|
||||
<div class="block">The type of a message that can be passed to a <a href="Renderer.html" title="interface in com.google.android.exoplayer2"><code>Renderer</code></a> via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(Target)</code></a>, to inform the renderer that it can schedule waking up another
|
||||
component.
|
||||
<div class="block">The type of a message that can be passed to a <a href="Renderer.html" title="interface in com.google.android.exoplayer2"><code>Renderer</code></a> via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(PlayerMessage.Target)</code></a>, to inform the renderer that it can schedule
|
||||
waking up another component.
|
||||
|
||||
<p>The message payload must be a <a href="Renderer.WakeupListener.html" title="interface in com.google.android.exoplayer2"><code>Renderer.WakeupListener</code></a> instance.</div>
|
||||
<dl>
|
||||
@ -832,17 +829,19 @@ extends <a href="PlayerMessage.Target.html" title="interface in com.google.andro
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="setIndex(int)">
|
||||
<a id="init(int,com.google.android.exoplayer2.analytics.PlayerId)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>setIndex</h4>
|
||||
<pre class="methodSignature">void setIndex​(int index)</pre>
|
||||
<div class="block">Sets the index of this renderer within the player.</div>
|
||||
<h4>init</h4>
|
||||
<pre class="methodSignature">void init​(int index,
|
||||
<a href="analytics/PlayerId.html" title="class in com.google.android.exoplayer2.analytics">PlayerId</a> playerId)</pre>
|
||||
<div class="block">Initializes the renderer for playback with a player.</div>
|
||||
<dl>
|
||||
<dt><span class="paramLabel">Parameters:</span></dt>
|
||||
<dd><code>index</code> - The renderer index.</dd>
|
||||
<dd><code>index</code> - The renderer index within the player.</dd>
|
||||
<dd><code>playerId</code> - The <a href="analytics/PlayerId.html" title="class in com.google.android.exoplayer2.analytics"><code>PlayerId</code></a> of the player.</dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
@ -869,8 +868,7 @@ extends <a href="PlayerMessage.Target.html" title="interface in com.google.andro
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>getState</h4>
|
||||
<pre class="methodSignature"><a href="Renderer.State.html" title="annotation in com.google.android.exoplayer2">@State</a>
|
||||
int getState()</pre>
|
||||
<pre class="methodSignature">@com.google.android.exoplayer2.Renderer.State int getState()</pre>
|
||||
<div class="block">Returns the current state of the renderer.</div>
|
||||
<dl>
|
||||
<dt><span class="returnLabel">Returns:</span></dt>
|
||||
|
@ -115,6 +115,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
<hr>
|
||||
<pre><a href="https://developer.android.com/reference/java/lang/annotation/Documented.html" title="class or interface in java.lang.annotation" class="externalLink" target="_top">@Documented</a>
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Retention.html" title="class or interface in java.lang.annotation" class="externalLink">@Retention</a>(<a href="https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html?is-external=true#SOURCE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">SOURCE</a>)
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Target.html" title="class or interface in java.lang.annotation" class="externalLink">@Target</a>(<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#TYPE_USE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">TYPE_USE</a>)
|
||||
public static @interface <span class="memberNameLabel">RendererCapabilities.AdaptiveSupport</span></pre>
|
||||
<div class="block">Level of renderer support for adaptive format switches. One of <a href="RendererCapabilities.html#ADAPTIVE_SEAMLESS"><code>RendererCapabilities.ADAPTIVE_SEAMLESS</code></a>,
|
||||
<a href="RendererCapabilities.html#ADAPTIVE_NOT_SEAMLESS"><code>RendererCapabilities.ADAPTIVE_NOT_SEAMLESS</code></a> or <a href="RendererCapabilities.html#ADAPTIVE_NOT_SUPPORTED"><code>RendererCapabilities.ADAPTIVE_NOT_SUPPORTED</code></a>.</div>
|
||||
|
@ -115,12 +115,13 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
<hr>
|
||||
<pre><a href="https://developer.android.com/reference/java/lang/annotation/Documented.html" title="class or interface in java.lang.annotation" class="externalLink" target="_top">@Documented</a>
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Retention.html" title="class or interface in java.lang.annotation" class="externalLink">@Retention</a>(<a href="https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html?is-external=true#SOURCE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">SOURCE</a>)
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Target.html" title="class or interface in java.lang.annotation" class="externalLink">@Target</a>(<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#TYPE_USE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">TYPE_USE</a>)
|
||||
public static @interface <span class="memberNameLabel">RendererCapabilities.Capabilities</span></pre>
|
||||
<div class="block">Combined renderer capabilities.
|
||||
|
||||
<p>This is a bitwise OR of <a href="C.FormatSupport.html" title="annotation in com.google.android.exoplayer2"><code>C.FormatSupport</code></a>, <a href="RendererCapabilities.AdaptiveSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.AdaptiveSupport</code></a> and <a href="RendererCapabilities.TunnelingSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.TunnelingSupport</code></a>. Use <a href="RendererCapabilities.html#getFormatSupport(int)"><code>RendererCapabilities.getFormatSupport(int)</code></a>, <a href="RendererCapabilities.html#getAdaptiveSupport(int)"><code>RendererCapabilities.getAdaptiveSupport(int)</code></a> or
|
||||
<a href="RendererCapabilities.html#getTunnelingSupport(int)"><code>RendererCapabilities.getTunnelingSupport(int)</code></a> to obtain the individual flags. And use <a href="RendererCapabilities.html#create(int)"><code>RendererCapabilities.create(int)</code></a>
|
||||
or <a href="RendererCapabilities.html#create(int,int,int)"><code>RendererCapabilities.create(int, int, int)</code></a> to create the combined capabilities.
|
||||
<p>This is a bitwise OR of <a href="C.FormatSupport.html" title="annotation in com.google.android.exoplayer2"><code>C.FormatSupport</code></a>, <a href="RendererCapabilities.AdaptiveSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.AdaptiveSupport</code></a>, <a href="RendererCapabilities.TunnelingSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.TunnelingSupport</code></a>, <a href="RendererCapabilities.HardwareAccelerationSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.HardwareAccelerationSupport</code></a> and <a href="RendererCapabilities.DecoderSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.DecoderSupport</code></a>. Use <a href="RendererCapabilities.html#getFormatSupport(@com.google.android.exoplayer2.RendererCapabilities.Capabilitiesint)"><code>RendererCapabilities.getFormatSupport(@com.google.android.exoplayer2.RendererCapabilities.Capabilities int)</code></a>, <a href="RendererCapabilities.html#getAdaptiveSupport(@com.google.android.exoplayer2.RendererCapabilities.Capabilitiesint)"><code>RendererCapabilities.getAdaptiveSupport(@com.google.android.exoplayer2.RendererCapabilities.Capabilities int)</code></a>, <a href="RendererCapabilities.html#getTunnelingSupport(@com.google.android.exoplayer2.RendererCapabilities.Capabilitiesint)"><code>RendererCapabilities.getTunnelingSupport(@com.google.android.exoplayer2.RendererCapabilities.Capabilities int)</code></a>, <a href="RendererCapabilities.html#getHardwareAccelerationSupport(@com.google.android.exoplayer2.RendererCapabilities.Capabilitiesint)"><code>RendererCapabilities.getHardwareAccelerationSupport(@com.google.android.exoplayer2.RendererCapabilities.Capabilities int)</code></a> and <a href="RendererCapabilities.html#getDecoderSupport(@com.google.android.exoplayer2.RendererCapabilities.Capabilitiesint)"><code>RendererCapabilities.getDecoderSupport(@com.google.android.exoplayer2.RendererCapabilities.Capabilities int)</code></a> to obtain individual
|
||||
components. Use <a href="RendererCapabilities.html#create(@com.google.android.exoplayer2.C.FormatSupportint)"><code>RendererCapabilities.create(int)</code></a>, <a href="RendererCapabilities.html#create(@com.google.android.exoplayer2.C.FormatSupportint,@com.google.android.exoplayer2.RendererCapabilities.AdaptiveSupportint,@com.google.android.exoplayer2.RendererCapabilities.TunnelingSupportint)"><code>RendererCapabilities.create(int, int, int)</code></a> or <a href="RendererCapabilities.html#create(@com.google.android.exoplayer2.C.FormatSupportint,@com.google.android.exoplayer2.RendererCapabilities.AdaptiveSupportint,@com.google.android.exoplayer2.RendererCapabilities.TunnelingSupportint,@com.google.android.exoplayer2.RendererCapabilities.HardwareAccelerationSupportint,@com.google.android.exoplayer2.RendererCapabilities.DecoderSupportint)"><code>RendererCapabilities.create(int,
|
||||
int, int, int, int)</code></a> to create combined capabilities from individual components.
|
||||
|
||||
<p>Possible values:
|
||||
|
||||
@ -131,6 +132,9 @@ public static @interface <span class="memberNameLabel">RendererCapabilities.Capa
|
||||
support for the format itself is <a href="C.html#FORMAT_HANDLED"><code>C.FORMAT_HANDLED</code></a> or <a href="C.html#FORMAT_EXCEEDS_CAPABILITIES"><code>C.FORMAT_EXCEEDS_CAPABILITIES</code></a>.
|
||||
<li><a href="RendererCapabilities.TunnelingSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.TunnelingSupport</code></a>: The level of support for tunneling. One of <a href="RendererCapabilities.html#TUNNELING_SUPPORTED"><code>RendererCapabilities.TUNNELING_SUPPORTED</code></a> and <a href="RendererCapabilities.html#TUNNELING_NOT_SUPPORTED"><code>RendererCapabilities.TUNNELING_NOT_SUPPORTED</code></a>. Only set if the level of
|
||||
support for the format itself is <a href="C.html#FORMAT_HANDLED"><code>C.FORMAT_HANDLED</code></a> or <a href="C.html#FORMAT_EXCEEDS_CAPABILITIES"><code>C.FORMAT_EXCEEDS_CAPABILITIES</code></a>.
|
||||
<li><a href="RendererCapabilities.HardwareAccelerationSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.HardwareAccelerationSupport</code></a>: The level of support for hardware acceleration. One
|
||||
of <a href="RendererCapabilities.html#HARDWARE_ACCELERATION_SUPPORTED"><code>RendererCapabilities.HARDWARE_ACCELERATION_SUPPORTED</code></a> and <a href="RendererCapabilities.html#HARDWARE_ACCELERATION_NOT_SUPPORTED"><code>RendererCapabilities.HARDWARE_ACCELERATION_NOT_SUPPORTED</code></a>.
|
||||
<li><a href="RendererCapabilities.DecoderSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.DecoderSupport</code></a>: The level of decoder support. One of <a href="RendererCapabilities.html#DECODER_SUPPORT_PRIMARY"><code>RendererCapabilities.DECODER_SUPPORT_PRIMARY</code></a> and <a href="RendererCapabilities.html#DECODER_SUPPORT_FALLBACK"><code>RendererCapabilities.DECODER_SUPPORT_FALLBACK</code></a>.
|
||||
</ul></div>
|
||||
</li>
|
||||
</ul>
|
||||
|
@ -2,7 +2,7 @@
|
||||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head><!-- start favicons snippet, use https://realfavicongenerator.net/ --><link rel="apple-touch-icon" sizes="180x180" href="/assets/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="/assets/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/assets/favicon-16x16.png"><link rel="manifest" href="/assets/site.webmanifest"><link rel="mask-icon" href="/assets/safari-pinned-tab.svg" color="#fc4d50"><link rel="shortcut icon" href="/assets/favicon.ico"><meta name="msapplication-TileColor" content="#ffc40d"><meta name="msapplication-config" content="/assets/browserconfig.xml"><meta name="theme-color" content="#ffffff"><!-- end favicons snippet -->
|
||||
<title>C.AudioManagerOffloadMode (ExoPlayer library)</title>
|
||||
<title>RendererCapabilities.DecoderSupport (ExoPlayer library)</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
|
||||
@ -19,7 +19,7 @@
|
||||
<script type="text/javascript"><!--
|
||||
try {
|
||||
if (location.href.indexOf('is-external=true') == -1) {
|
||||
parent.document.title="C.AudioManagerOffloadMode (ExoPlayer library)";
|
||||
parent.document.title="RendererCapabilities.DecoderSupport (ExoPlayer library)";
|
||||
}
|
||||
}
|
||||
catch(err) {
|
||||
@ -106,16 +106,20 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
<main role="main">
|
||||
<div class="header">
|
||||
<div class="subTitle"><span class="packageLabelInType">Package</span> <a href="package-summary.html">com.google.android.exoplayer2</a></div>
|
||||
<h2 title="Annotation Type C.AudioManagerOffloadMode" class="title">Annotation Type C.AudioManagerOffloadMode</h2>
|
||||
<h2 title="Annotation Type RendererCapabilities.DecoderSupport" class="title">Annotation Type RendererCapabilities.DecoderSupport</h2>
|
||||
</div>
|
||||
<div class="contentContainer">
|
||||
<div class="description">
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<hr>
|
||||
<pre><a href="https://developer.android.com/reference/java/lang/annotation/Retention.html" title="class or interface in java.lang.annotation" class="externalLink">@Retention</a>(<a href="https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html?is-external=true#SOURCE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">SOURCE</a>)
|
||||
public static @interface <span class="memberNameLabel">C.AudioManagerOffloadMode</span></pre>
|
||||
<div class="block">Playback offload mode. One of <a href="C.html#PLAYBACK_OFFLOAD_NOT_SUPPORTED"><code>C.PLAYBACK_OFFLOAD_NOT_SUPPORTED</code></a>,<a href="C.html#PLAYBACK_OFFLOAD_SUPPORTED"><code>C.PLAYBACK_OFFLOAD_SUPPORTED</code></a> or <a href="C.html#PLAYBACK_OFFLOAD_GAPLESS_SUPPORTED"><code>C.PLAYBACK_OFFLOAD_GAPLESS_SUPPORTED</code></a>.</div>
|
||||
<pre><a href="https://developer.android.com/reference/java/lang/annotation/Documented.html" title="class or interface in java.lang.annotation" class="externalLink" target="_top">@Documented</a>
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Retention.html" title="class or interface in java.lang.annotation" class="externalLink">@Retention</a>(<a href="https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html?is-external=true#SOURCE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">SOURCE</a>)
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Target.html" title="class or interface in java.lang.annotation" class="externalLink">@Target</a>(<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#TYPE_USE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">TYPE_USE</a>)
|
||||
public static @interface <span class="memberNameLabel">RendererCapabilities.DecoderSupport</span></pre>
|
||||
<div class="block">Level of decoder support. One of <a href="RendererCapabilities.html#DECODER_SUPPORT_PRIMARY"><code>RendererCapabilities.DECODER_SUPPORT_PRIMARY</code></a> and <a href="RendererCapabilities.html#DECODER_SUPPORT_FALLBACK"><code>RendererCapabilities.DECODER_SUPPORT_FALLBACK</code></a>.
|
||||
|
||||
<p>For video renderers, the level of support is indicated for non-tunneled output.</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
@ -115,6 +115,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
<hr>
|
||||
<pre><a href="https://developer.android.com/reference/java/lang/annotation/Documented.html" title="class or interface in java.lang.annotation" class="externalLink" target="_top">@Documented</a>
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Retention.html" title="class or interface in java.lang.annotation" class="externalLink">@Retention</a>(<a href="https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html?is-external=true#SOURCE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">SOURCE</a>)
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Target.html" title="class or interface in java.lang.annotation" class="externalLink">@Target</a>(<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#TYPE_USE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">TYPE_USE</a>)
|
||||
<a href="https://developer.android.com/reference/java/lang/Deprecated.html" title="class or interface in java.lang" class="externalLink" target="_top">@Deprecated</a>
|
||||
public static @interface <span class="memberNameLabel">RendererCapabilities.FormatSupport</span></pre>
|
||||
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
|
||||
|
@ -0,0 +1,188 @@
|
||||
<!DOCTYPE HTML>
|
||||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head><!-- start favicons snippet, use https://realfavicongenerator.net/ --><link rel="apple-touch-icon" sizes="180x180" href="/assets/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="/assets/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/assets/favicon-16x16.png"><link rel="manifest" href="/assets/site.webmanifest"><link rel="mask-icon" href="/assets/safari-pinned-tab.svg" color="#fc4d50"><link rel="shortcut icon" href="/assets/favicon.ico"><meta name="msapplication-TileColor" content="#ffc40d"><meta name="msapplication-config" content="/assets/browserconfig.xml"><meta name="theme-color" content="#ffffff"><!-- end favicons snippet -->
|
||||
<title>RendererCapabilities.HardwareAccelerationSupport (ExoPlayer library)</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
|
||||
<link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
|
||||
<script type="text/javascript" src="../../../../script.js"></script>
|
||||
<script type="text/javascript" src="../../../../jquery/jszip/dist/jszip.min.js"></script>
|
||||
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
|
||||
<!--[if IE]>
|
||||
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
|
||||
<![endif]-->
|
||||
<script type="text/javascript" src="../../../../jquery/jquery-3.5.1.js"></script>
|
||||
<script type="text/javascript" src="../../../../jquery/jquery-ui.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script type="text/javascript"><!--
|
||||
try {
|
||||
if (location.href.indexOf('is-external=true') == -1) {
|
||||
parent.document.title="RendererCapabilities.HardwareAccelerationSupport (ExoPlayer library)";
|
||||
}
|
||||
}
|
||||
catch(err) {
|
||||
}
|
||||
//-->
|
||||
var pathtoroot = "../../../../";
|
||||
var useModuleDirectories = false;
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled on your browser.</div>
|
||||
</noscript>
|
||||
<header role="banner">
|
||||
<nav role="navigation">
|
||||
<div class="fixedNav">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="topNav"><a id="navbar.top">
|
||||
<!-- -->
|
||||
</a>
|
||||
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
|
||||
<a id="navbar.top.firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../../../../index.html">Overview</a></li>
|
||||
<li><a href="package-summary.html">Package</a></li>
|
||||
<li class="navBarCell1Rev">Class</li>
|
||||
<li><a href="package-tree.html">Tree</a></li>
|
||||
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
|
||||
<li><a href="../../../../index-all.html">Index</a></li>
|
||||
<li><a href="../../../../help-doc.html">Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList" id="allclasses_navbar_top">
|
||||
<li><a href="../../../../allclasses.html">All Classes</a></li>
|
||||
</ul>
|
||||
<ul class="navListSearch">
|
||||
<li><label for="search">SEARCH:</label>
|
||||
<input type="text" id="search" value="search" disabled="disabled">
|
||||
<input type="reset" id="reset" value="reset" disabled="disabled">
|
||||
</li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_top");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled on your browser.</div>
|
||||
</noscript>
|
||||
</div>
|
||||
<div>
|
||||
<ul class="subNavList">
|
||||
<li>Summary: </li>
|
||||
<li>Field | </li>
|
||||
<li>Required | </li>
|
||||
<li>Optional</li>
|
||||
</ul>
|
||||
<ul class="subNavList">
|
||||
<li>Detail: </li>
|
||||
<li>Field | </li>
|
||||
<li>Element</li>
|
||||
</ul>
|
||||
</div>
|
||||
<a id="skip.navbar.top">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
</div>
|
||||
<div class="navPadding"> </div>
|
||||
<script type="text/javascript"><!--
|
||||
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
//-->
|
||||
</script>
|
||||
</nav>
|
||||
</header>
|
||||
<!-- ======== START OF CLASS DATA ======== -->
|
||||
<main role="main">
|
||||
<div class="header">
|
||||
<div class="subTitle"><span class="packageLabelInType">Package</span> <a href="package-summary.html">com.google.android.exoplayer2</a></div>
|
||||
<h2 title="Annotation Type RendererCapabilities.HardwareAccelerationSupport" class="title">Annotation Type RendererCapabilities.HardwareAccelerationSupport</h2>
|
||||
</div>
|
||||
<div class="contentContainer">
|
||||
<div class="description">
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<hr>
|
||||
<pre><a href="https://developer.android.com/reference/java/lang/annotation/Documented.html" title="class or interface in java.lang.annotation" class="externalLink" target="_top">@Documented</a>
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Retention.html" title="class or interface in java.lang.annotation" class="externalLink">@Retention</a>(<a href="https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html?is-external=true#SOURCE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">SOURCE</a>)
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Target.html" title="class or interface in java.lang.annotation" class="externalLink">@Target</a>(<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#TYPE_USE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">TYPE_USE</a>)
|
||||
public static @interface <span class="memberNameLabel">RendererCapabilities.HardwareAccelerationSupport</span></pre>
|
||||
<div class="block">Level of renderer support for hardware acceleration. One of <a href="RendererCapabilities.html#HARDWARE_ACCELERATION_SUPPORTED"><code>RendererCapabilities.HARDWARE_ACCELERATION_SUPPORTED</code></a> and <a href="RendererCapabilities.html#HARDWARE_ACCELERATION_NOT_SUPPORTED"><code>RendererCapabilities.HARDWARE_ACCELERATION_NOT_SUPPORTED</code></a>.
|
||||
|
||||
<p>For video renderers, the level of support is indicated for non-tunneled output.</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
<!-- ========= END OF CLASS DATA ========= -->
|
||||
<footer role="contentinfo">
|
||||
<nav role="navigation">
|
||||
<!-- ======= START OF BOTTOM NAVBAR ====== -->
|
||||
<div class="bottomNav"><a id="navbar.bottom">
|
||||
<!-- -->
|
||||
</a>
|
||||
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
|
||||
<a id="navbar.bottom.firstrow">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="navList" title="Navigation">
|
||||
<li><a href="../../../../index.html">Overview</a></li>
|
||||
<li><a href="package-summary.html">Package</a></li>
|
||||
<li class="navBarCell1Rev">Class</li>
|
||||
<li><a href="package-tree.html">Tree</a></li>
|
||||
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
|
||||
<li><a href="../../../../index-all.html">Index</a></li>
|
||||
<li><a href="../../../../help-doc.html">Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subNav">
|
||||
<ul class="navList" id="allclasses_navbar_bottom">
|
||||
<li><a href="../../../../allclasses.html">All Classes</a></li>
|
||||
</ul>
|
||||
<div>
|
||||
<script type="text/javascript"><!--
|
||||
allClassesLink = document.getElementById("allclasses_navbar_bottom");
|
||||
if(window==top) {
|
||||
allClassesLink.style.display = "block";
|
||||
}
|
||||
else {
|
||||
allClassesLink.style.display = "none";
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
<noscript>
|
||||
<div>JavaScript is disabled on your browser.</div>
|
||||
</noscript>
|
||||
</div>
|
||||
<div>
|
||||
<ul class="subNavList">
|
||||
<li>Summary: </li>
|
||||
<li>Field | </li>
|
||||
<li>Required | </li>
|
||||
<li>Optional</li>
|
||||
</ul>
|
||||
<ul class="subNavList">
|
||||
<li>Detail: </li>
|
||||
<li>Field | </li>
|
||||
<li>Element</li>
|
||||
</ul>
|
||||
</div>
|
||||
<a id="skip.navbar.bottom">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ======== END OF BOTTOM NAVBAR ======= -->
|
||||
</nav>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
@ -115,6 +115,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
<hr>
|
||||
<pre><a href="https://developer.android.com/reference/java/lang/annotation/Documented.html" title="class or interface in java.lang.annotation" class="externalLink" target="_top">@Documented</a>
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Retention.html" title="class or interface in java.lang.annotation" class="externalLink">@Retention</a>(<a href="https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html?is-external=true#SOURCE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">SOURCE</a>)
|
||||
<a href="https://developer.android.com/reference/java/lang/annotation/Target.html" title="class or interface in java.lang.annotation" class="externalLink">@Target</a>(<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#TYPE_USE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">TYPE_USE</a>)
|
||||
public static @interface <span class="memberNameLabel">RendererCapabilities.TunnelingSupport</span></pre>
|
||||
<div class="block">Level of renderer support for tunneling. One of <a href="RendererCapabilities.html#TUNNELING_SUPPORTED"><code>RendererCapabilities.TUNNELING_SUPPORTED</code></a> or <a href="RendererCapabilities.html#TUNNELING_NOT_SUPPORTED"><code>RendererCapabilities.TUNNELING_NOT_SUPPORTED</code></a>.</div>
|
||||
</li>
|
||||
|
@ -25,7 +25,7 @@
|
||||
catch(err) {
|
||||
}
|
||||
//-->
|
||||
var data = {"i0":1,"i1":1,"i2":1,"i3":1,"i4":6,"i5":6,"i6":1,"i7":6,"i8":6};
|
||||
var data = {"i0":1,"i1":1,"i2":1,"i3":1,"i4":1,"i5":1,"i6":1,"i7":6,"i8":6,"i9":1,"i10":6,"i11":6};
|
||||
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
|
||||
var altColor = "altColor";
|
||||
var rowColor = "rowColor";
|
||||
@ -163,6 +163,13 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>static interface </code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="RendererCapabilities.DecoderSupport.html" title="annotation in com.google.android.exoplayer2">RendererCapabilities.DecoderSupport</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Level of decoder support.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>static interface </code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="RendererCapabilities.FormatSupport.html" title="annotation in com.google.android.exoplayer2">RendererCapabilities.FormatSupport</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
|
||||
@ -170,6 +177,13 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>static interface </code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="RendererCapabilities.HardwareAccelerationSupport.html" title="annotation in com.google.android.exoplayer2">RendererCapabilities.HardwareAccelerationSupport</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Level of renderer support for hardware acceleration.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>static interface </code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="RendererCapabilities.TunnelingSupport.html" title="annotation in com.google.android.exoplayer2">RendererCapabilities.TunnelingSupport</a></span></code></th>
|
||||
@ -226,6 +240,20 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DECODER_SUPPORT_FALLBACK">DECODER_SUPPORT_FALLBACK</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">The renderer will use a fallback decoder.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DECODER_SUPPORT_PRIMARY">DECODER_SUPPORT_PRIMARY</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">The renderer is able to use the primary decoder for the format's MIME type.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#FORMAT_EXCEEDS_CAPABILITIES">FORMAT_EXCEEDS_CAPABILITIES</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
|
||||
@ -278,6 +306,34 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#HARDWARE_ACCELERATION_NOT_SUPPORTED">HARDWARE_ACCELERATION_NOT_SUPPORTED</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">The renderer is not able to use hardware acceleration.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#HARDWARE_ACCELERATION_SUPPORT_MASK">HARDWARE_ACCELERATION_SUPPORT_MASK</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">A mask to apply to <a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.Capabilities</code></a> to obtain <a href="RendererCapabilities.HardwareAccelerationSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.HardwareAccelerationSupport</code></a> only.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#HARDWARE_ACCELERATION_SUPPORTED">HARDWARE_ACCELERATION_SUPPORTED</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">The renderer is able to use hardware acceleration.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MODE_SUPPORT_MASK">MODE_SUPPORT_MASK</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">A mask to apply to <a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.Capabilities</code></a> to obtain <a href="RendererCapabilities.DecoderSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.DecoderSupport</code></a> only.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#TUNNELING_NOT_SUPPORTED">TUNNELING_NOT_SUPPORTED</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">The <a href="Renderer.html" title="interface in com.google.android.exoplayer2"><code>Renderer</code></a> does not support tunneled output.</div>
|
||||
@ -287,7 +343,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#TUNNELING_SUPPORT_MASK">TUNNELING_SUPPORT_MASK</a></span></code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">A mask to apply to <a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.Capabilities</code></a> to obtain the <a href="RendererCapabilities.TunnelingSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.TunnelingSupport</code></a> only.</div>
|
||||
<div class="block">A mask to apply to <a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.Capabilities</code></a> to obtain <a href="RendererCapabilities.TunnelingSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.TunnelingSupport</code></a> only.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
@ -316,65 +372,90 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
||||
<th class="colLast" scope="col">Description</th>
|
||||
</tr>
|
||||
<tr id="i0" class="altColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#create(int)">create</a></span>​(int formatSupport)</code></th>
|
||||
<td class="colFirst"><code>static @com.google.android.exoplayer2.RendererCapabilities.Capabilities int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#create(@com.google.android.exoplayer2.C.FormatSupportint)">create</a></span>​(@com.google.android.exoplayer2.C.FormatSupport int formatSupport)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Returns <a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.Capabilities</code></a> for the given <a href="C.FormatSupport.html" title="annotation in com.google.android.exoplayer2"><code>C.FormatSupport</code></a>.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i1" class="rowColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#create(int,int,int)">create</a></span>​(int formatSupport,
|
||||
int adaptiveSupport,
|
||||
int tunnelingSupport)</code></th>
|
||||
<td class="colFirst"><code>static @com.google.android.exoplayer2.RendererCapabilities.Capabilities int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#create(@com.google.android.exoplayer2.C.FormatSupportint,@com.google.android.exoplayer2.RendererCapabilities.AdaptiveSupportint,@com.google.android.exoplayer2.RendererCapabilities.TunnelingSupportint)">create</a></span>​(@com.google.android.exoplayer2.C.FormatSupport int formatSupport,
|
||||
@com.google.android.exoplayer2.RendererCapabilities.AdaptiveSupport int adaptiveSupport,
|
||||
@com.google.android.exoplayer2.RendererCapabilities.TunnelingSupport int tunnelingSupport)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Returns <a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.Capabilities</code></a> combining the given <a href="C.FormatSupport.html" title="annotation in com.google.android.exoplayer2"><code>C.FormatSupport</code></a>, <a href="RendererCapabilities.AdaptiveSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.AdaptiveSupport</code></a> and <a href="RendererCapabilities.TunnelingSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.TunnelingSupport</code></a>.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i2" class="altColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAdaptiveSupport(int)">getAdaptiveSupport</a></span>​(int supportFlags)</code></th>
|
||||
<td class="colFirst"><code>static @com.google.android.exoplayer2.RendererCapabilities.Capabilities int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#create(@com.google.android.exoplayer2.C.FormatSupportint,@com.google.android.exoplayer2.RendererCapabilities.AdaptiveSupportint,@com.google.android.exoplayer2.RendererCapabilities.TunnelingSupportint,@com.google.android.exoplayer2.RendererCapabilities.HardwareAccelerationSupportint,@com.google.android.exoplayer2.RendererCapabilities.DecoderSupportint)">create</a></span>​(@com.google.android.exoplayer2.C.FormatSupport int formatSupport,
|
||||
@com.google.android.exoplayer2.RendererCapabilities.AdaptiveSupport int adaptiveSupport,
|
||||
@com.google.android.exoplayer2.RendererCapabilities.TunnelingSupport int tunnelingSupport,
|
||||
@com.google.android.exoplayer2.RendererCapabilities.HardwareAccelerationSupport int hardwareAccelerationSupport,
|
||||
@com.google.android.exoplayer2.RendererCapabilities.DecoderSupport int decoderSupport)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Returns <a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.Capabilities</code></a> combining the given <a href="C.FormatSupport.html" title="annotation in com.google.android.exoplayer2"><code>C.FormatSupport</code></a>, <a href="RendererCapabilities.AdaptiveSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.AdaptiveSupport</code></a>, <a href="RendererCapabilities.TunnelingSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.TunnelingSupport</code></a>, <a href="RendererCapabilities.HardwareAccelerationSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.HardwareAccelerationSupport</code></a> and <a href="RendererCapabilities.DecoderSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.DecoderSupport</code></a>.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i3" class="rowColor">
|
||||
<td class="colFirst"><code>static @com.google.android.exoplayer2.RendererCapabilities.AdaptiveSupport int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAdaptiveSupport(@com.google.android.exoplayer2.RendererCapabilities.Capabilitiesint)">getAdaptiveSupport</a></span>​(@com.google.android.exoplayer2.RendererCapabilities.Capabilities int supportFlags)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Returns the <a href="RendererCapabilities.AdaptiveSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.AdaptiveSupport</code></a> from the combined <a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.Capabilities</code></a>.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i3" class="rowColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getFormatSupport(int)">getFormatSupport</a></span>​(int supportFlags)</code></th>
|
||||
<tr id="i4" class="altColor">
|
||||
<td class="colFirst"><code>static @com.google.android.exoplayer2.RendererCapabilities.DecoderSupport int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDecoderSupport(@com.google.android.exoplayer2.RendererCapabilities.Capabilitiesint)">getDecoderSupport</a></span>​(@com.google.android.exoplayer2.RendererCapabilities.Capabilities int supportFlags)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Returns the <a href="RendererCapabilities.DecoderSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.DecoderSupport</code></a> from the combined <a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.Capabilities</code></a>.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i5" class="rowColor">
|
||||
<td class="colFirst"><code>static @com.google.android.exoplayer2.C.FormatSupport int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getFormatSupport(@com.google.android.exoplayer2.RendererCapabilities.Capabilitiesint)">getFormatSupport</a></span>​(@com.google.android.exoplayer2.RendererCapabilities.Capabilities int supportFlags)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Returns the <a href="C.FormatSupport.html" title="annotation in com.google.android.exoplayer2"><code>C.FormatSupport</code></a> from the combined <a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.Capabilities</code></a>.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i4" class="altColor">
|
||||
<tr id="i6" class="altColor">
|
||||
<td class="colFirst"><code>static @com.google.android.exoplayer2.RendererCapabilities.HardwareAccelerationSupport int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getHardwareAccelerationSupport(@com.google.android.exoplayer2.RendererCapabilities.Capabilitiesint)">getHardwareAccelerationSupport</a></span>​(@com.google.android.exoplayer2.RendererCapabilities.Capabilities int supportFlags)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Returns the <a href="RendererCapabilities.HardwareAccelerationSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.HardwareAccelerationSupport</code></a> from the combined <a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.Capabilities</code></a>.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i7" class="rowColor">
|
||||
<td class="colFirst"><code><a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a></code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getName()">getName</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Returns the name of the <a href="Renderer.html" title="interface in com.google.android.exoplayer2"><code>Renderer</code></a>.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i5" class="rowColor">
|
||||
<tr id="i8" class="altColor">
|
||||
<td class="colFirst"><code>@com.google.android.exoplayer2.C.TrackType int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTrackType()">getTrackType</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Returns the track type that the <a href="Renderer.html" title="interface in com.google.android.exoplayer2"><code>Renderer</code></a> handles.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i6" class="altColor">
|
||||
<td class="colFirst"><code>static int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTunnelingSupport(int)">getTunnelingSupport</a></span>​(int supportFlags)</code></th>
|
||||
<tr id="i9" class="rowColor">
|
||||
<td class="colFirst"><code>static @com.google.android.exoplayer2.RendererCapabilities.TunnelingSupport int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTunnelingSupport(@com.google.android.exoplayer2.RendererCapabilities.Capabilitiesint)">getTunnelingSupport</a></span>​(@com.google.android.exoplayer2.RendererCapabilities.Capabilities int supportFlags)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Returns the <a href="RendererCapabilities.TunnelingSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.TunnelingSupport</code></a> from the combined <a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.Capabilities</code></a>.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i7" class="rowColor">
|
||||
<td class="colFirst"><code>int</code></td>
|
||||
<tr id="i10" class="altColor">
|
||||
<td class="colFirst"><code>@com.google.android.exoplayer2.RendererCapabilities.Capabilities int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#supportsFormat(com.google.android.exoplayer2.Format)">supportsFormat</a></span>​(<a href="Format.html" title="class in com.google.android.exoplayer2">Format</a> format)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Returns the extent to which the <a href="Renderer.html" title="interface in com.google.android.exoplayer2"><code>Renderer</code></a> supports a given format.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i8" class="altColor">
|
||||
<td class="colFirst"><code>int</code></td>
|
||||
<tr id="i11" class="rowColor">
|
||||
<td class="colFirst"><code>@com.google.android.exoplayer2.RendererCapabilities.AdaptiveSupport int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#supportsMixedMimeTypeAdaptation()">supportsMixedMimeTypeAdaptation</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Returns the extent to which the <a href="Renderer.html" title="interface in com.google.android.exoplayer2"><code>Renderer</code></a> supports adapting between supported formats
|
||||
@ -561,7 +642,7 @@ static final int FORMAT_UNSUPPORTED_TYPE</pre>
|
||||
<li class="blockList">
|
||||
<h4>TUNNELING_SUPPORT_MASK</h4>
|
||||
<pre>static final int TUNNELING_SUPPORT_MASK</pre>
|
||||
<div class="block">A mask to apply to <a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.Capabilities</code></a> to obtain the <a href="RendererCapabilities.TunnelingSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.TunnelingSupport</code></a> only.</div>
|
||||
<div class="block">A mask to apply to <a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.Capabilities</code></a> to obtain <a href="RendererCapabilities.TunnelingSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.TunnelingSupport</code></a> only.</div>
|
||||
<dl>
|
||||
<dt><span class="seeLabel">See Also:</span></dt>
|
||||
<dd><a href="../../../../constant-values.html#com.google.android.exoplayer2.RendererCapabilities.TUNNELING_SUPPORT_MASK">Constant Field Values</a></dd>
|
||||
@ -585,7 +666,7 @@ static final int FORMAT_UNSUPPORTED_TYPE</pre>
|
||||
<a id="TUNNELING_NOT_SUPPORTED">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockListLast">
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>TUNNELING_NOT_SUPPORTED</h4>
|
||||
<pre>static final int TUNNELING_NOT_SUPPORTED</pre>
|
||||
@ -596,6 +677,90 @@ static final int FORMAT_UNSUPPORTED_TYPE</pre>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="HARDWARE_ACCELERATION_SUPPORT_MASK">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>HARDWARE_ACCELERATION_SUPPORT_MASK</h4>
|
||||
<pre>static final int HARDWARE_ACCELERATION_SUPPORT_MASK</pre>
|
||||
<div class="block">A mask to apply to <a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.Capabilities</code></a> to obtain <a href="RendererCapabilities.HardwareAccelerationSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.HardwareAccelerationSupport</code></a> only.</div>
|
||||
<dl>
|
||||
<dt><span class="seeLabel">See Also:</span></dt>
|
||||
<dd><a href="../../../../constant-values.html#com.google.android.exoplayer2.RendererCapabilities.HARDWARE_ACCELERATION_SUPPORT_MASK">Constant Field Values</a></dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="HARDWARE_ACCELERATION_SUPPORTED">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>HARDWARE_ACCELERATION_SUPPORTED</h4>
|
||||
<pre>static final int HARDWARE_ACCELERATION_SUPPORTED</pre>
|
||||
<div class="block">The renderer is able to use hardware acceleration.</div>
|
||||
<dl>
|
||||
<dt><span class="seeLabel">See Also:</span></dt>
|
||||
<dd><a href="../../../../constant-values.html#com.google.android.exoplayer2.RendererCapabilities.HARDWARE_ACCELERATION_SUPPORTED">Constant Field Values</a></dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="HARDWARE_ACCELERATION_NOT_SUPPORTED">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>HARDWARE_ACCELERATION_NOT_SUPPORTED</h4>
|
||||
<pre>static final int HARDWARE_ACCELERATION_NOT_SUPPORTED</pre>
|
||||
<div class="block">The renderer is not able to use hardware acceleration.</div>
|
||||
<dl>
|
||||
<dt><span class="seeLabel">See Also:</span></dt>
|
||||
<dd><a href="../../../../constant-values.html#com.google.android.exoplayer2.RendererCapabilities.HARDWARE_ACCELERATION_NOT_SUPPORTED">Constant Field Values</a></dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="MODE_SUPPORT_MASK">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>MODE_SUPPORT_MASK</h4>
|
||||
<pre>static final int MODE_SUPPORT_MASK</pre>
|
||||
<div class="block">A mask to apply to <a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.Capabilities</code></a> to obtain <a href="RendererCapabilities.DecoderSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.DecoderSupport</code></a> only.</div>
|
||||
<dl>
|
||||
<dt><span class="seeLabel">See Also:</span></dt>
|
||||
<dd><a href="../../../../constant-values.html#com.google.android.exoplayer2.RendererCapabilities.MODE_SUPPORT_MASK">Constant Field Values</a></dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="DECODER_SUPPORT_PRIMARY">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>DECODER_SUPPORT_PRIMARY</h4>
|
||||
<pre>static final int DECODER_SUPPORT_PRIMARY</pre>
|
||||
<div class="block">The renderer is able to use the primary decoder for the format's MIME type.</div>
|
||||
<dl>
|
||||
<dt><span class="seeLabel">See Also:</span></dt>
|
||||
<dd><a href="../../../../constant-values.html#com.google.android.exoplayer2.RendererCapabilities.DECODER_SUPPORT_PRIMARY">Constant Field Values</a></dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="DECODER_SUPPORT_FALLBACK">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockListLast">
|
||||
<li class="blockList">
|
||||
<h4>DECODER_SUPPORT_FALLBACK</h4>
|
||||
<pre>static final int DECODER_SUPPORT_FALLBACK</pre>
|
||||
<div class="block">The renderer will use a fallback decoder.</div>
|
||||
<dl>
|
||||
<dt><span class="seeLabel">See Also:</span></dt>
|
||||
<dd><a href="../../../../constant-values.html#com.google.android.exoplayer2.RendererCapabilities.DECODER_SUPPORT_FALLBACK">Constant Field Values</a></dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
@ -606,18 +771,19 @@ static final int FORMAT_UNSUPPORTED_TYPE</pre>
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>Method Detail</h3>
|
||||
<a id="create(int)">
|
||||
<a id="create(@com.google.android.exoplayer2.C.FormatSupportint)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>create</h4>
|
||||
<pre class="methodSignature"><a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2">@Capabilities</a>
|
||||
static int create​(<a href="C.FormatSupport.html" title="annotation in com.google.android.exoplayer2">@FormatSupport</a>
|
||||
int formatSupport)</pre>
|
||||
<pre class="methodSignature">static @com.google.android.exoplayer2.RendererCapabilities.Capabilities int create​(<a href="C.FormatSupport.html" title="annotation in com.google.android.exoplayer2">@FormatSupport</a>
|
||||
@com.google.android.exoplayer2.C.FormatSupport int formatSupport)</pre>
|
||||
<div class="block">Returns <a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.Capabilities</code></a> for the given <a href="C.FormatSupport.html" title="annotation in com.google.android.exoplayer2"><code>C.FormatSupport</code></a>.
|
||||
|
||||
<p>The <a href="RendererCapabilities.AdaptiveSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.AdaptiveSupport</code></a> is set to <a href="#ADAPTIVE_NOT_SUPPORTED"><code>ADAPTIVE_NOT_SUPPORTED</code></a> and {<a href="RendererCapabilities.TunnelingSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.TunnelingSupport</code></a> is set to <a href="#TUNNELING_NOT_SUPPORTED"><code>TUNNELING_NOT_SUPPORTED</code></a>.</div>
|
||||
<p><a href="RendererCapabilities.AdaptiveSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.AdaptiveSupport</code></a> is set to <a href="#ADAPTIVE_NOT_SUPPORTED"><code>ADAPTIVE_NOT_SUPPORTED</code></a>, <a href="RendererCapabilities.TunnelingSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.TunnelingSupport</code></a>
|
||||
is set to <a href="#TUNNELING_NOT_SUPPORTED"><code>TUNNELING_NOT_SUPPORTED</code></a>, <a href="RendererCapabilities.HardwareAccelerationSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.HardwareAccelerationSupport</code></a> is set to
|
||||
<a href="#HARDWARE_ACCELERATION_NOT_SUPPORTED"><code>HARDWARE_ACCELERATION_NOT_SUPPORTED</code></a> and <a href="RendererCapabilities.DecoderSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.DecoderSupport</code></a> is set to <a href="#DECODER_SUPPORT_PRIMARY"><code>DECODER_SUPPORT_PRIMARY</code></a>.</div>
|
||||
<dl>
|
||||
<dt><span class="paramLabel">Parameters:</span></dt>
|
||||
<dd><code>formatSupport</code> - The <a href="C.FormatSupport.html" title="annotation in com.google.android.exoplayer2"><code>C.FormatSupport</code></a>.</dd>
|
||||
@ -626,20 +792,20 @@ static int create​(<a href="C.FormatSupport.html" title="annotat
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="create(int,int,int)">
|
||||
<a id="create(@com.google.android.exoplayer2.C.FormatSupportint,@com.google.android.exoplayer2.RendererCapabilities.AdaptiveSupportint,@com.google.android.exoplayer2.RendererCapabilities.TunnelingSupportint)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>create</h4>
|
||||
<pre class="methodSignature"><a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2">@Capabilities</a>
|
||||
static int create​(<a href="C.FormatSupport.html" title="annotation in com.google.android.exoplayer2">@FormatSupport</a>
|
||||
int formatSupport,
|
||||
<a href="RendererCapabilities.AdaptiveSupport.html" title="annotation in com.google.android.exoplayer2">@AdaptiveSupport</a>
|
||||
int adaptiveSupport,
|
||||
<a href="RendererCapabilities.TunnelingSupport.html" title="annotation in com.google.android.exoplayer2">@TunnelingSupport</a>
|
||||
int tunnelingSupport)</pre>
|
||||
<div class="block">Returns <a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.Capabilities</code></a> combining the given <a href="C.FormatSupport.html" title="annotation in com.google.android.exoplayer2"><code>C.FormatSupport</code></a>, <a href="RendererCapabilities.AdaptiveSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.AdaptiveSupport</code></a> and <a href="RendererCapabilities.TunnelingSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.TunnelingSupport</code></a>.</div>
|
||||
<pre class="methodSignature">static @com.google.android.exoplayer2.RendererCapabilities.Capabilities int create​(<a href="C.FormatSupport.html" title="annotation in com.google.android.exoplayer2">@FormatSupport</a>
|
||||
@com.google.android.exoplayer2.C.FormatSupport int formatSupport,
|
||||
@com.google.android.exoplayer2.RendererCapabilities.AdaptiveSupport int adaptiveSupport,
|
||||
@com.google.android.exoplayer2.RendererCapabilities.TunnelingSupport int tunnelingSupport)</pre>
|
||||
<div class="block">Returns <a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.Capabilities</code></a> combining the given <a href="C.FormatSupport.html" title="annotation in com.google.android.exoplayer2"><code>C.FormatSupport</code></a>, <a href="RendererCapabilities.AdaptiveSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.AdaptiveSupport</code></a> and <a href="RendererCapabilities.TunnelingSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.TunnelingSupport</code></a>.
|
||||
|
||||
<p><a href="RendererCapabilities.HardwareAccelerationSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.HardwareAccelerationSupport</code></a> is set to <a href="#HARDWARE_ACCELERATION_NOT_SUPPORTED"><code>HARDWARE_ACCELERATION_NOT_SUPPORTED</code></a>
|
||||
and <a href="RendererCapabilities.DecoderSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.DecoderSupport</code></a> is set to <a href="#DECODER_SUPPORT_PRIMARY"><code>DECODER_SUPPORT_PRIMARY</code></a>.</div>
|
||||
<dl>
|
||||
<dt><span class="paramLabel">Parameters:</span></dt>
|
||||
<dd><code>formatSupport</code> - The <a href="C.FormatSupport.html" title="annotation in com.google.android.exoplayer2"><code>C.FormatSupport</code></a>.</dd>
|
||||
@ -650,15 +816,39 @@ static int create​(<a href="C.FormatSupport.html" title="annotat
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="getFormatSupport(int)">
|
||||
<a id="create(@com.google.android.exoplayer2.C.FormatSupportint,@com.google.android.exoplayer2.RendererCapabilities.AdaptiveSupportint,@com.google.android.exoplayer2.RendererCapabilities.TunnelingSupportint,@com.google.android.exoplayer2.RendererCapabilities.HardwareAccelerationSupportint,@com.google.android.exoplayer2.RendererCapabilities.DecoderSupportint)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>create</h4>
|
||||
<pre class="methodSignature">static @com.google.android.exoplayer2.RendererCapabilities.Capabilities int create​(<a href="C.FormatSupport.html" title="annotation in com.google.android.exoplayer2">@FormatSupport</a>
|
||||
@com.google.android.exoplayer2.C.FormatSupport int formatSupport,
|
||||
@com.google.android.exoplayer2.RendererCapabilities.AdaptiveSupport int adaptiveSupport,
|
||||
@com.google.android.exoplayer2.RendererCapabilities.TunnelingSupport int tunnelingSupport,
|
||||
@com.google.android.exoplayer2.RendererCapabilities.HardwareAccelerationSupport int hardwareAccelerationSupport,
|
||||
@com.google.android.exoplayer2.RendererCapabilities.DecoderSupport int decoderSupport)</pre>
|
||||
<div class="block">Returns <a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.Capabilities</code></a> combining the given <a href="C.FormatSupport.html" title="annotation in com.google.android.exoplayer2"><code>C.FormatSupport</code></a>, <a href="RendererCapabilities.AdaptiveSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.AdaptiveSupport</code></a>, <a href="RendererCapabilities.TunnelingSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.TunnelingSupport</code></a>, <a href="RendererCapabilities.HardwareAccelerationSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.HardwareAccelerationSupport</code></a> and <a href="RendererCapabilities.DecoderSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.DecoderSupport</code></a>.</div>
|
||||
<dl>
|
||||
<dt><span class="paramLabel">Parameters:</span></dt>
|
||||
<dd><code>formatSupport</code> - The <a href="C.FormatSupport.html" title="annotation in com.google.android.exoplayer2"><code>C.FormatSupport</code></a>.</dd>
|
||||
<dd><code>adaptiveSupport</code> - The <a href="RendererCapabilities.AdaptiveSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.AdaptiveSupport</code></a>.</dd>
|
||||
<dd><code>tunnelingSupport</code> - The <a href="RendererCapabilities.TunnelingSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.TunnelingSupport</code></a>.</dd>
|
||||
<dd><code>hardwareAccelerationSupport</code> - The <a href="RendererCapabilities.HardwareAccelerationSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.HardwareAccelerationSupport</code></a>.</dd>
|
||||
<dd><code>decoderSupport</code> - The <a href="RendererCapabilities.DecoderSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.DecoderSupport</code></a>.</dd>
|
||||
<dt><span class="returnLabel">Returns:</span></dt>
|
||||
<dd>The combined <a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.Capabilities</code></a>.</dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="getFormatSupport(@com.google.android.exoplayer2.RendererCapabilities.Capabilitiesint)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>getFormatSupport</h4>
|
||||
<pre class="methodSignature"><a href="C.FormatSupport.html" title="annotation in com.google.android.exoplayer2">@FormatSupport</a>
|
||||
static int getFormatSupport​(<a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2">@Capabilities</a>
|
||||
int supportFlags)</pre>
|
||||
static @com.google.android.exoplayer2.C.FormatSupport int getFormatSupport​(@com.google.android.exoplayer2.RendererCapabilities.Capabilities int supportFlags)</pre>
|
||||
<div class="block">Returns the <a href="C.FormatSupport.html" title="annotation in com.google.android.exoplayer2"><code>C.FormatSupport</code></a> from the combined <a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.Capabilities</code></a>.</div>
|
||||
<dl>
|
||||
<dt><span class="paramLabel">Parameters:</span></dt>
|
||||
@ -668,15 +858,13 @@ static int getFormatSupport​(<a href="RendererCapabilities.Capab
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="getAdaptiveSupport(int)">
|
||||
<a id="getAdaptiveSupport(@com.google.android.exoplayer2.RendererCapabilities.Capabilitiesint)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>getAdaptiveSupport</h4>
|
||||
<pre class="methodSignature"><a href="RendererCapabilities.AdaptiveSupport.html" title="annotation in com.google.android.exoplayer2">@AdaptiveSupport</a>
|
||||
static int getAdaptiveSupport​(<a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2">@Capabilities</a>
|
||||
int supportFlags)</pre>
|
||||
<pre class="methodSignature">static @com.google.android.exoplayer2.RendererCapabilities.AdaptiveSupport int getAdaptiveSupport​(@com.google.android.exoplayer2.RendererCapabilities.Capabilities int supportFlags)</pre>
|
||||
<div class="block">Returns the <a href="RendererCapabilities.AdaptiveSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.AdaptiveSupport</code></a> from the combined <a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.Capabilities</code></a>.</div>
|
||||
<dl>
|
||||
<dt><span class="paramLabel">Parameters:</span></dt>
|
||||
@ -686,15 +874,13 @@ static int getAdaptiveSupport​(<a href="RendererCapabilities.Cap
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="getTunnelingSupport(int)">
|
||||
<a id="getTunnelingSupport(@com.google.android.exoplayer2.RendererCapabilities.Capabilitiesint)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>getTunnelingSupport</h4>
|
||||
<pre class="methodSignature"><a href="RendererCapabilities.TunnelingSupport.html" title="annotation in com.google.android.exoplayer2">@TunnelingSupport</a>
|
||||
static int getTunnelingSupport​(<a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2">@Capabilities</a>
|
||||
int supportFlags)</pre>
|
||||
<pre class="methodSignature">static @com.google.android.exoplayer2.RendererCapabilities.TunnelingSupport int getTunnelingSupport​(@com.google.android.exoplayer2.RendererCapabilities.Capabilities int supportFlags)</pre>
|
||||
<div class="block">Returns the <a href="RendererCapabilities.TunnelingSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.TunnelingSupport</code></a> from the combined <a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.Capabilities</code></a>.</div>
|
||||
<dl>
|
||||
<dt><span class="paramLabel">Parameters:</span></dt>
|
||||
@ -704,6 +890,38 @@ static int getTunnelingSupport​(<a href="RendererCapabilities.Ca
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="getHardwareAccelerationSupport(@com.google.android.exoplayer2.RendererCapabilities.Capabilitiesint)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>getHardwareAccelerationSupport</h4>
|
||||
<pre class="methodSignature">static @com.google.android.exoplayer2.RendererCapabilities.HardwareAccelerationSupport int getHardwareAccelerationSupport​(@com.google.android.exoplayer2.RendererCapabilities.Capabilities int supportFlags)</pre>
|
||||
<div class="block">Returns the <a href="RendererCapabilities.HardwareAccelerationSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.HardwareAccelerationSupport</code></a> from the combined <a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.Capabilities</code></a>.</div>
|
||||
<dl>
|
||||
<dt><span class="paramLabel">Parameters:</span></dt>
|
||||
<dd><code>supportFlags</code> - The combined <a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.Capabilities</code></a>.</dd>
|
||||
<dt><span class="returnLabel">Returns:</span></dt>
|
||||
<dd>The <a href="RendererCapabilities.HardwareAccelerationSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.HardwareAccelerationSupport</code></a> only.</dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="getDecoderSupport(@com.google.android.exoplayer2.RendererCapabilities.Capabilitiesint)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>getDecoderSupport</h4>
|
||||
<pre class="methodSignature">static @com.google.android.exoplayer2.RendererCapabilities.DecoderSupport int getDecoderSupport​(@com.google.android.exoplayer2.RendererCapabilities.Capabilities int supportFlags)</pre>
|
||||
<div class="block">Returns the <a href="RendererCapabilities.DecoderSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.DecoderSupport</code></a> from the combined <a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.Capabilities</code></a>.</div>
|
||||
<dl>
|
||||
<dt><span class="paramLabel">Parameters:</span></dt>
|
||||
<dd><code>supportFlags</code> - The combined <a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.Capabilities</code></a>.</dd>
|
||||
<dt><span class="returnLabel">Returns:</span></dt>
|
||||
<dd>The <a href="RendererCapabilities.DecoderSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.DecoderSupport</code></a> only.</dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="getName()">
|
||||
<!-- -->
|
||||
</a>
|
||||
@ -738,9 +956,8 @@ static int getTunnelingSupport​(<a href="RendererCapabilities.Ca
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>supportsFormat</h4>
|
||||
<pre class="methodSignature"><a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2">@Capabilities</a>
|
||||
int supportsFormat​(<a href="Format.html" title="class in com.google.android.exoplayer2">Format</a> format)
|
||||
throws <a href="ExoPlaybackException.html" title="class in com.google.android.exoplayer2">ExoPlaybackException</a></pre>
|
||||
<pre class="methodSignature">@com.google.android.exoplayer2.RendererCapabilities.Capabilities int supportsFormat​(<a href="Format.html" title="class in com.google.android.exoplayer2">Format</a> format)
|
||||
throws <a href="ExoPlaybackException.html" title="class in com.google.android.exoplayer2">ExoPlaybackException</a></pre>
|
||||
<div class="block">Returns the extent to which the <a href="Renderer.html" title="interface in com.google.android.exoplayer2"><code>Renderer</code></a> supports a given format.</div>
|
||||
<dl>
|
||||
<dt><span class="paramLabel">Parameters:</span></dt>
|
||||
@ -758,9 +975,8 @@ int supportsFormat​(<a href="Format.html" title="class in com.google.
|
||||
<ul class="blockListLast">
|
||||
<li class="blockList">
|
||||
<h4>supportsMixedMimeTypeAdaptation</h4>
|
||||
<pre class="methodSignature"><a href="RendererCapabilities.AdaptiveSupport.html" title="annotation in com.google.android.exoplayer2">@AdaptiveSupport</a>
|
||||
int supportsMixedMimeTypeAdaptation()
|
||||
throws <a href="ExoPlaybackException.html" title="class in com.google.android.exoplayer2">ExoPlaybackException</a></pre>
|
||||
<pre class="methodSignature">@com.google.android.exoplayer2.RendererCapabilities.AdaptiveSupport int supportsMixedMimeTypeAdaptation()
|
||||
throws <a href="ExoPlaybackException.html" title="class in com.google.android.exoplayer2">ExoPlaybackException</a></pre>
|
||||
<div class="block">Returns the extent to which the <a href="Renderer.html" title="interface in com.google.android.exoplayer2"><code>Renderer</code></a> supports adapting between supported formats
|
||||
that have different MIME types.</div>
|
||||
<dl>
|
||||
|
@ -171,7 +171,7 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
|
||||
<a href="extractor/ExtractorsFactory.html" title="interface in com.google.android.exoplayer2.extractor">ExtractorsFactory</a> extractorsFactory)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
|
||||
<div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#%3Cinit%3E(android.content.Context,com.google.android.exoplayer2.source.MediaSourceFactory)"><code>Builder(Context, MediaSourceFactory)</code></a> and <a href="source/DefaultMediaSourceFactory.html#%3Cinit%3E(android.content.Context,com.google.android.exoplayer2.extractor.ExtractorsFactory)"><code>DefaultMediaSourceFactory(Context, ExtractorsFactory)</code></a> instead.</div>
|
||||
<div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#%3Cinit%3E(android.content.Context,com.google.android.exoplayer2.source.MediaSource.Factory)"><code>Builder(Context, MediaSource.Factory)</code></a> and <a href="source/DefaultMediaSourceFactory.html#%3Cinit%3E(android.content.Context,com.google.android.exoplayer2.extractor.ExtractorsFactory)"><code>DefaultMediaSourceFactory(Context, ExtractorsFactory)</code></a> instead.</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@ -190,23 +190,23 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
|
||||
<a href="extractor/ExtractorsFactory.html" title="interface in com.google.android.exoplayer2.extractor">ExtractorsFactory</a> extractorsFactory)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
|
||||
<div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#%3Cinit%3E(android.content.Context,com.google.android.exoplayer2.RenderersFactory,com.google.android.exoplayer2.source.MediaSourceFactory)"><code>Builder(Context, RenderersFactory,
|
||||
MediaSourceFactory)</code></a> and <a href="source/DefaultMediaSourceFactory.html#%3Cinit%3E(android.content.Context,com.google.android.exoplayer2.extractor.ExtractorsFactory)"><code>DefaultMediaSourceFactory(Context, ExtractorsFactory)</code></a> instead.</div>
|
||||
<div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#%3Cinit%3E(android.content.Context,com.google.android.exoplayer2.RenderersFactory,com.google.android.exoplayer2.source.MediaSource.Factory)"><code>Builder(Context, RenderersFactory,
|
||||
MediaSource.Factory)</code></a> and <a href="source/DefaultMediaSourceFactory.html#%3Cinit%3E(android.content.Context,com.google.android.exoplayer2.extractor.ExtractorsFactory)"><code>DefaultMediaSourceFactory(Context, ExtractorsFactory)</code></a> instead.</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(android.content.Context,com.google.android.exoplayer2.RenderersFactory,com.google.android.exoplayer2.trackselection.TrackSelector,com.google.android.exoplayer2.source.MediaSourceFactory,com.google.android.exoplayer2.LoadControl,com.google.android.exoplayer2.upstream.BandwidthMeter,com.google.android.exoplayer2.analytics.AnalyticsCollector)">Builder</a></span>​(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a> context,
|
||||
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(android.content.Context,com.google.android.exoplayer2.RenderersFactory,com.google.android.exoplayer2.trackselection.TrackSelector,com.google.android.exoplayer2.source.MediaSource.Factory,com.google.android.exoplayer2.LoadControl,com.google.android.exoplayer2.upstream.BandwidthMeter,com.google.android.exoplayer2.analytics.AnalyticsCollector)">Builder</a></span>​(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a> context,
|
||||
<a href="RenderersFactory.html" title="interface in com.google.android.exoplayer2">RenderersFactory</a> renderersFactory,
|
||||
<a href="trackselection/TrackSelector.html" title="class in com.google.android.exoplayer2.trackselection">TrackSelector</a> trackSelector,
|
||||
<a href="source/MediaSourceFactory.html" title="interface in com.google.android.exoplayer2.source">MediaSourceFactory</a> mediaSourceFactory,
|
||||
<a href="source/MediaSource.Factory.html" title="interface in com.google.android.exoplayer2.source">MediaSource.Factory</a> mediaSourceFactory,
|
||||
<a href="LoadControl.html" title="interface in com.google.android.exoplayer2">LoadControl</a> loadControl,
|
||||
<a href="upstream/BandwidthMeter.html" title="interface in com.google.android.exoplayer2.upstream">BandwidthMeter</a> bandwidthMeter,
|
||||
<a href="analytics/AnalyticsCollector.html" title="class in com.google.android.exoplayer2.analytics">AnalyticsCollector</a> analyticsCollector)</code></th>
|
||||
<a href="analytics/AnalyticsCollector.html" title="interface in com.google.android.exoplayer2.analytics">AnalyticsCollector</a> analyticsCollector)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
|
||||
<div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#%3Cinit%3E(android.content.Context,com.google.android.exoplayer2.RenderersFactory,com.google.android.exoplayer2.source.MediaSourceFactory,com.google.android.exoplayer2.trackselection.TrackSelector,com.google.android.exoplayer2.LoadControl,com.google.android.exoplayer2.upstream.BandwidthMeter,com.google.android.exoplayer2.analytics.AnalyticsCollector)"><code>Builder(Context, RenderersFactory,
|
||||
MediaSourceFactory, TrackSelector, LoadControl, BandwidthMeter, AnalyticsCollector)</code></a>
|
||||
<div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#%3Cinit%3E(android.content.Context,com.google.android.exoplayer2.RenderersFactory,com.google.android.exoplayer2.source.MediaSource.Factory,com.google.android.exoplayer2.trackselection.TrackSelector,com.google.android.exoplayer2.LoadControl,com.google.android.exoplayer2.upstream.BandwidthMeter,com.google.android.exoplayer2.analytics.AnalyticsCollector)"><code>Builder(Context, RenderersFactory,
|
||||
MediaSource.Factory, TrackSelector, LoadControl, BandwidthMeter, AnalyticsCollector)</code></a>
|
||||
instead.</div>
|
||||
</div>
|
||||
</td>
|
||||
@ -250,7 +250,7 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
|
||||
</tr>
|
||||
<tr id="i2" class="altColor">
|
||||
<td class="colFirst"><code><a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a></code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setAnalyticsCollector(com.google.android.exoplayer2.analytics.AnalyticsCollector)">setAnalyticsCollector</a></span>​(<a href="analytics/AnalyticsCollector.html" title="class in com.google.android.exoplayer2.analytics">AnalyticsCollector</a> analyticsCollector)</code></th>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setAnalyticsCollector(com.google.android.exoplayer2.analytics.AnalyticsCollector)">setAnalyticsCollector</a></span>​(<a href="analytics/AnalyticsCollector.html" title="interface in com.google.android.exoplayer2.analytics">AnalyticsCollector</a> analyticsCollector)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
|
||||
<div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#setAnalyticsCollector(com.google.android.exoplayer2.analytics.AnalyticsCollector)"><code>ExoPlayer.Builder.setAnalyticsCollector(AnalyticsCollector)</code></a> instead.</div>
|
||||
@ -333,10 +333,10 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
|
||||
</tr>
|
||||
<tr id="i11" class="rowColor">
|
||||
<td class="colFirst"><code><a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a></code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaSourceFactory(com.google.android.exoplayer2.source.MediaSourceFactory)">setMediaSourceFactory</a></span>​(<a href="source/MediaSourceFactory.html" title="interface in com.google.android.exoplayer2.source">MediaSourceFactory</a> mediaSourceFactory)</code></th>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaSourceFactory(com.google.android.exoplayer2.source.MediaSource.Factory)">setMediaSourceFactory</a></span>​(<a href="source/MediaSource.Factory.html" title="interface in com.google.android.exoplayer2.source">MediaSource.Factory</a> mediaSourceFactory)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
|
||||
<div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#setMediaSourceFactory(com.google.android.exoplayer2.source.MediaSourceFactory)"><code>ExoPlayer.Builder.setMediaSourceFactory(MediaSourceFactory)</code></a> instead.</div>
|
||||
<div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#setMediaSourceFactory(com.google.android.exoplayer2.source.MediaSource.Factory)"><code>ExoPlayer.Builder.setMediaSourceFactory(MediaSource.Factory)</code></a> instead.</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@ -424,19 +424,19 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
|
||||
</tr>
|
||||
<tr id="i21" class="rowColor">
|
||||
<td class="colFirst"><code><a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a></code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoChangeFrameRateStrategy(int)">setVideoChangeFrameRateStrategy</a></span>​(int videoChangeFrameRateStrategy)</code></th>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoChangeFrameRateStrategy(@com.google.android.exoplayer2.C.VideoChangeFrameRateStrategyint)">setVideoChangeFrameRateStrategy</a></span>​(@com.google.android.exoplayer2.C.VideoChangeFrameRateStrategy int videoChangeFrameRateStrategy)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
|
||||
<div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#setVideoChangeFrameRateStrategy(int)"><code>ExoPlayer.Builder.setVideoChangeFrameRateStrategy(int)</code></a> instead.</div>
|
||||
<div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#setVideoChangeFrameRateStrategy(@com.google.android.exoplayer2.C.VideoChangeFrameRateStrategyint)"><code>ExoPlayer.Builder.setVideoChangeFrameRateStrategy(int)</code></a> instead.</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i22" class="altColor">
|
||||
<td class="colFirst"><code><a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a></code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoScalingMode(int)">setVideoScalingMode</a></span>​(int videoScalingMode)</code></th>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoScalingMode(@com.google.android.exoplayer2.C.VideoScalingModeint)">setVideoScalingMode</a></span>​(@com.google.android.exoplayer2.C.VideoScalingMode int videoScalingMode)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
|
||||
<div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#setVideoScalingMode(int)"><code>ExoPlayer.Builder.setVideoScalingMode(int)</code></a> instead.</div>
|
||||
<div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#setVideoScalingMode(@com.google.android.exoplayer2.C.VideoScalingModeint)"><code>ExoPlayer.Builder.setVideoScalingMode(int)</code></a> instead.</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@ -510,7 +510,7 @@ public Builder​(<a href="https://developer.android.com/reference/andr
|
||||
public Builder​(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a> context,
|
||||
<a href="extractor/ExtractorsFactory.html" title="interface in com.google.android.exoplayer2.extractor">ExtractorsFactory</a> extractorsFactory)</pre>
|
||||
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
|
||||
<div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#%3Cinit%3E(android.content.Context,com.google.android.exoplayer2.source.MediaSourceFactory)"><code>Builder(Context, MediaSourceFactory)</code></a> and <a href="source/DefaultMediaSourceFactory.html#%3Cinit%3E(android.content.Context,com.google.android.exoplayer2.extractor.ExtractorsFactory)"><code>DefaultMediaSourceFactory(Context, ExtractorsFactory)</code></a> instead.</div>
|
||||
<div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#%3Cinit%3E(android.content.Context,com.google.android.exoplayer2.source.MediaSource.Factory)"><code>Builder(Context, MediaSource.Factory)</code></a> and <a href="source/DefaultMediaSourceFactory.html#%3Cinit%3E(android.content.Context,com.google.android.exoplayer2.extractor.ExtractorsFactory)"><code>DefaultMediaSourceFactory(Context, ExtractorsFactory)</code></a> instead.</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
@ -525,12 +525,12 @@ public Builder​(<a href="https://developer.android.com/reference/andr
|
||||
<a href="RenderersFactory.html" title="interface in com.google.android.exoplayer2">RenderersFactory</a> renderersFactory,
|
||||
<a href="extractor/ExtractorsFactory.html" title="interface in com.google.android.exoplayer2.extractor">ExtractorsFactory</a> extractorsFactory)</pre>
|
||||
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
|
||||
<div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#%3Cinit%3E(android.content.Context,com.google.android.exoplayer2.RenderersFactory,com.google.android.exoplayer2.source.MediaSourceFactory)"><code>Builder(Context, RenderersFactory,
|
||||
MediaSourceFactory)</code></a> and <a href="source/DefaultMediaSourceFactory.html#%3Cinit%3E(android.content.Context,com.google.android.exoplayer2.extractor.ExtractorsFactory)"><code>DefaultMediaSourceFactory(Context, ExtractorsFactory)</code></a> instead.</div>
|
||||
<div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#%3Cinit%3E(android.content.Context,com.google.android.exoplayer2.RenderersFactory,com.google.android.exoplayer2.source.MediaSource.Factory)"><code>Builder(Context, RenderersFactory,
|
||||
MediaSource.Factory)</code></a> and <a href="source/DefaultMediaSourceFactory.html#%3Cinit%3E(android.content.Context,com.google.android.exoplayer2.extractor.ExtractorsFactory)"><code>DefaultMediaSourceFactory(Context, ExtractorsFactory)</code></a> instead.</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="<init>(android.content.Context,com.google.android.exoplayer2.RenderersFactory,com.google.android.exoplayer2.trackselection.TrackSelector,com.google.android.exoplayer2.source.MediaSourceFactory,com.google.android.exoplayer2.LoadControl,com.google.android.exoplayer2.upstream.BandwidthMeter,com.google.android.exoplayer2.analytics.AnalyticsCollector)">
|
||||
<a id="<init>(android.content.Context,com.google.android.exoplayer2.RenderersFactory,com.google.android.exoplayer2.trackselection.TrackSelector,com.google.android.exoplayer2.source.MediaSource.Factory,com.google.android.exoplayer2.LoadControl,com.google.android.exoplayer2.upstream.BandwidthMeter,com.google.android.exoplayer2.analytics.AnalyticsCollector)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockListLast">
|
||||
@ -540,13 +540,13 @@ public Builder​(<a href="https://developer.android.com/reference/andr
|
||||
public Builder​(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a> context,
|
||||
<a href="RenderersFactory.html" title="interface in com.google.android.exoplayer2">RenderersFactory</a> renderersFactory,
|
||||
<a href="trackselection/TrackSelector.html" title="class in com.google.android.exoplayer2.trackselection">TrackSelector</a> trackSelector,
|
||||
<a href="source/MediaSourceFactory.html" title="interface in com.google.android.exoplayer2.source">MediaSourceFactory</a> mediaSourceFactory,
|
||||
<a href="source/MediaSource.Factory.html" title="interface in com.google.android.exoplayer2.source">MediaSource.Factory</a> mediaSourceFactory,
|
||||
<a href="LoadControl.html" title="interface in com.google.android.exoplayer2">LoadControl</a> loadControl,
|
||||
<a href="upstream/BandwidthMeter.html" title="interface in com.google.android.exoplayer2.upstream">BandwidthMeter</a> bandwidthMeter,
|
||||
<a href="analytics/AnalyticsCollector.html" title="class in com.google.android.exoplayer2.analytics">AnalyticsCollector</a> analyticsCollector)</pre>
|
||||
<a href="analytics/AnalyticsCollector.html" title="interface in com.google.android.exoplayer2.analytics">AnalyticsCollector</a> analyticsCollector)</pre>
|
||||
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
|
||||
<div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#%3Cinit%3E(android.content.Context,com.google.android.exoplayer2.RenderersFactory,com.google.android.exoplayer2.source.MediaSourceFactory,com.google.android.exoplayer2.trackselection.TrackSelector,com.google.android.exoplayer2.LoadControl,com.google.android.exoplayer2.upstream.BandwidthMeter,com.google.android.exoplayer2.analytics.AnalyticsCollector)"><code>Builder(Context, RenderersFactory,
|
||||
MediaSourceFactory, TrackSelector, LoadControl, BandwidthMeter, AnalyticsCollector)</code></a>
|
||||
<div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#%3Cinit%3E(android.content.Context,com.google.android.exoplayer2.RenderersFactory,com.google.android.exoplayer2.source.MediaSource.Factory,com.google.android.exoplayer2.trackselection.TrackSelector,com.google.android.exoplayer2.LoadControl,com.google.android.exoplayer2.upstream.BandwidthMeter,com.google.android.exoplayer2.analytics.AnalyticsCollector)"><code>Builder(Context, RenderersFactory,
|
||||
MediaSource.Factory, TrackSelector, LoadControl, BandwidthMeter, AnalyticsCollector)</code></a>
|
||||
instead.</div>
|
||||
</div>
|
||||
</li>
|
||||
@ -588,16 +588,16 @@ public <a href="SimpleExoPlayer.Builder.html" title="class in com.google.an
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="setMediaSourceFactory(com.google.android.exoplayer2.source.MediaSourceFactory)">
|
||||
<a id="setMediaSourceFactory(com.google.android.exoplayer2.source.MediaSource.Factory)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>setMediaSourceFactory</h4>
|
||||
<pre class="methodSignature"><a href="https://developer.android.com/reference/java/lang/Deprecated.html" title="class or interface in java.lang" class="externalLink" target="_top">@Deprecated</a>
|
||||
public <a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a> setMediaSourceFactory​(<a href="source/MediaSourceFactory.html" title="interface in com.google.android.exoplayer2.source">MediaSourceFactory</a> mediaSourceFactory)</pre>
|
||||
public <a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a> setMediaSourceFactory​(<a href="source/MediaSource.Factory.html" title="interface in com.google.android.exoplayer2.source">MediaSource.Factory</a> mediaSourceFactory)</pre>
|
||||
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
|
||||
<div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#setMediaSourceFactory(com.google.android.exoplayer2.source.MediaSourceFactory)"><code>ExoPlayer.Builder.setMediaSourceFactory(MediaSourceFactory)</code></a> instead.</div>
|
||||
<div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#setMediaSourceFactory(com.google.android.exoplayer2.source.MediaSource.Factory)"><code>ExoPlayer.Builder.setMediaSourceFactory(MediaSource.Factory)</code></a> instead.</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
@ -647,7 +647,7 @@ public <a href="SimpleExoPlayer.Builder.html" title="class in com.google.an
|
||||
<li class="blockList">
|
||||
<h4>setAnalyticsCollector</h4>
|
||||
<pre class="methodSignature"><a href="https://developer.android.com/reference/java/lang/Deprecated.html" title="class or interface in java.lang" class="externalLink" target="_top">@Deprecated</a>
|
||||
public <a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a> setAnalyticsCollector​(<a href="analytics/AnalyticsCollector.html" title="class in com.google.android.exoplayer2.analytics">AnalyticsCollector</a> analyticsCollector)</pre>
|
||||
public <a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a> setAnalyticsCollector​(<a href="analytics/AnalyticsCollector.html" title="interface in com.google.android.exoplayer2.analytics">AnalyticsCollector</a> analyticsCollector)</pre>
|
||||
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
|
||||
<div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#setAnalyticsCollector(com.google.android.exoplayer2.analytics.AnalyticsCollector)"><code>ExoPlayer.Builder.setAnalyticsCollector(AnalyticsCollector)</code></a> instead.</div>
|
||||
</div>
|
||||
@ -723,7 +723,7 @@ public <a href="SimpleExoPlayer.Builder.html" title="class in com.google.an
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="setVideoScalingMode(int)">
|
||||
<a id="setVideoScalingMode(@com.google.android.exoplayer2.C.VideoScalingModeint)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
@ -731,13 +731,13 @@ public <a href="SimpleExoPlayer.Builder.html" title="class in com.google.an
|
||||
<h4>setVideoScalingMode</h4>
|
||||
<pre class="methodSignature"><a href="https://developer.android.com/reference/java/lang/Deprecated.html" title="class or interface in java.lang" class="externalLink" target="_top">@Deprecated</a>
|
||||
public <a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a> setVideoScalingMode​(<a href="C.VideoScalingMode.html" title="annotation in com.google.android.exoplayer2">@VideoScalingMode</a>
|
||||
int videoScalingMode)</pre>
|
||||
@com.google.android.exoplayer2.C.VideoScalingMode int videoScalingMode)</pre>
|
||||
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
|
||||
<div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#setVideoScalingMode(int)"><code>ExoPlayer.Builder.setVideoScalingMode(int)</code></a> instead.</div>
|
||||
<div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#setVideoScalingMode(@com.google.android.exoplayer2.C.VideoScalingModeint)"><code>ExoPlayer.Builder.setVideoScalingMode(int)</code></a> instead.</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="setVideoChangeFrameRateStrategy(int)">
|
||||
<a id="setVideoChangeFrameRateStrategy(@com.google.android.exoplayer2.C.VideoChangeFrameRateStrategyint)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
@ -745,9 +745,9 @@ public <a href="SimpleExoPlayer.Builder.html" title="class in com.google.an
|
||||
<h4>setVideoChangeFrameRateStrategy</h4>
|
||||
<pre class="methodSignature"><a href="https://developer.android.com/reference/java/lang/Deprecated.html" title="class or interface in java.lang" class="externalLink" target="_top">@Deprecated</a>
|
||||
public <a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a> setVideoChangeFrameRateStrategy​(<a href="C.VideoChangeFrameRateStrategy.html" title="annotation in com.google.android.exoplayer2">@VideoChangeFrameRateStrategy</a>
|
||||
int videoChangeFrameRateStrategy)</pre>
|
||||
@com.google.android.exoplayer2.C.VideoChangeFrameRateStrategy int videoChangeFrameRateStrategy)</pre>
|
||||
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
|
||||
<div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#setVideoChangeFrameRateStrategy(int)"><code>ExoPlayer.Builder.setVideoChangeFrameRateStrategy(int)</code></a> instead.</div>
|
||||
<div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#setVideoChangeFrameRateStrategy(@com.google.android.exoplayer2.C.VideoChangeFrameRateStrategyint)"><code>ExoPlayer.Builder.setVideoChangeFrameRateStrategy(int)</code></a> instead.</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
|
File diff suppressed because one or more lines are too long
@ -25,7 +25,7 @@
|
||||
catch(err) {
|
||||
}
|
||||
//-->
|
||||
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10};
|
||||
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10};
|
||||
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
|
||||
var altColor = "altColor";
|
||||
var rowColor = "rowColor";
|
||||
@ -346,6 +346,15 @@ implements <a href="Bundleable.html" title="interface in com.google.android.exop
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i9" class="rowColor">
|
||||
<td class="colFirst"><code>int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAdState(int,int)">getAdState</a></span>​(int adGroupIndex,
|
||||
int adIndexInAdGroup)</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Returns the state of the ad at index <code>adIndexInAdGroup</code> in the ad group at <code>
|
||||
adGroupIndex</code>, or <a href="source/ads/AdPlaybackState.html#AD_STATE_UNAVAILABLE"><code>AdPlaybackState.AD_STATE_UNAVAILABLE</code></a> if not yet known.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i10" class="altColor">
|
||||
<td class="colFirst"><code>long</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getContentResumeOffsetUs(int)">getContentResumeOffsetUs</a></span>​(int adGroupIndex)</code></th>
|
||||
<td class="colLast">
|
||||
@ -353,21 +362,21 @@ implements <a href="Bundleable.html" title="interface in com.google.android.exop
|
||||
playback after the specified ad group.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i10" class="altColor">
|
||||
<tr id="i11" class="rowColor">
|
||||
<td class="colFirst"><code>long</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDurationMs()">getDurationMs</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Returns the duration of the period in milliseconds, or <a href="C.html#TIME_UNSET"><code>C.TIME_UNSET</code></a> if unknown.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i11" class="rowColor">
|
||||
<tr id="i12" class="altColor">
|
||||
<td class="colFirst"><code>long</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDurationUs()">getDurationUs</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Returns the duration of this period in microseconds, or <a href="C.html#TIME_UNSET"><code>C.TIME_UNSET</code></a> if unknown.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i12" class="altColor">
|
||||
<tr id="i13" class="rowColor">
|
||||
<td class="colFirst"><code>int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getFirstAdIndexToPlay(int)">getFirstAdIndexToPlay</a></span>​(int adGroupIndex)</code></th>
|
||||
<td class="colLast">
|
||||
@ -375,7 +384,7 @@ implements <a href="Bundleable.html" title="interface in com.google.android.exop
|
||||
number of ads in the ad group if no ads should be played.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i13" class="rowColor">
|
||||
<tr id="i14" class="altColor">
|
||||
<td class="colFirst"><code>int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getNextAdIndexToPlay(int,int)">getNextAdIndexToPlay</a></span>​(int adGroupIndex,
|
||||
int lastPlayedAdIndex)</code></th>
|
||||
@ -385,7 +394,7 @@ implements <a href="Bundleable.html" title="interface in com.google.android.exop
|
||||
be played.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i14" class="altColor">
|
||||
<tr id="i15" class="rowColor">
|
||||
<td class="colFirst"><code>long</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getPositionInWindowMs()">getPositionInWindowMs</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
@ -393,7 +402,7 @@ implements <a href="Bundleable.html" title="interface in com.google.android.exop
|
||||
it belongs, in milliseconds.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i15" class="rowColor">
|
||||
<tr id="i16" class="altColor">
|
||||
<td class="colFirst"><code>long</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getPositionInWindowUs()">getPositionInWindowUs</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
@ -401,19 +410,19 @@ implements <a href="Bundleable.html" title="interface in com.google.android.exop
|
||||
it belongs, in microseconds.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i16" class="altColor">
|
||||
<tr id="i17" class="rowColor">
|
||||
<td class="colFirst"><code>int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRemovedAdGroupCount()">getRemovedAdGroupCount</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
<div class="block">Returns the number of removed ad groups in the period.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i17" class="rowColor">
|
||||
<tr id="i18" class="altColor">
|
||||
<td class="colFirst"><code>int</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hashCode()">hashCode</a></span>()</code></th>
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
<tr id="i18" class="altColor">
|
||||
<tr id="i19" class="rowColor">
|
||||
<td class="colFirst"><code>boolean</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasPlayedAdGroup(int)">hasPlayedAdGroup</a></span>​(int adGroupIndex)</code></th>
|
||||
<td class="colLast">
|
||||
@ -421,7 +430,7 @@ implements <a href="Bundleable.html" title="interface in com.google.android.exop
|
||||
skipped or failed.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i19" class="rowColor">
|
||||
<tr id="i20" class="altColor">
|
||||
<td class="colFirst"><code>boolean</code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isServerSideInsertedAdGroup(int)">isServerSideInsertedAdGroup</a></span>​(int adGroupIndex)</code></th>
|
||||
<td class="colLast">
|
||||
@ -429,7 +438,7 @@ implements <a href="Bundleable.html" title="interface in com.google.android.exop
|
||||
of the content stream.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i20" class="altColor">
|
||||
<tr id="i21" class="rowColor">
|
||||
<td class="colFirst"><code><a href="Timeline.Period.html" title="class in com.google.android.exoplayer2">Timeline.Period</a></code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#set(java.lang.Object,java.lang.Object,int,long,long)">set</a></span>​(<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a> id,
|
||||
<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a> uid,
|
||||
@ -440,7 +449,7 @@ implements <a href="Bundleable.html" title="interface in com.google.android.exop
|
||||
<div class="block">Sets the data held by this period.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i21" class="rowColor">
|
||||
<tr id="i22" class="altColor">
|
||||
<td class="colFirst"><code><a href="Timeline.Period.html" title="class in com.google.android.exoplayer2">Timeline.Period</a></code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#set(java.lang.Object,java.lang.Object,int,long,long,com.google.android.exoplayer2.source.ads.AdPlaybackState,boolean)">set</a></span>​(<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a> id,
|
||||
<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a> uid,
|
||||
@ -453,7 +462,7 @@ implements <a href="Bundleable.html" title="interface in com.google.android.exop
|
||||
<div class="block">Sets the data held by this period.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="i22" class="altColor">
|
||||
<tr id="i23" class="rowColor">
|
||||
<td class="colFirst"><code><a href="https://developer.android.com/reference/android/os/Bundle.html" title="class or interface in android.os" class="externalLink" target="_top">Bundle</a></code></td>
|
||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toBundle()">toBundle</a></span>()</code></th>
|
||||
<td class="colLast">
|
||||
@ -882,6 +891,25 @@ public <a href="https://developer.android.com/reference/java/lang/Object.ht
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="getAdState(int,int)">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>getAdState</h4>
|
||||
<pre class="methodSignature">public int getAdState​(int adGroupIndex,
|
||||
int adIndexInAdGroup)</pre>
|
||||
<div class="block">Returns the state of the ad at index <code>adIndexInAdGroup</code> in the ad group at <code>
|
||||
adGroupIndex</code>, or <a href="source/ads/AdPlaybackState.html#AD_STATE_UNAVAILABLE"><code>AdPlaybackState.AD_STATE_UNAVAILABLE</code></a> if not yet known.</div>
|
||||
<dl>
|
||||
<dt><span class="paramLabel">Parameters:</span></dt>
|
||||
<dd><code>adGroupIndex</code> - The ad group index.</dd>
|
||||
<dt><span class="returnLabel">Returns:</span></dt>
|
||||
<dd>The state of the ad, or <a href="source/ads/AdPlaybackState.html#AD_STATE_UNAVAILABLE"><code>AdPlaybackState.AD_STATE_UNAVAILABLE</code></a> if not yet
|
||||
known.</dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="getAdResumePositionUs()">
|
||||
<!-- -->
|
||||
</a>
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user