Merge branch 'dev-v2' into dash-thumbnail-support

# Conflicts:
#	library/common/src/main/java/com/google/android/exoplayer2/Format.java
This commit is contained in:
Görkem Güclü 2023-01-17 09:47:26 +01:00
commit 40d8f004cf
731 changed files with 54300 additions and 12582 deletions

View File

@ -18,6 +18,7 @@ body:
label: ExoPlayer Version label: ExoPlayer Version
description: What version of ExoPlayer are you using? description: What version of ExoPlayer are you using?
options: options:
- 2.18.2
- 2.18.1 - 2.18.1
- 2.18.0 - 2.18.0
- 2.17.1 - 2.17.1

View File

@ -1,5 +1,113 @@
# Release notes # Release notes
### 2.18.2 (2022-11-22)
This release corresponds to the
[AndroidX Media3 1.0.0-beta03 release](https://github.com/androidx/media/releases/tag/1.0.0-beta03).
* Core library:
* Add `ExoPlayer.isTunnelingEnabled` to check if tunneling is enabled for
the currently selected tracks
([#2518](https://github.com/google/ExoPlayer/issues/2518)).
* Add `WrappingMediaSource` to simplify wrapping a single `MediaSource`
([#7279](https://github.com/google/ExoPlayer/issues/7279)).
* Discard back buffer before playback gets stuck due to insufficient
available memory.
* Close the Tracing "doSomeWork" block when offload is enabled.
* Fix session tracking problem with fast seeks in `PlaybackStatsListener`
([#180](https://github.com/androidx/media/issues/180)).
* Send missing `onMediaItemTransition` callback when calling `seekToNext`
or `seekToPrevious` in a single-item playlist
([#10667](https://github.com/google/ExoPlayer/issues/10667)).
* Add `Player.getSurfaceSize` that returns the size of the surface on
which the video is rendered.
* Fix bug where removing listeners during the player release can cause an
`IllegalStateException`
([#10758](https://github.com/google/ExoPlayer/issues/10758)).
* Build:
* Enforce minimum `compileSdkVersion` to avoid compilation errors
([#10684](https://github.com/google/ExoPlayer/issues/10684)).
* Track selection:
* Prefer other tracks to Dolby Vision if display does not support it.
([#8944](https://github.com/google/ExoPlayer/issues/8944)).
* Downloads:
* Fix potential infinite loop in `ProgressiveDownloader` caused by
simultaneous download and playback with the same `PriorityTaskManager`
([#10570](https://github.com/google/ExoPlayer/pull/10570)).
* Make download notification appear immediately
([#183](https://github.com/androidx/media/pull/183)).
* Limit parallel download removals to 1 to avoid excessive thread creation
([#10458](https://github.com/google/ExoPlayer/issues/10458)).
* Video:
* Try alternative decoder for Dolby Vision if display does not support it.
([#9794](https://github.com/google/ExoPlayer/issues/9794)).
* Audio:
* Use `SingleThreadExecutor` for releasing `AudioTrack` instances to avoid
OutOfMemory errors when releasing multiple players at the same time
([#10057](https://github.com/google/ExoPlayer/issues/10057)).
* Adds `AudioOffloadListener.onExperimentalOffloadedPlayback` for the
AudioTrack offload state.
([#134](https://github.com/androidx/media/issues/134)).
* Make `AudioTrackBufferSizeProvider` a public interface.
* Add `ExoPlayer.setPreferredAudioDevice` to set the preferred audio
output device ([#135](https://github.com/androidx/media/issues/135)).
* Map 8-channel and 12-channel audio to the 7.1 and 7.1.4 channel masks
respectively on all Android versions
([#10701](https://github.com/google/ExoPlayer/issues/10701)).
* Metadata:
* `MetadataRenderer` can now be configured to render metadata as soon as
they are available. Create an instance with
`MetadataRenderer(MetadataOutput, Looper, MetadataDecoderFactory,
boolean)` to specify whether the renderer will output metadata early or
in sync with the player position.
* DRM:
* Work around a bug in the Android 13 ClearKey implementation that returns
a non-empty but invalid license URL.
* Fix `setMediaDrmSession failed: session not opened` error when switching
between DRM schemes in a playlist (e.g. Widevine to ClearKey).
* Text:
* CEA-608: Ensure service switch commands on field 2 are handled correctly
([#10666](https://github.com/google/ExoPlayer/issues/10666)).
* DASH:
* Parse `EventStream.presentationTimeOffset` from manifests
([#10460](https://github.com/google/ExoPlayer/issues/10460)).
* UI:
* Use current overrides of the player as preset in
`TrackSelectionDialogBuilder`
([#10429](https://github.com/google/ExoPlayer/issues/10429)).
* RTSP:
* Add H263 fragmented packet handling
([#119](https://github.com/androidx/media/pull/119)).
* Add support for MP4A-LATM
([#162](https://github.com/androidx/media/pull/162)).
* IMA:
* Add timeout for loading ad information to handle cases where the IMA SDK
gets stuck loading an ad
([#10510](https://github.com/google/ExoPlayer/issues/10510)).
* Prevent skipping mid-roll ads when seeking to the end of the content
([#10685](https://github.com/google/ExoPlayer/issues/10685)).
* Correctly calculate window duration for live streams with server-side
inserted ads, for example IMA DAI
([#10764](https://github.com/google/ExoPlayer/issues/10764)).
* FFmpeg extension:
* Add newly required flags to link FFmpeg libraries with NDK 23.1.7779620
and above ([#9933](https://github.com/google/ExoPlayer/issues/9933)).
* AV1 extension:
* Update CMake version to avoid incompatibilities with the latest Android
Studio releases
([#9933](https://github.com/google/ExoPlayer/issues/9933)).
* Cast extension:
* Implement `getDeviceInfo()` to be able to identify `CastPlayer` when
controlling playback with a `MediaController`
([#142](https://github.com/androidx/media/issues/142)).
* Transformer:
* Add muxer watchdog timer to detect when generating an output sample is
too slow.
* Remove deprecated symbols:
* Remove `Transformer.Builder.setOutputMimeType(String)`. This feature has
been removed. The MIME type will always be MP4 when the default muxer is
used.
### 2.18.1 (2022-07-21) ### 2.18.1 (2022-07-21)
This release corresponds to the This release corresponds to the

View File

@ -13,8 +13,8 @@
// limitations under the License. // limitations under the License.
project.ext { project.ext {
// ExoPlayer version and version code. // ExoPlayer version and version code.
releaseVersion = '2.18.1' releaseVersion = '2.18.2'
releaseVersionCode = 2_018_001 releaseVersionCode = 2_018_002
minSdkVersion = 16 minSdkVersion = 16
appTargetSdkVersion = 33 appTargetSdkVersion = 33
// API version before restricting local file access. // API version before restricting local file access.

View File

@ -35,6 +35,7 @@
android:largeHeap="true" android:largeHeap="true"
android:allowBackup="false" android:allowBackup="false"
android:requestLegacyExternalStorage="true" android:requestLegacyExternalStorage="true"
android:supportsRtl="true"
android:name="androidx.multidex.MultiDexApplication" android:name="androidx.multidex.MultiDexApplication"
tools:targetApi="29"> tools:targetApi="29">

View File

@ -1,181 +0,0 @@
/*
* Copyright 2022 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.checkArgument;
import static com.google.android.exoplayer2.util.Assertions.checkStateNotNull;
import android.content.Context;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.graphics.drawable.BitmapDrawable;
import android.opengl.GLES20;
import android.opengl.GLUtils;
import android.util.Pair;
import com.google.android.exoplayer2.C;
import com.google.android.exoplayer2.effect.SingleFrameGlTextureProcessor;
import com.google.android.exoplayer2.util.FrameProcessingException;
import com.google.android.exoplayer2.util.GlProgram;
import com.google.android.exoplayer2.util.GlUtil;
import java.io.IOException;
import java.util.Locale;
/**
* A {@link SingleFrameGlTextureProcessor} that overlays a bitmap with a logo and timer on each
* frame.
*
* <p>The bitmap is drawn using an Android {@link Canvas}.
*/
// TODO(b/227625365): Delete this class and use a texture processor from the Transformer library,
// once overlaying a bitmap and text is supported in Transformer.
/* package */ final class BitmapOverlayProcessor extends SingleFrameGlTextureProcessor {
private static final String VERTEX_SHADER_PATH = "vertex_shader_copy_es2.glsl";
private static final String FRAGMENT_SHADER_PATH = "fragment_shader_bitmap_overlay_es2.glsl";
private static final int BITMAP_WIDTH_HEIGHT = 512;
private final Paint paint;
private final Bitmap overlayBitmap;
private final Bitmap logoBitmap;
private final Canvas overlayCanvas;
private final GlProgram glProgram;
private float bitmapScaleX;
private float bitmapScaleY;
private int bitmapTexId;
/**
* Creates a new instance.
*
* @param context The {@link Context}.
* @param useHdr Whether input textures come from an HDR source. If {@code true}, colors will be
* in linear RGB BT.2020. If {@code false}, colors will be in linear RGB BT.709.
* @throws FrameProcessingException If a problem occurs while reading shader files.
*/
public BitmapOverlayProcessor(Context context, boolean useHdr) throws FrameProcessingException {
super(useHdr);
checkArgument(!useHdr, "BitmapOverlayProcessor does not support HDR colors.");
paint = new Paint();
paint.setTextSize(64);
paint.setAntiAlias(true);
paint.setARGB(0xFF, 0xFF, 0xFF, 0xFF);
paint.setColor(Color.GRAY);
overlayBitmap =
Bitmap.createBitmap(BITMAP_WIDTH_HEIGHT, BITMAP_WIDTH_HEIGHT, Bitmap.Config.ARGB_8888);
overlayCanvas = new Canvas(overlayBitmap);
try {
logoBitmap =
((BitmapDrawable)
context.getPackageManager().getApplicationIcon(context.getPackageName()))
.getBitmap();
} catch (PackageManager.NameNotFoundException e) {
throw new IllegalStateException(e);
}
try {
bitmapTexId =
GlUtil.createTexture(
BITMAP_WIDTH_HEIGHT,
BITMAP_WIDTH_HEIGHT,
/* useHighPrecisionColorComponents= */ false);
GLUtils.texImage2D(GLES20.GL_TEXTURE_2D, /* level= */ 0, overlayBitmap, /* border= */ 0);
glProgram = new GlProgram(context, VERTEX_SHADER_PATH, FRAGMENT_SHADER_PATH);
} catch (GlUtil.GlException | IOException e) {
throw new FrameProcessingException(e);
}
// Draw the frame on the entire normalized device coordinate space, from -1 to 1, for x and y.
glProgram.setBufferAttribute(
"aFramePosition",
GlUtil.getNormalizedCoordinateBounds(),
GlUtil.HOMOGENEOUS_COORDINATE_VECTOR_SIZE);
glProgram.setSamplerTexIdUniform("uTexSampler1", bitmapTexId, /* texUnitIndex= */ 1);
}
@Override
public Pair<Integer, Integer> configure(int inputWidth, int inputHeight) {
if (inputWidth > inputHeight) {
bitmapScaleX = inputWidth / (float) inputHeight;
bitmapScaleY = 1f;
} else {
bitmapScaleX = 1f;
bitmapScaleY = inputHeight / (float) inputWidth;
}
glProgram.setFloatUniform("uScaleX", bitmapScaleX);
glProgram.setFloatUniform("uScaleY", bitmapScaleY);
return Pair.create(inputWidth, inputHeight);
}
@Override
public void drawFrame(int inputTexId, long presentationTimeUs) throws FrameProcessingException {
try {
glProgram.use();
// Draw to the canvas and store it in a texture.
String text =
String.format(Locale.US, "%.02f", presentationTimeUs / (float) C.MICROS_PER_SECOND);
overlayBitmap.eraseColor(Color.TRANSPARENT);
overlayCanvas.drawBitmap(checkStateNotNull(logoBitmap), /* left= */ 3, /* top= */ 378, paint);
overlayCanvas.drawText(text, /* x= */ 160, /* y= */ 466, paint);
GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, bitmapTexId);
GLUtils.texSubImage2D(
GLES20.GL_TEXTURE_2D,
/* level= */ 0,
/* xoffset= */ 0,
/* yoffset= */ 0,
flipBitmapVertically(overlayBitmap));
GlUtil.checkGlError();
glProgram.setSamplerTexIdUniform("uTexSampler0", inputTexId, /* texUnitIndex= */ 0);
glProgram.bindAttributesAndUniforms();
// The four-vertex triangle strip forms a quad.
GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, /* first= */ 0, /* count= */ 4);
GlUtil.checkGlError();
} catch (GlUtil.GlException e) {
throw new FrameProcessingException(e, presentationTimeUs);
}
}
@Override
public void release() throws FrameProcessingException {
super.release();
try {
glProgram.delete();
} catch (GlUtil.GlException e) {
throw new FrameProcessingException(e);
}
}
private static Bitmap flipBitmapVertically(Bitmap bitmap) {
Matrix flip = new Matrix();
flip.postScale(1f, -1f);
return Bitmap.createBitmap(
bitmap,
/* x= */ 0,
/* y= */ 0,
bitmap.getWidth(),
bitmap.getHeight(),
flip,
/* filter= */ true);
}
}

View File

@ -23,12 +23,14 @@ import android.app.Activity;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.graphics.Color;
import android.net.Uri; import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.view.View; import android.view.View;
import android.widget.ArrayAdapter; import android.widget.ArrayAdapter;
import android.widget.Button; import android.widget.Button;
import android.widget.CheckBox; import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Spinner; import android.widget.Spinner;
import android.widget.TextView; import android.widget.TextView;
import android.widget.Toast; import android.widget.Toast;
@ -59,6 +61,7 @@ public final class ConfigurationActivity extends AppCompatActivity {
public static final String SHOULD_REMOVE_AUDIO = "should_remove_audio"; 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_REMOVE_VIDEO = "should_remove_video";
public static final String SHOULD_FLATTEN_FOR_SLOW_MOTION = "should_flatten_for_slow_motion"; public static final String SHOULD_FLATTEN_FOR_SLOW_MOTION = "should_flatten_for_slow_motion";
public static final String FORCE_SILENT_AUDIO = "force_silent_audio";
public static final String AUDIO_MIME_TYPE = "audio_mime_type"; public static final String AUDIO_MIME_TYPE = "audio_mime_type";
public static final String VIDEO_MIME_TYPE = "video_mime_type"; public static final String VIDEO_MIME_TYPE = "video_mime_type";
public static final String RESOLUTION_HEIGHT = "resolution_height"; public static final String RESOLUTION_HEIGHT = "resolution_height";
@ -69,8 +72,10 @@ public final class ConfigurationActivity extends AppCompatActivity {
public static final String TRIM_END_MS = "trim_end_ms"; public static final String TRIM_END_MS = "trim_end_ms";
public static final String ENABLE_FALLBACK = "enable_fallback"; public static final String ENABLE_FALLBACK = "enable_fallback";
public static final String ENABLE_DEBUG_PREVIEW = "enable_debug_preview"; public static final String ENABLE_DEBUG_PREVIEW = "enable_debug_preview";
public static final String ABORT_SLOW_TRANSFORMATION = "abort_slow_transformation";
public static final String HDR_MODE = "hdr_mode"; public static final String HDR_MODE = "hdr_mode";
public static final String DEMO_EFFECTS_SELECTIONS = "demo_effects_selections"; public static final String AUDIO_EFFECTS_SELECTIONS = "audio_effects_selections";
public static final String VIDEO_EFFECTS_SELECTIONS = "video_effects_selections";
public static final String PERIODIC_VIGNETTE_CENTER_X = "periodic_vignette_center_x"; public static final String PERIODIC_VIGNETTE_CENTER_X = "periodic_vignette_center_x";
public static final String PERIODIC_VIGNETTE_CENTER_Y = "periodic_vignette_center_y"; public static final String PERIODIC_VIGNETTE_CENTER_Y = "periodic_vignette_center_y";
public static final String PERIODIC_VIGNETTE_INNER_RADIUS = "periodic_vignette_inner_radius"; public static final String PERIODIC_VIGNETTE_INNER_RADIUS = "periodic_vignette_inner_radius";
@ -83,9 +88,37 @@ public final class ConfigurationActivity extends AppCompatActivity {
public static final String HSL_ADJUSTMENTS_HUE = "hsl_adjustments_hue"; public static final String HSL_ADJUSTMENTS_HUE = "hsl_adjustments_hue";
public static final String HSL_ADJUSTMENTS_SATURATION = "hsl_adjustments_saturation"; public static final String HSL_ADJUSTMENTS_SATURATION = "hsl_adjustments_saturation";
public static final String HSL_ADJUSTMENTS_LIGHTNESS = "hsl_adjustments_lightness"; public static final String HSL_ADJUSTMENTS_LIGHTNESS = "hsl_adjustments_lightness";
public static final String BITMAP_OVERLAY_URI = "bitmap_overlay_uri";
public static final String BITMAP_OVERLAY_ALPHA = "bitmap_overlay_alpha";
public static final String TEXT_OVERLAY_TEXT = "text_overlay_text";
public static final String TEXT_OVERLAY_TEXT_COLOR = "text_overlay_text_color";
public static final String TEXT_OVERLAY_ALPHA = "text_overlay_alpha";
// Video effect selections.
public static final int DIZZY_CROP_INDEX = 0;
public static final int EDGE_DETECTOR_INDEX = 1;
public static final int COLOR_FILTERS_INDEX = 2;
public static final int MAP_WHITE_TO_GREEN_LUT_INDEX = 3;
public static final int RGB_ADJUSTMENTS_INDEX = 4;
public static final int HSL_ADJUSTMENT_INDEX = 5;
public static final int CONTRAST_INDEX = 6;
public static final int PERIODIC_VIGNETTE_INDEX = 7;
public static final int SPIN_3D_INDEX = 8;
public static final int ZOOM_IN_INDEX = 9;
public static final int OVERLAY_LOGO_AND_TIMER_INDEX = 10;
public static final int BITMAP_OVERLAY_INDEX = 11;
public static final int TEXT_OVERLAY_INDEX = 12;
// Audio effect selections.
public static final int HIGH_PITCHED_INDEX = 0;
public static final int SAMPLE_RATE_INDEX = 1;
public static final int SKIP_SILENCE_INDEX = 2;
// Color filter options.
public static final int COLOR_FILTER_GRAYSCALE = 0; public static final int COLOR_FILTER_GRAYSCALE = 0;
public static final int COLOR_FILTER_INVERTED = 1; public static final int COLOR_FILTER_INVERTED = 1;
public static final int COLOR_FILTER_SEPIA = 2; public static final int COLOR_FILTER_SEPIA = 2;
public static final int FILE_PERMISSION_REQUEST_CODE = 1; public static final int FILE_PERMISSION_REQUEST_CODE = 1;
private static final String[] PRESET_FILE_URIS = { private static final String[] PRESET_FILE_URIS = {
"https://storage.googleapis.com/exoplayer-test-media-1/mp4/android-screens-10s.mp4", "https://storage.googleapis.com/exoplayer-test-media-1/mp4/android-screens-10s.mp4",
@ -102,6 +135,7 @@ public final class ConfigurationActivity extends AppCompatActivity {
"https://storage.googleapis.com/exoplayer-test-media-1/gen/screens/dash-vod-single-segment/manifest-baseline.mpd", "https://storage.googleapis.com/exoplayer-test-media-1/gen/screens/dash-vod-single-segment/manifest-baseline.mpd",
"https://storage.googleapis.com/exoplayer-test-media-1/mp4/samsung-s21-hdr-hdr10.mp4", "https://storage.googleapis.com/exoplayer-test-media-1/mp4/samsung-s21-hdr-hdr10.mp4",
"https://storage.googleapis.com/exoplayer-test-media-1/mp4/Pixel7Pro_HLG_1080P.mp4", "https://storage.googleapis.com/exoplayer-test-media-1/mp4/Pixel7Pro_HLG_1080P.mp4",
"https://storage.googleapis.com/exoplayer-test-media-1/mp4/sample_video_track_only.mp4",
}; };
private static final String[] PRESET_FILE_URI_DESCRIPTIONS = { // same order as PRESET_FILE_URIS private static final String[] PRESET_FILE_URI_DESCRIPTIONS = { // same order as PRESET_FILE_URIS
"720p H264 video and AAC audio", "720p H264 video and AAC audio",
@ -118,8 +152,12 @@ public final class ConfigurationActivity extends AppCompatActivity {
"480p DASH (non-square pixels)", "480p DASH (non-square pixels)",
"HDR (HDR10) H265 limited range video (encoding may fail)", "HDR (HDR10) H265 limited range video (encoding may fail)",
"HDR (HLG) H265 limited range video (encoding may fail)", "HDR (HLG) H265 limited range video (encoding may fail)",
"720p H264 video with no audio",
}; };
private static final String[] DEMO_EFFECTS = { private static final String[] AUDIO_EFFECTS = {
"High pitched", "Sample rate of 48000Hz", "Skip silence"
};
private static final String[] VIDEO_EFFECTS = {
"Dizzy crop", "Dizzy crop",
"Edge detector (Media Pipe)", "Edge detector (Media Pipe)",
"Color filters", "Color filters",
@ -129,24 +167,40 @@ public final class ConfigurationActivity extends AppCompatActivity {
"Contrast", "Contrast",
"Periodic vignette", "Periodic vignette",
"3D spin", "3D spin",
"Overlay logo & timer",
"Zoom in start", "Zoom in start",
"Overlay logo & timer",
"Custom Bitmap Overlay",
"Custom Text Overlay",
}; };
private static final ImmutableMap<String, @TransformationRequest.HdrMode Integer> private static final ImmutableMap<String, @TransformationRequest.HdrMode Integer>
HDR_MODE_DESCRIPTIONS = HDR_MODE_DESCRIPTIONS =
new ImmutableMap.Builder<String, @TransformationRequest.HdrMode Integer>() new ImmutableMap.Builder<String, @TransformationRequest.HdrMode Integer>()
.put("Keep HDR", TransformationRequest.HDR_MODE_KEEP_HDR) .put("Keep HDR", TransformationRequest.HDR_MODE_KEEP_HDR)
.put("Tone-map HDR to SDR", TransformationRequest.HDR_MODE_TONE_MAP_HDR_TO_SDR) .put(
"MediaCodec tone-map HDR to SDR",
TransformationRequest.HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_MEDIACODEC)
.put(
"OpenGL tone-map HDR to SDR",
TransformationRequest.HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_OPEN_GL)
.put( .put(
"Force Interpret HDR as SDR", "Force Interpret HDR as SDR",
TransformationRequest.HDR_MODE_EXPERIMENTAL_FORCE_INTERPRET_HDR_AS_SDR) TransformationRequest.HDR_MODE_EXPERIMENTAL_FORCE_INTERPRET_HDR_AS_SDR)
.build(); .build();
private static final ImmutableMap<String, Integer> OVERLAY_COLORS =
new ImmutableMap.Builder<String, Integer>()
.put("BLACK", Color.BLACK)
.put("BLUE", Color.BLUE)
.put("CYAN", Color.CYAN)
.put("DKGRAY", Color.DKGRAY)
.put("GRAY", Color.GRAY)
.put("GREEN", Color.GREEN)
.put("LTGRAY", Color.LTGRAY)
.put("MAGENTA", Color.MAGENTA)
.put("RED", Color.RED)
.put("WHITE", Color.WHITE)
.put("YELLOW", Color.YELLOW)
.build();
private static final String SAME_AS_INPUT_OPTION = "same as input"; private static final String SAME_AS_INPUT_OPTION = "same as input";
private static final int COLOR_FILTERS_INDEX = 2;
private static final int RGB_ADJUSTMENTS_INDEX = 4;
private static final int HSL_ADJUSTMENT_INDEX = 5;
private static final int CONTRAST_INDEX = 6;
private static final int PERIODIC_VIGNETTE_INDEX = 7;
private static final float HALF_DIAGONAL = 1f / (float) Math.sqrt(2); private static final float HALF_DIAGONAL = 1f / (float) Math.sqrt(2);
private @MonotonicNonNull ActivityResultLauncher<Intent> localFilePickerLauncher; private @MonotonicNonNull ActivityResultLauncher<Intent> localFilePickerLauncher;
@ -156,6 +210,7 @@ public final class ConfigurationActivity extends AppCompatActivity {
private @MonotonicNonNull CheckBox removeAudioCheckbox; private @MonotonicNonNull CheckBox removeAudioCheckbox;
private @MonotonicNonNull CheckBox removeVideoCheckbox; private @MonotonicNonNull CheckBox removeVideoCheckbox;
private @MonotonicNonNull CheckBox flattenForSlowMotionCheckbox; private @MonotonicNonNull CheckBox flattenForSlowMotionCheckbox;
private @MonotonicNonNull CheckBox forceSilentAudioCheckbox;
private @MonotonicNonNull Spinner audioMimeSpinner; private @MonotonicNonNull Spinner audioMimeSpinner;
private @MonotonicNonNull Spinner videoMimeSpinner; private @MonotonicNonNull Spinner videoMimeSpinner;
private @MonotonicNonNull Spinner resolutionHeightSpinner; private @MonotonicNonNull Spinner resolutionHeightSpinner;
@ -164,9 +219,12 @@ public final class ConfigurationActivity extends AppCompatActivity {
private @MonotonicNonNull CheckBox trimCheckBox; private @MonotonicNonNull CheckBox trimCheckBox;
private @MonotonicNonNull CheckBox enableFallbackCheckBox; private @MonotonicNonNull CheckBox enableFallbackCheckBox;
private @MonotonicNonNull CheckBox enableDebugPreviewCheckBox; private @MonotonicNonNull CheckBox enableDebugPreviewCheckBox;
private @MonotonicNonNull CheckBox abortSlowTransformationCheckBox;
private @MonotonicNonNull Spinner hdrModeSpinner; private @MonotonicNonNull Spinner hdrModeSpinner;
private @MonotonicNonNull Button selectDemoEffectsButton; private @MonotonicNonNull Button selectAudioEffectsButton;
private boolean @MonotonicNonNull [] demoEffectsSelections; private @MonotonicNonNull Button selectVideoEffectsButton;
private boolean @MonotonicNonNull [] audioEffectsSelections;
private boolean @MonotonicNonNull [] videoEffectsSelections;
private @Nullable Uri localFileUri; private @Nullable Uri localFileUri;
private int inputUriPosition; private int inputUriPosition;
private long trimStartMs; private long trimStartMs;
@ -183,6 +241,11 @@ public final class ConfigurationActivity extends AppCompatActivity {
private float periodicVignetteCenterY; private float periodicVignetteCenterY;
private float periodicVignetteInnerRadius; private float periodicVignetteInnerRadius;
private float periodicVignetteOuterRadius; private float periodicVignetteOuterRadius;
private @MonotonicNonNull String bitmapOverlayUri;
private float bitmapOverlayAlpha;
private @MonotonicNonNull String textOverlayText;
private int textOverlayTextColor;
private float textOverlayAlpha;
@Override @Override
protected void onCreate(@Nullable Bundle savedInstanceState) { protected void onCreate(@Nullable Bundle savedInstanceState) {
@ -191,7 +254,11 @@ public final class ConfigurationActivity extends AppCompatActivity {
findViewById(R.id.transform_button).setOnClickListener(this::startTransformation); findViewById(R.id.transform_button).setOnClickListener(this::startTransformation);
flattenForSlowMotionCheckbox = findViewById(R.id.flatten_for_slow_motion_checkbox); selectPresetFileButton = findViewById(R.id.select_preset_file_button);
selectPresetFileButton.setOnClickListener(this::selectPresetFile);
selectLocalFileButton = findViewById(R.id.select_local_file_button);
selectLocalFileButton.setOnClickListener(this::selectLocalFile);
selectedFileTextView = findViewById(R.id.selected_file_text_view); selectedFileTextView = findViewById(R.id.selected_file_text_view);
selectedFileTextView.setText(PRESET_FILE_URI_DESCRIPTIONS[inputUriPosition]); selectedFileTextView.setText(PRESET_FILE_URI_DESCRIPTIONS[inputUriPosition]);
@ -202,11 +269,9 @@ public final class ConfigurationActivity extends AppCompatActivity {
removeVideoCheckbox = findViewById(R.id.remove_video_checkbox); removeVideoCheckbox = findViewById(R.id.remove_video_checkbox);
removeVideoCheckbox.setOnClickListener(this::onRemoveVideo); removeVideoCheckbox.setOnClickListener(this::onRemoveVideo);
selectPresetFileButton = findViewById(R.id.select_preset_file_button); flattenForSlowMotionCheckbox = findViewById(R.id.flatten_for_slow_motion_checkbox);
selectPresetFileButton.setOnClickListener(this::selectPresetFile);
selectLocalFileButton = findViewById(R.id.select_local_file_button); forceSilentAudioCheckbox = findViewById(R.id.force_silent_audio_checkbox);
selectLocalFileButton.setOnClickListener(this::selectLocalFile);
ArrayAdapter<String> audioMimeAdapter = ArrayAdapter<String> audioMimeAdapter =
new ArrayAdapter<>(/* context= */ this, R.layout.spinner_item); new ArrayAdapter<>(/* context= */ this, R.layout.spinner_item);
@ -257,6 +322,8 @@ public final class ConfigurationActivity extends AppCompatActivity {
enableFallbackCheckBox = findViewById(R.id.enable_fallback_checkbox); enableFallbackCheckBox = findViewById(R.id.enable_fallback_checkbox);
enableDebugPreviewCheckBox = findViewById(R.id.enable_debug_preview_checkbox); enableDebugPreviewCheckBox = findViewById(R.id.enable_debug_preview_checkbox);
abortSlowTransformationCheckBox = findViewById(R.id.abort_slow_transformation_checkbox);
ArrayAdapter<String> hdrModeAdapter = ArrayAdapter<String> hdrModeAdapter =
new ArrayAdapter<>(/* context= */ this, R.layout.spinner_item); new ArrayAdapter<>(/* context= */ this, R.layout.spinner_item);
hdrModeAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); hdrModeAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
@ -264,9 +331,13 @@ public final class ConfigurationActivity extends AppCompatActivity {
hdrModeSpinner.setAdapter(hdrModeAdapter); hdrModeSpinner.setAdapter(hdrModeAdapter);
hdrModeAdapter.addAll(HDR_MODE_DESCRIPTIONS.keySet()); hdrModeAdapter.addAll(HDR_MODE_DESCRIPTIONS.keySet());
demoEffectsSelections = new boolean[DEMO_EFFECTS.length]; audioEffectsSelections = new boolean[AUDIO_EFFECTS.length];
selectDemoEffectsButton = findViewById(R.id.select_demo_effects_button); selectAudioEffectsButton = findViewById(R.id.select_audio_effects_button);
selectDemoEffectsButton.setOnClickListener(this::selectDemoEffects); selectAudioEffectsButton.setOnClickListener(this::selectAudioEffects);
videoEffectsSelections = new boolean[VIDEO_EFFECTS.length];
selectVideoEffectsButton = findViewById(R.id.select_video_effects_button);
selectVideoEffectsButton.setOnClickListener(this::selectVideoEffects);
localFilePickerLauncher = localFilePickerLauncher =
registerForActivityResult( registerForActivityResult(
@ -311,6 +382,7 @@ public final class ConfigurationActivity extends AppCompatActivity {
"removeAudioCheckbox", "removeAudioCheckbox",
"removeVideoCheckbox", "removeVideoCheckbox",
"flattenForSlowMotionCheckbox", "flattenForSlowMotionCheckbox",
"forceSilentAudioCheckbox",
"audioMimeSpinner", "audioMimeSpinner",
"videoMimeSpinner", "videoMimeSpinner",
"resolutionHeightSpinner", "resolutionHeightSpinner",
@ -319,8 +391,10 @@ public final class ConfigurationActivity extends AppCompatActivity {
"trimCheckBox", "trimCheckBox",
"enableFallbackCheckBox", "enableFallbackCheckBox",
"enableDebugPreviewCheckBox", "enableDebugPreviewCheckBox",
"abortSlowTransformationCheckBox",
"hdrModeSpinner", "hdrModeSpinner",
"demoEffectsSelections" "audioEffectsSelections",
"videoEffectsSelections"
}) })
private void startTransformation(View view) { private void startTransformation(View view) {
Intent transformerIntent = new Intent(/* packageContext= */ this, TransformerActivity.class); Intent transformerIntent = new Intent(/* packageContext= */ this, TransformerActivity.class);
@ -328,6 +402,7 @@ public final class ConfigurationActivity extends AppCompatActivity {
bundle.putBoolean(SHOULD_REMOVE_AUDIO, removeAudioCheckbox.isChecked()); bundle.putBoolean(SHOULD_REMOVE_AUDIO, removeAudioCheckbox.isChecked());
bundle.putBoolean(SHOULD_REMOVE_VIDEO, removeVideoCheckbox.isChecked()); bundle.putBoolean(SHOULD_REMOVE_VIDEO, removeVideoCheckbox.isChecked());
bundle.putBoolean(SHOULD_FLATTEN_FOR_SLOW_MOTION, flattenForSlowMotionCheckbox.isChecked()); bundle.putBoolean(SHOULD_FLATTEN_FOR_SLOW_MOTION, flattenForSlowMotionCheckbox.isChecked());
bundle.putBoolean(FORCE_SILENT_AUDIO, forceSilentAudioCheckbox.isChecked());
String selectedAudioMimeType = String.valueOf(audioMimeSpinner.getSelectedItem()); String selectedAudioMimeType = String.valueOf(audioMimeSpinner.getSelectedItem());
if (!SAME_AS_INPUT_OPTION.equals(selectedAudioMimeType)) { if (!SAME_AS_INPUT_OPTION.equals(selectedAudioMimeType)) {
bundle.putString(AUDIO_MIME_TYPE, selectedAudioMimeType); bundle.putString(AUDIO_MIME_TYPE, selectedAudioMimeType);
@ -357,9 +432,11 @@ public final class ConfigurationActivity extends AppCompatActivity {
} }
bundle.putBoolean(ENABLE_FALLBACK, enableFallbackCheckBox.isChecked()); bundle.putBoolean(ENABLE_FALLBACK, enableFallbackCheckBox.isChecked());
bundle.putBoolean(ENABLE_DEBUG_PREVIEW, enableDebugPreviewCheckBox.isChecked()); bundle.putBoolean(ENABLE_DEBUG_PREVIEW, enableDebugPreviewCheckBox.isChecked());
bundle.putBoolean(ABORT_SLOW_TRANSFORMATION, abortSlowTransformationCheckBox.isChecked());
String selectedhdrMode = String.valueOf(hdrModeSpinner.getSelectedItem()); String selectedhdrMode = String.valueOf(hdrModeSpinner.getSelectedItem());
bundle.putInt(HDR_MODE, checkNotNull(HDR_MODE_DESCRIPTIONS.get(selectedhdrMode))); bundle.putInt(HDR_MODE, checkNotNull(HDR_MODE_DESCRIPTIONS.get(selectedhdrMode)));
bundle.putBooleanArray(DEMO_EFFECTS_SELECTIONS, demoEffectsSelections); bundle.putBooleanArray(AUDIO_EFFECTS_SELECTIONS, audioEffectsSelections);
bundle.putBooleanArray(VIDEO_EFFECTS_SELECTIONS, videoEffectsSelections);
bundle.putInt(COLOR_FILTER_SELECTION, colorFilterSelection); bundle.putInt(COLOR_FILTER_SELECTION, colorFilterSelection);
bundle.putFloat(CONTRAST_VALUE, contrastValue); bundle.putFloat(CONTRAST_VALUE, contrastValue);
bundle.putFloat(RGB_ADJUSTMENT_RED_SCALE, rgbAdjustmentRedScale); bundle.putFloat(RGB_ADJUSTMENT_RED_SCALE, rgbAdjustmentRedScale);
@ -372,6 +449,11 @@ public final class ConfigurationActivity extends AppCompatActivity {
bundle.putFloat(PERIODIC_VIGNETTE_CENTER_Y, periodicVignetteCenterY); bundle.putFloat(PERIODIC_VIGNETTE_CENTER_Y, periodicVignetteCenterY);
bundle.putFloat(PERIODIC_VIGNETTE_INNER_RADIUS, periodicVignetteInnerRadius); bundle.putFloat(PERIODIC_VIGNETTE_INNER_RADIUS, periodicVignetteInnerRadius);
bundle.putFloat(PERIODIC_VIGNETTE_OUTER_RADIUS, periodicVignetteOuterRadius); bundle.putFloat(PERIODIC_VIGNETTE_OUTER_RADIUS, periodicVignetteOuterRadius);
bundle.putString(BITMAP_OVERLAY_URI, bitmapOverlayUri);
bundle.putFloat(BITMAP_OVERLAY_ALPHA, bitmapOverlayAlpha);
bundle.putString(TEXT_OVERLAY_TEXT, textOverlayText);
bundle.putInt(TEXT_OVERLAY_TEXT_COLOR, textOverlayTextColor);
bundle.putFloat(TEXT_OVERLAY_ALPHA, textOverlayAlpha);
transformerIntent.putExtras(bundle); transformerIntent.putExtras(bundle);
@Nullable Uri intentUri; @Nullable Uri intentUri;
@ -432,11 +514,21 @@ public final class ConfigurationActivity extends AppCompatActivity {
} }
} }
private void selectDemoEffects(View view) { private void selectAudioEffects(View view) {
new AlertDialog.Builder(/* context= */ this) new AlertDialog.Builder(/* context= */ this)
.setTitle(R.string.select_demo_effects) .setTitle(R.string.select_audio_effects)
.setMultiChoiceItems( .setMultiChoiceItems(
DEMO_EFFECTS, checkNotNull(demoEffectsSelections), this::selectDemoEffect) AUDIO_EFFECTS, checkNotNull(audioEffectsSelections), this::selectAudioEffect)
.setPositiveButton(android.R.string.ok, /* listener= */ null)
.create()
.show();
}
private void selectVideoEffects(View view) {
new AlertDialog.Builder(/* context= */ this)
.setTitle(R.string.select_video_effects)
.setMultiChoiceItems(
VIDEO_EFFECTS, checkNotNull(videoEffectsSelections), this::selectVideoEffect)
.setPositiveButton(android.R.string.ok, /* listener= */ null) .setPositiveButton(android.R.string.ok, /* listener= */ null)
.create() .create()
.show(); .show();
@ -463,9 +555,14 @@ public final class ConfigurationActivity extends AppCompatActivity {
.show(); .show();
} }
@RequiresNonNull("demoEffectsSelections") @RequiresNonNull("audioEffectsSelections")
private void selectDemoEffect(DialogInterface dialog, int which, boolean isChecked) { private void selectAudioEffect(DialogInterface dialog, int which, boolean isChecked) {
demoEffectsSelections[which] = isChecked; audioEffectsSelections[which] = isChecked;
}
@RequiresNonNull("videoEffectsSelections")
private void selectVideoEffect(DialogInterface dialog, int which, boolean isChecked) {
videoEffectsSelections[which] = isChecked;
if (!isChecked) { if (!isChecked) {
return; return;
} }
@ -486,6 +583,12 @@ public final class ConfigurationActivity extends AppCompatActivity {
case PERIODIC_VIGNETTE_INDEX: case PERIODIC_VIGNETTE_INDEX:
controlPeriodicVignetteSettings(); controlPeriodicVignetteSettings();
break; break;
case BITMAP_OVERLAY_INDEX:
controlBitmapOverlaySettings();
break;
case TEXT_OVERLAY_INDEX:
controlTextOverlaySettings();
break;
} }
} }
@ -588,8 +691,54 @@ public final class ConfigurationActivity extends AppCompatActivity {
.show(); .show();
} }
private void controlBitmapOverlaySettings() {
View dialogView =
getLayoutInflater().inflate(R.layout.bitmap_overlay_options, /* root= */ null);
EditText uriEditText = checkNotNull(dialogView.findViewById(R.id.bitmap_overlay_uri));
Slider alphaSlider = checkNotNull(dialogView.findViewById(R.id.bitmap_overlay_alpha_slider));
new AlertDialog.Builder(/* context= */ this)
.setTitle(R.string.bitmap_overlay_settings)
.setView(dialogView)
.setPositiveButton(
android.R.string.ok,
(DialogInterface dialogInterface, int i) -> {
bitmapOverlayUri = uriEditText.getText().toString();
bitmapOverlayAlpha = alphaSlider.getValue();
})
.create()
.show();
}
private void controlTextOverlaySettings() {
View dialogView = getLayoutInflater().inflate(R.layout.text_overlay_options, /* root= */ null);
EditText textEditText = checkNotNull(dialogView.findViewById(R.id.text_overlay_text));
ArrayAdapter<String> textColorAdapter =
new ArrayAdapter<>(/* context= */ this, R.layout.spinner_item);
textColorAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
Spinner textColorSpinner = checkNotNull(dialogView.findViewById(R.id.text_overlay_text_color));
textColorSpinner.setAdapter(textColorAdapter);
textColorAdapter.addAll(OVERLAY_COLORS.keySet());
Slider alphaSlider = checkNotNull(dialogView.findViewById(R.id.text_overlay_alpha_slider));
new AlertDialog.Builder(/* context= */ this)
.setTitle(R.string.bitmap_overlay_settings)
.setView(dialogView)
.setPositiveButton(
android.R.string.ok,
(DialogInterface dialogInterface, int i) -> {
textOverlayText = textEditText.getText().toString();
String selectedTextColor = String.valueOf(textColorSpinner.getSelectedItem());
textOverlayTextColor = checkNotNull(OVERLAY_COLORS.get(selectedTextColor));
textOverlayAlpha = alphaSlider.getValue();
})
.create()
.show();
}
@RequiresNonNull({ @RequiresNonNull({
"removeVideoCheckbox", "removeVideoCheckbox",
"forceSilentAudioCheckbox",
"audioMimeSpinner", "audioMimeSpinner",
"videoMimeSpinner", "videoMimeSpinner",
"resolutionHeightSpinner", "resolutionHeightSpinner",
@ -597,7 +746,8 @@ public final class ConfigurationActivity extends AppCompatActivity {
"rotateSpinner", "rotateSpinner",
"enableDebugPreviewCheckBox", "enableDebugPreviewCheckBox",
"hdrModeSpinner", "hdrModeSpinner",
"selectDemoEffectsButton" "selectAudioEffectsButton",
"selectVideoEffectsButton"
}) })
private void onRemoveAudio(View view) { private void onRemoveAudio(View view) {
if (((CheckBox) view).isChecked()) { if (((CheckBox) view).isChecked()) {
@ -610,6 +760,7 @@ public final class ConfigurationActivity extends AppCompatActivity {
@RequiresNonNull({ @RequiresNonNull({
"removeAudioCheckbox", "removeAudioCheckbox",
"forceSilentAudioCheckbox",
"audioMimeSpinner", "audioMimeSpinner",
"videoMimeSpinner", "videoMimeSpinner",
"resolutionHeightSpinner", "resolutionHeightSpinner",
@ -617,7 +768,8 @@ public final class ConfigurationActivity extends AppCompatActivity {
"rotateSpinner", "rotateSpinner",
"enableDebugPreviewCheckBox", "enableDebugPreviewCheckBox",
"hdrModeSpinner", "hdrModeSpinner",
"selectDemoEffectsButton" "selectAudioEffectsButton",
"selectVideoEffectsButton"
}) })
private void onRemoveVideo(View view) { private void onRemoveVideo(View view) {
if (((CheckBox) view).isChecked()) { if (((CheckBox) view).isChecked()) {
@ -629,6 +781,7 @@ public final class ConfigurationActivity extends AppCompatActivity {
} }
@RequiresNonNull({ @RequiresNonNull({
"forceSilentAudioCheckbox",
"audioMimeSpinner", "audioMimeSpinner",
"videoMimeSpinner", "videoMimeSpinner",
"resolutionHeightSpinner", "resolutionHeightSpinner",
@ -636,9 +789,11 @@ public final class ConfigurationActivity extends AppCompatActivity {
"rotateSpinner", "rotateSpinner",
"enableDebugPreviewCheckBox", "enableDebugPreviewCheckBox",
"hdrModeSpinner", "hdrModeSpinner",
"selectDemoEffectsButton" "selectAudioEffectsButton",
"selectVideoEffectsButton"
}) })
private void enableTrackSpecificOptions(boolean isAudioEnabled, boolean isVideoEnabled) { private void enableTrackSpecificOptions(boolean isAudioEnabled, boolean isVideoEnabled) {
forceSilentAudioCheckbox.setEnabled(isVideoEnabled);
audioMimeSpinner.setEnabled(isAudioEnabled); audioMimeSpinner.setEnabled(isAudioEnabled);
videoMimeSpinner.setEnabled(isVideoEnabled); videoMimeSpinner.setEnabled(isVideoEnabled);
resolutionHeightSpinner.setEnabled(isVideoEnabled); resolutionHeightSpinner.setEnabled(isVideoEnabled);
@ -646,7 +801,8 @@ public final class ConfigurationActivity extends AppCompatActivity {
rotateSpinner.setEnabled(isVideoEnabled); rotateSpinner.setEnabled(isVideoEnabled);
enableDebugPreviewCheckBox.setEnabled(isVideoEnabled); enableDebugPreviewCheckBox.setEnabled(isVideoEnabled);
hdrModeSpinner.setEnabled(isVideoEnabled); hdrModeSpinner.setEnabled(isVideoEnabled);
selectDemoEffectsButton.setEnabled(isVideoEnabled); selectAudioEffectsButton.setEnabled(isAudioEnabled);
selectVideoEffectsButton.setEnabled(isVideoEnabled);
findViewById(R.id.audio_mime_text_view).setEnabled(isAudioEnabled); findViewById(R.id.audio_mime_text_view).setEnabled(isAudioEnabled);
findViewById(R.id.video_mime_text_view).setEnabled(isVideoEnabled); findViewById(R.id.video_mime_text_view).setEnabled(isVideoEnabled);

View File

@ -19,11 +19,11 @@ import static com.google.android.exoplayer2.util.Assertions.checkArgument;
import android.content.Context; import android.content.Context;
import android.opengl.GLES20; import android.opengl.GLES20;
import android.util.Pair;
import com.google.android.exoplayer2.effect.SingleFrameGlTextureProcessor; import com.google.android.exoplayer2.effect.SingleFrameGlTextureProcessor;
import com.google.android.exoplayer2.util.FrameProcessingException; import com.google.android.exoplayer2.util.FrameProcessingException;
import com.google.android.exoplayer2.util.GlProgram; import com.google.android.exoplayer2.util.GlProgram;
import com.google.android.exoplayer2.util.GlUtil; import com.google.android.exoplayer2.util.GlUtil;
import com.google.android.exoplayer2.util.Size;
import java.io.IOException; import java.io.IOException;
/** /**
@ -90,8 +90,8 @@ import java.io.IOException;
} }
@Override @Override
public Pair<Integer, Integer> configure(int inputWidth, int inputHeight) { public Size configure(int inputWidth, int inputHeight) {
return Pair.create(inputWidth, inputHeight); return new Size(inputWidth, inputHeight);
} }
@Override @Override

View File

@ -0,0 +1,66 @@
/*
* Copyright 2022 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 android.graphics.Color;
import android.opengl.Matrix;
import android.text.Spannable;
import android.text.SpannableString;
import android.text.style.ForegroundColorSpan;
import com.google.android.exoplayer2.C;
import com.google.android.exoplayer2.effect.OverlaySettings;
import com.google.android.exoplayer2.effect.TextOverlay;
import com.google.android.exoplayer2.effect.TextureOverlay;
import com.google.android.exoplayer2.util.GlUtil;
import java.util.Locale;
/**
* A {@link TextureOverlay} that displays a "time elapsed" timer in the bottom left corner of the
* frame.
*/
/* package */ final class TimerOverlay extends TextOverlay {
private final OverlaySettings overlaySettings;
public TimerOverlay() {
float[] positioningMatrix = GlUtil.create4x4IdentityMatrix();
Matrix.translateM(
positioningMatrix, /* mOffset= */ 0, /* x= */ -0.7f, /* y= */ -0.95f, /* z= */ 1);
overlaySettings =
new OverlaySettings.Builder()
.setAnchor(/* x= */ -1f, /* y= */ -1f)
.setMatrix(positioningMatrix)
.build();
}
@Override
public SpannableString getText(long presentationTimeUs) {
SpannableString text =
new SpannableString(
String.format(Locale.US, "%.02f", presentationTimeUs / (float) C.MICROS_PER_SECOND));
text.setSpan(
new ForegroundColorSpan(Color.WHITE),
/* start= */ 0,
text.length(),
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
return text;
}
@Override
public OverlaySettings getOverlaySettings(long presentationTimeUs) {
return overlaySettings;
}
}

View File

@ -16,17 +16,24 @@
package com.google.android.exoplayer2.transformerdemo; package com.google.android.exoplayer2.transformerdemo;
import static android.Manifest.permission.READ_EXTERNAL_STORAGE; import static android.Manifest.permission.READ_EXTERNAL_STORAGE;
import static com.google.android.exoplayer2.transformer.Transformer.PROGRESS_STATE_NOT_STARTED;
import static com.google.android.exoplayer2.util.Assertions.checkNotNull; import static com.google.android.exoplayer2.util.Assertions.checkNotNull;
import static com.google.android.exoplayer2.util.Assertions.checkState; import static com.google.android.exoplayer2.util.Assertions.checkState;
import static com.google.android.exoplayer2.util.Assertions.checkStateNotNull;
import android.app.Activity; import android.app.Activity;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.graphics.Color; import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.net.Uri; import android.net.Uri;
import android.opengl.Matrix;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
import android.text.Spannable;
import android.text.SpannableString;
import android.text.style.ForegroundColorSpan;
import android.view.SurfaceHolder; import android.view.SurfaceHolder;
import android.view.SurfaceView; import android.view.SurfaceView;
import android.view.View; import android.view.View;
@ -40,15 +47,25 @@ import androidx.appcompat.app.AppCompatActivity;
import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.C;
import com.google.android.exoplayer2.ExoPlayer; import com.google.android.exoplayer2.ExoPlayer;
import com.google.android.exoplayer2.MediaItem; import com.google.android.exoplayer2.MediaItem;
import com.google.android.exoplayer2.audio.AudioProcessor;
import com.google.android.exoplayer2.audio.SilenceSkippingAudioProcessor;
import com.google.android.exoplayer2.audio.SonicAudioProcessor;
import com.google.android.exoplayer2.effect.BitmapOverlay;
import com.google.android.exoplayer2.effect.Contrast; import com.google.android.exoplayer2.effect.Contrast;
import com.google.android.exoplayer2.effect.DrawableOverlay;
import com.google.android.exoplayer2.effect.GlEffect; import com.google.android.exoplayer2.effect.GlEffect;
import com.google.android.exoplayer2.effect.GlTextureProcessor; import com.google.android.exoplayer2.effect.GlTextureProcessor;
import com.google.android.exoplayer2.effect.HslAdjustment; import com.google.android.exoplayer2.effect.HslAdjustment;
import com.google.android.exoplayer2.effect.OverlayEffect;
import com.google.android.exoplayer2.effect.OverlaySettings;
import com.google.android.exoplayer2.effect.RgbAdjustment; import com.google.android.exoplayer2.effect.RgbAdjustment;
import com.google.android.exoplayer2.effect.RgbFilter; import com.google.android.exoplayer2.effect.RgbFilter;
import com.google.android.exoplayer2.effect.RgbMatrix; import com.google.android.exoplayer2.effect.RgbMatrix;
import com.google.android.exoplayer2.effect.SingleColorLut; import com.google.android.exoplayer2.effect.SingleColorLut;
import com.google.android.exoplayer2.effect.TextOverlay;
import com.google.android.exoplayer2.effect.TextureOverlay;
import com.google.android.exoplayer2.transformer.DefaultEncoderFactory; import com.google.android.exoplayer2.transformer.DefaultEncoderFactory;
import com.google.android.exoplayer2.transformer.DefaultMuxer;
import com.google.android.exoplayer2.transformer.ProgressHolder; import com.google.android.exoplayer2.transformer.ProgressHolder;
import com.google.android.exoplayer2.transformer.TransformationException; import com.google.android.exoplayer2.transformer.TransformationException;
import com.google.android.exoplayer2.transformer.TransformationRequest; import com.google.android.exoplayer2.transformer.TransformationRequest;
@ -59,6 +76,7 @@ import com.google.android.exoplayer2.ui.StyledPlayerView;
import com.google.android.exoplayer2.util.DebugTextViewHelper; import com.google.android.exoplayer2.util.DebugTextViewHelper;
import com.google.android.exoplayer2.util.DebugViewProvider; import com.google.android.exoplayer2.util.DebugViewProvider;
import com.google.android.exoplayer2.util.Effect; import com.google.android.exoplayer2.util.Effect;
import com.google.android.exoplayer2.util.GlUtil;
import com.google.android.exoplayer2.util.Log; import com.google.android.exoplayer2.util.Log;
import com.google.android.exoplayer2.util.Util; import com.google.android.exoplayer2.util.Util;
import com.google.android.material.card.MaterialCardView; import com.google.android.material.card.MaterialCardView;
@ -179,19 +197,24 @@ public final class TransformerActivity extends AppCompatActivity {
Uri uri = checkNotNull(intent.getData()); Uri uri = checkNotNull(intent.getData());
try { try {
externalCacheFile = createExternalCacheFile("transformer-output.mp4"); externalCacheFile = createExternalCacheFile("transformer-output.mp4");
String filePath = externalCacheFile.getAbsolutePath(); } catch (IOException e) {
@Nullable Bundle bundle = intent.getExtras(); throw new IllegalStateException(e);
MediaItem mediaItem = createMediaItem(bundle, uri); }
String filePath = externalCacheFile.getAbsolutePath();
@Nullable Bundle bundle = intent.getExtras();
MediaItem mediaItem = createMediaItem(bundle, uri);
try {
Transformer transformer = createTransformer(bundle, filePath); Transformer transformer = createTransformer(bundle, filePath);
transformationStopwatch.start(); transformationStopwatch.start();
transformer.startTransformation(mediaItem, filePath); transformer.startTransformation(mediaItem, filePath);
this.transformer = transformer; this.transformer = transformer;
} catch (IOException e) { } catch (PackageManager.NameNotFoundException e) {
throw new IllegalStateException(e); throw new IllegalStateException(e);
} }
informationTextView.setText(R.string.transformation_started);
inputCardView.setVisibility(View.GONE); inputCardView.setVisibility(View.GONE);
outputPlayerView.setVisibility(View.GONE); outputPlayerView.setVisibility(View.GONE);
informationTextView.setText(R.string.transformation_started);
progressViewGroup.setVisibility(View.VISIBLE);
Handler mainHandler = new Handler(getMainLooper()); Handler mainHandler = new Handler(getMainLooper());
ProgressHolder progressHolder = new ProgressHolder(); ProgressHolder progressHolder = new ProgressHolder();
mainHandler.post( mainHandler.post(
@ -199,8 +222,7 @@ public final class TransformerActivity extends AppCompatActivity {
@Override @Override
public void run() { public void run() {
if (transformer != null if (transformer != null
&& transformer.getProgress(progressHolder) && transformer.getProgress(progressHolder) != PROGRESS_STATE_NOT_STARTED) {
!= Transformer.PROGRESS_STATE_NO_TRANSFORMATION) {
progressIndicator.setProgress(progressHolder.progress); progressIndicator.setProgress(progressHolder.progress);
informationTextView.setText( informationTextView.setText(
getString( getString(
@ -241,7 +263,8 @@ public final class TransformerActivity extends AppCompatActivity {
"progressViewGroup", "progressViewGroup",
"debugFrame", "debugFrame",
}) })
private Transformer createTransformer(@Nullable Bundle bundle, String filePath) { private Transformer createTransformer(@Nullable Bundle bundle, String filePath)
throws PackageManager.NameNotFoundException {
Transformer.Builder transformerBuilder = new Transformer.Builder(/* context= */ this); Transformer.Builder transformerBuilder = new Transformer.Builder(/* context= */ this);
if (bundle != null) { if (bundle != null) {
TransformationRequest.Builder requestBuilder = new TransformationRequest.Builder(); TransformationRequest.Builder requestBuilder = new TransformationRequest.Builder();
@ -274,29 +297,40 @@ public final class TransformerActivity extends AppCompatActivity {
.setTransformationRequest(requestBuilder.build()) .setTransformationRequest(requestBuilder.build())
.setRemoveAudio(bundle.getBoolean(ConfigurationActivity.SHOULD_REMOVE_AUDIO)) .setRemoveAudio(bundle.getBoolean(ConfigurationActivity.SHOULD_REMOVE_AUDIO))
.setRemoveVideo(bundle.getBoolean(ConfigurationActivity.SHOULD_REMOVE_VIDEO)) .setRemoveVideo(bundle.getBoolean(ConfigurationActivity.SHOULD_REMOVE_VIDEO))
.experimentalSetForceSilentAudio(
bundle.getBoolean(ConfigurationActivity.FORCE_SILENT_AUDIO))
.setEncoderFactory( .setEncoderFactory(
new DefaultEncoderFactory.Builder(this.getApplicationContext()) new DefaultEncoderFactory.Builder(this.getApplicationContext())
.setEnableFallback(bundle.getBoolean(ConfigurationActivity.ENABLE_FALLBACK)) .setEnableFallback(bundle.getBoolean(ConfigurationActivity.ENABLE_FALLBACK))
.build()); .build());
transformerBuilder.setVideoEffects(createVideoEffectsListFromBundle(bundle)); transformerBuilder.setAudioProcessors(createAudioProcessorsFromBundle(bundle));
transformerBuilder.setVideoEffects(createVideoEffectsFromBundle(bundle));
if (bundle.getBoolean(ConfigurationActivity.ENABLE_DEBUG_PREVIEW)) { if (bundle.getBoolean(ConfigurationActivity.ENABLE_DEBUG_PREVIEW)) {
transformerBuilder.setDebugViewProvider(new DemoDebugViewProvider()); transformerBuilder.setDebugViewProvider(new DemoDebugViewProvider());
} }
if (!bundle.getBoolean(ConfigurationActivity.ABORT_SLOW_TRANSFORMATION)) {
transformerBuilder.setMuxerFactory(
new DefaultMuxer.Factory(/* maxDelayBetweenSamplesMs= */ C.TIME_UNSET));
}
} }
return transformerBuilder return transformerBuilder
.addListener( .addListener(
new Transformer.Listener() { new Transformer.Listener() {
@Override @Override
public void onTransformationCompleted( public void onTransformationCompleted(
MediaItem mediaItem, TransformationResult transformationResult) { MediaItem mediaItem, TransformationResult result) {
TransformerActivity.this.onTransformationCompleted(filePath, mediaItem); TransformerActivity.this.onTransformationCompleted(filePath, mediaItem);
} }
@Override @Override
public void onTransformationError( public void onTransformationError(
MediaItem mediaItem, TransformationException exception) { MediaItem mediaItem,
TransformationResult result,
TransformationException exception) {
TransformerActivity.this.onTransformationError(exception); TransformerActivity.this.onTransformationError(exception);
} }
}) })
@ -315,18 +349,48 @@ public final class TransformerActivity extends AppCompatActivity {
return file; return file;
} }
private ImmutableList<Effect> createVideoEffectsListFromBundle(Bundle bundle) { private ImmutableList<AudioProcessor> createAudioProcessorsFromBundle(Bundle bundle) {
@Nullable @Nullable
boolean[] selectedEffects = boolean[] selectedAudioEffects =
bundle.getBooleanArray(ConfigurationActivity.DEMO_EFFECTS_SELECTIONS); bundle.getBooleanArray(ConfigurationActivity.AUDIO_EFFECTS_SELECTIONS);
if (selectedEffects == null) {
if (selectedAudioEffects == null) {
return ImmutableList.of(); return ImmutableList.of();
} }
ImmutableList.Builder<AudioProcessor> processors = new ImmutableList.Builder<>();
if (selectedAudioEffects[ConfigurationActivity.HIGH_PITCHED_INDEX]
|| selectedAudioEffects[ConfigurationActivity.SAMPLE_RATE_INDEX]) {
SonicAudioProcessor sonicAudioProcessor = new SonicAudioProcessor();
if (selectedAudioEffects[ConfigurationActivity.HIGH_PITCHED_INDEX]) {
sonicAudioProcessor.setPitch(2f);
}
if (selectedAudioEffects[ConfigurationActivity.SAMPLE_RATE_INDEX]) {
sonicAudioProcessor.setOutputSampleRateHz(48_000);
}
processors.add(sonicAudioProcessor);
}
if (selectedAudioEffects[ConfigurationActivity.SKIP_SILENCE_INDEX]) {
SilenceSkippingAudioProcessor silenceSkippingAudioProcessor =
new SilenceSkippingAudioProcessor();
silenceSkippingAudioProcessor.setEnabled(true);
processors.add(silenceSkippingAudioProcessor);
}
return processors.build();
}
private ImmutableList<Effect> createVideoEffectsFromBundle(Bundle bundle)
throws PackageManager.NameNotFoundException {
boolean[] selectedEffects =
checkStateNotNull(bundle.getBooleanArray(ConfigurationActivity.VIDEO_EFFECTS_SELECTIONS));
ImmutableList.Builder<Effect> effects = new ImmutableList.Builder<>(); ImmutableList.Builder<Effect> effects = new ImmutableList.Builder<>();
if (selectedEffects[0]) { if (selectedEffects[ConfigurationActivity.DIZZY_CROP_INDEX]) {
effects.add(MatrixTransformationFactory.createDizzyCropEffect()); effects.add(MatrixTransformationFactory.createDizzyCropEffect());
} }
if (selectedEffects[1]) { if (selectedEffects[ConfigurationActivity.EDGE_DETECTOR_INDEX]) {
try { try {
Class<?> clazz = Class<?> clazz =
Class.forName("com.google.android.exoplayer2.transformerdemo.MediaPipeProcessor"); Class.forName("com.google.android.exoplayer2.transformerdemo.MediaPipeProcessor");
@ -359,7 +423,7 @@ public final class TransformerActivity extends AppCompatActivity {
showToast(R.string.no_media_pipe_error); showToast(R.string.no_media_pipe_error);
} }
} }
if (selectedEffects[2]) { if (selectedEffects[ConfigurationActivity.COLOR_FILTERS_INDEX]) {
switch (bundle.getInt(ConfigurationActivity.COLOR_FILTER_SELECTION)) { switch (bundle.getInt(ConfigurationActivity.COLOR_FILTER_SELECTION)) {
case ConfigurationActivity.COLOR_FILTER_GRAYSCALE: case ConfigurationActivity.COLOR_FILTER_GRAYSCALE:
effects.add(RgbFilter.createGrayscaleFilter()); effects.add(RgbFilter.createGrayscaleFilter());
@ -385,7 +449,7 @@ public final class TransformerActivity extends AppCompatActivity {
+ bundle.getInt(ConfigurationActivity.COLOR_FILTER_SELECTION)); + bundle.getInt(ConfigurationActivity.COLOR_FILTER_SELECTION));
} }
} }
if (selectedEffects[3]) { if (selectedEffects[ConfigurationActivity.MAP_WHITE_TO_GREEN_LUT_INDEX]) {
int length = 3; int length = 3;
int[][][] mapWhiteToGreenLut = new int[length][length][length]; int[][][] mapWhiteToGreenLut = new int[length][length][length];
int scale = 255 / (length - 1); int scale = 255 / (length - 1);
@ -400,7 +464,7 @@ public final class TransformerActivity extends AppCompatActivity {
mapWhiteToGreenLut[length - 1][length - 1][length - 1] = Color.GREEN; mapWhiteToGreenLut[length - 1][length - 1][length - 1] = Color.GREEN;
effects.add(SingleColorLut.createFromCube(mapWhiteToGreenLut)); effects.add(SingleColorLut.createFromCube(mapWhiteToGreenLut));
} }
if (selectedEffects[4]) { if (selectedEffects[ConfigurationActivity.RGB_ADJUSTMENTS_INDEX]) {
effects.add( effects.add(
new RgbAdjustment.Builder() new RgbAdjustment.Builder()
.setRedScale(bundle.getFloat(ConfigurationActivity.RGB_ADJUSTMENT_RED_SCALE)) .setRedScale(bundle.getFloat(ConfigurationActivity.RGB_ADJUSTMENT_RED_SCALE))
@ -408,7 +472,7 @@ public final class TransformerActivity extends AppCompatActivity {
.setBlueScale(bundle.getFloat(ConfigurationActivity.RGB_ADJUSTMENT_BLUE_SCALE)) .setBlueScale(bundle.getFloat(ConfigurationActivity.RGB_ADJUSTMENT_BLUE_SCALE))
.build()); .build());
} }
if (selectedEffects[5]) { if (selectedEffects[ConfigurationActivity.HSL_ADJUSTMENT_INDEX]) {
effects.add( effects.add(
new HslAdjustment.Builder() new HslAdjustment.Builder()
.adjustHue(bundle.getFloat(ConfigurationActivity.HSL_ADJUSTMENTS_HUE)) .adjustHue(bundle.getFloat(ConfigurationActivity.HSL_ADJUSTMENTS_HUE))
@ -416,10 +480,10 @@ public final class TransformerActivity extends AppCompatActivity {
.adjustLightness(bundle.getFloat(ConfigurationActivity.HSL_ADJUSTMENTS_LIGHTNESS)) .adjustLightness(bundle.getFloat(ConfigurationActivity.HSL_ADJUSTMENTS_LIGHTNESS))
.build()); .build());
} }
if (selectedEffects[6]) { if (selectedEffects[ConfigurationActivity.CONTRAST_INDEX]) {
effects.add(new Contrast(bundle.getFloat(ConfigurationActivity.CONTRAST_VALUE))); effects.add(new Contrast(bundle.getFloat(ConfigurationActivity.CONTRAST_VALUE)));
} }
if (selectedEffects[7]) { if (selectedEffects[ConfigurationActivity.PERIODIC_VIGNETTE_INDEX]) {
effects.add( effects.add(
(GlEffect) (GlEffect)
(Context context, boolean useHdr) -> (Context context, boolean useHdr) ->
@ -434,18 +498,76 @@ public final class TransformerActivity extends AppCompatActivity {
ConfigurationActivity.PERIODIC_VIGNETTE_OUTER_RADIUS), ConfigurationActivity.PERIODIC_VIGNETTE_OUTER_RADIUS),
bundle.getFloat(ConfigurationActivity.PERIODIC_VIGNETTE_OUTER_RADIUS))); bundle.getFloat(ConfigurationActivity.PERIODIC_VIGNETTE_OUTER_RADIUS)));
} }
if (selectedEffects[8]) { if (selectedEffects[ConfigurationActivity.SPIN_3D_INDEX]) {
effects.add(MatrixTransformationFactory.createSpin3dEffect()); effects.add(MatrixTransformationFactory.createSpin3dEffect());
} }
if (selectedEffects[9]) { if (selectedEffects[ConfigurationActivity.ZOOM_IN_INDEX]) {
effects.add((GlEffect) BitmapOverlayProcessor::new);
}
if (selectedEffects[10]) {
effects.add(MatrixTransformationFactory.createZoomInTransition()); effects.add(MatrixTransformationFactory.createZoomInTransition());
} }
@Nullable OverlayEffect overlayEffect = createOverlayEffectFromBundle(bundle, selectedEffects);
if (overlayEffect != null) {
effects.add(overlayEffect);
}
return effects.build(); return effects.build();
} }
@Nullable
private OverlayEffect createOverlayEffectFromBundle(Bundle bundle, boolean[] selectedEffects)
throws PackageManager.NameNotFoundException {
ImmutableList.Builder<TextureOverlay> overlaysBuilder = new ImmutableList.Builder<>();
if (selectedEffects[ConfigurationActivity.OVERLAY_LOGO_AND_TIMER_INDEX]) {
float[] logoPositioningMatrix = GlUtil.create4x4IdentityMatrix();
Matrix.translateM(
logoPositioningMatrix, /* mOffset= */ 0, /* x= */ -0.95f, /* y= */ -0.95f, /* z= */ 1);
OverlaySettings logoSettings =
new OverlaySettings.Builder()
.setMatrix(logoPositioningMatrix)
.setAnchor(/* x= */ -1f, /* y= */ -1f)
.build();
Drawable logo = getPackageManager().getApplicationIcon(getPackageName());
logo.setBounds(
/* left= */ 0, /* top= */ 0, logo.getIntrinsicWidth(), logo.getIntrinsicHeight());
TextureOverlay logoOverlay = DrawableOverlay.createStaticDrawableOverlay(logo, logoSettings);
TextureOverlay timerOverlay = new TimerOverlay();
overlaysBuilder.add(logoOverlay, timerOverlay);
}
if (selectedEffects[ConfigurationActivity.BITMAP_OVERLAY_INDEX]) {
OverlaySettings overlaySettings =
new OverlaySettings.Builder()
.setAlpha(
bundle.getFloat(
ConfigurationActivity.BITMAP_OVERLAY_ALPHA, /* defaultValue= */ 1))
.build();
BitmapOverlay bitmapOverlay =
BitmapOverlay.createStaticBitmapOverlay(
Uri.parse(checkNotNull(bundle.getString(ConfigurationActivity.BITMAP_OVERLAY_URI))),
overlaySettings);
overlaysBuilder.add(bitmapOverlay);
}
if (selectedEffects[ConfigurationActivity.TEXT_OVERLAY_INDEX]) {
OverlaySettings overlaySettings =
new OverlaySettings.Builder()
.setAlpha(
bundle.getFloat(ConfigurationActivity.TEXT_OVERLAY_ALPHA, /* defaultValue= */ 1))
.build();
SpannableString overlayText =
new SpannableString(
checkNotNull(bundle.getString(ConfigurationActivity.TEXT_OVERLAY_TEXT)));
overlayText.setSpan(
new ForegroundColorSpan(bundle.getInt(ConfigurationActivity.TEXT_OVERLAY_TEXT_COLOR)),
/* start= */ 0,
overlayText.length(),
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
TextOverlay textOverlay = TextOverlay.createStaticTextOverlay(overlayText, overlaySettings);
overlaysBuilder.add(textOverlay);
}
ImmutableList<TextureOverlay> overlays = overlaysBuilder.build();
return overlays.isEmpty() ? null : new OverlayEffect(overlays);
}
@RequiresNonNull({ @RequiresNonNull({
"informationTextView", "informationTextView",
"progressViewGroup", "progressViewGroup",
@ -453,7 +575,9 @@ public final class TransformerActivity extends AppCompatActivity {
"transformationStopwatch", "transformationStopwatch",
}) })
private void onTransformationError(TransformationException exception) { private void onTransformationError(TransformationException exception) {
transformationStopwatch.stop(); if (transformationStopwatch.isRunning()) {
transformationStopwatch.stop();
}
informationTextView.setText(R.string.transformation_error); informationTextView.setText(R.string.transformation_error);
progressViewGroup.setVisibility(View.GONE); progressViewGroup.setVisibility(View.GONE);
debugFrame.removeAllViews(); debugFrame.removeAllViews();

View File

@ -0,0 +1,59 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Copyright 2022 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="fill_parent"
android:layout_height="fill_parent"
tools:context=".ConfigurationActivity">
<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/overlay_uri" />
<EditText
android:id="@+id/bitmap_overlay_uri"
android:inputType="textUri|textMultiLine"
android:layout_width="0dp"
android:layout_height="wrap_content" />
</TableRow>
<TableRow
android:layout_weight="1"
android:gravity="center_vertical" >
<TextView android:text="@string/overlay_alpha" />
<com.google.android.material.slider.Slider
android:id="@+id/bitmap_overlay_alpha_slider"
android:valueFrom="0"
android:value="1"
android:valueTo="1"
android:layout_gravity="right|center_vertical"/>
</TableRow>
</TableLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -75,7 +75,7 @@
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/selected_file_text_view" app:layout_constraintTop_toBottomOf="@+id/selected_file_text_view"
app:layout_constraintBottom_toTopOf="@+id/select_demo_effects_button"> app:layout_constraintBottom_toTopOf="@+id/select_audio_effects_button">
<TableLayout <TableLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -112,6 +112,15 @@
android:id="@+id/flatten_for_slow_motion_checkbox" android:id="@+id/flatten_for_slow_motion_checkbox"
android:layout_gravity="end" /> android:layout_gravity="end" />
</TableRow> </TableRow>
<TableRow
android:layout_weight="1">
<TextView
android:layout_gravity="center_vertical"
android:text="@string/force_silent_audio" />
<CheckBox
android:id="@+id/force_silent_audio_checkbox"
android:layout_gravity="end" />
</TableRow>
<TableRow <TableRow
android:layout_weight="1" android:layout_weight="1"
android:gravity="center_vertical" > android:gravity="center_vertical" >
@ -197,6 +206,15 @@
android:layout_gravity="end" android:layout_gravity="end"
android:checked="true"/> android:checked="true"/>
</TableRow> </TableRow>
<TableRow
android:layout_weight="1">
<TextView
android:layout_gravity="center_vertical"
android:text="@string/abort_slow_transformation" />
<CheckBox
android:id="@+id/abort_slow_transformation_checkbox"
android:layout_gravity="end"/>
</TableRow>
<TableRow <TableRow
android:layout_weight="1" android:layout_weight="1"
android:gravity="center_vertical" > android:gravity="center_vertical" >
@ -211,13 +229,24 @@
</TableLayout> </TableLayout>
</androidx.core.widget.NestedScrollView> </androidx.core.widget.NestedScrollView>
<Button <Button
android:id="@+id/select_demo_effects_button" android:id="@+id/select_audio_effects_button"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="32dp" android:layout_marginTop="32dp"
android:layout_marginStart="32dp" android:layout_marginStart="32dp"
android:layout_marginEnd="32dp" android:layout_marginEnd="32dp"
android:text="@string/select_demo_effects" android:text="@string/select_audio_effects"
app:layout_constraintBottom_toTopOf="@+id/select_video_effects_button"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<Button
android:id="@+id/select_video_effects_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/select_video_effects"
app:layout_constraintBottom_toTopOf="@+id/transform_button" app:layout_constraintBottom_toTopOf="@+id/transform_button"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" /> app:layout_constraintStart_toStartOf="parent" />

View File

@ -0,0 +1,69 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Copyright 2022 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="fill_parent"
android:layout_height="fill_parent"
tools:context=".ConfigurationActivity">
<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/overlay_text" />
<EditText
android:id="@+id/text_overlay_text"
android:inputType="textMultiLine"
android:layout_width="0dp"
android:layout_height="wrap_content" />
</TableRow>
<TableRow
android:layout_weight="1"
android:gravity="center_vertical" >
<TextView
android:text="@string/overlay_text_color"/>
<Spinner
android:id="@+id/text_overlay_text_color"
android:layout_gravity="right|center_vertical"
android:gravity="right" />
</TableRow>
<TableRow
android:layout_weight="1"
android:gravity="center_vertical" >
<TextView android:text="@string/overlay_alpha" />
<com.google.android.material.slider.Slider
android:id="@+id/text_overlay_alpha_slider"
android:valueFrom="0"
android:value="1"
android:valueTo="1"
android:layout_gravity="right|center_vertical"/>
</TableRow>
</TableLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -29,9 +29,11 @@
<string name="rotate" translatable="false">Rotate video (degrees)</string> <string name="rotate" translatable="false">Rotate video (degrees)</string>
<string name="enable_fallback" translatable="false">Enable fallback</string> <string name="enable_fallback" translatable="false">Enable fallback</string>
<string name="enable_debug_preview" translatable="false">Enable debug preview</string> <string name="enable_debug_preview" translatable="false">Enable debug preview</string>
<string name="abort_slow_transformation" translatable="false">Abort slow transformation</string>
<string name="trim" translatable="false">Trim</string> <string name="trim" translatable="false">Trim</string>
<string name="hdr_mode" translatable="false">HDR mode</string> <string name="hdr_mode" translatable="false">HDR mode</string>
<string name="select_demo_effects" translatable="false">Add demo effects</string> <string name="select_audio_effects" translatable="false">Add audio effects</string>
<string name="select_video_effects" translatable="false">Add video effects</string>
<string name="periodic_vignette_options" translatable="false">Periodic vignette options</string> <string name="periodic_vignette_options" translatable="false">Periodic vignette options</string>
<string name="no_media_pipe_error" translatable="false">Failed to load MediaPipe processor. Check the README for instructions.</string> <string name="no_media_pipe_error" translatable="false">Failed to load MediaPipe processor. Check the README for instructions.</string>
<string name="transform" translatable="false">Transform</string> <string name="transform" translatable="false">Transform</string>
@ -64,4 +66,11 @@
<string name="permission_denied">Permission Denied</string> <string name="permission_denied">Permission Denied</string>
<string name="hide_input_video">Hide input video</string> <string name="hide_input_video">Hide input video</string>
<string name="show_input_video">Show input video</string> <string name="show_input_video">Show input video</string>
<string name="force_silent_audio">Force silent audio</string>
<string name="overlay_alpha">Alpha</string>
<string name="overlay_uri">Uri</string>
<string name="bitmap_overlay_settings">Specify bitmap overlay settings</string>
<string name="overlay_text">Text</string>
<string name="overlay_text_color">Text color</string>
<string name="text_overlay_settings">Specify text overlay settings</string>
</resources> </resources>

View File

@ -29,6 +29,7 @@ import com.google.android.exoplayer2.effect.TextureInfo;
import com.google.android.exoplayer2.util.FrameProcessingException; import com.google.android.exoplayer2.util.FrameProcessingException;
import com.google.android.exoplayer2.util.LibraryLoader; import com.google.android.exoplayer2.util.LibraryLoader;
import com.google.android.exoplayer2.util.Util; import com.google.android.exoplayer2.util.Util;
import com.google.common.util.concurrent.MoreExecutors;
import com.google.mediapipe.components.FrameProcessor; import com.google.mediapipe.components.FrameProcessor;
import com.google.mediapipe.framework.AppTextureFrame; import com.google.mediapipe.framework.AppTextureFrame;
import com.google.mediapipe.framework.TextureFrame; import com.google.mediapipe.framework.TextureFrame;
@ -37,6 +38,7 @@ import java.util.ArrayDeque;
import java.util.Queue; import java.util.Queue;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutionException;
import java.util.concurrent.Executor;
import java.util.concurrent.ExecutorService; import java.util.concurrent.ExecutorService;
import java.util.concurrent.Future; import java.util.concurrent.Future;
@ -74,6 +76,7 @@ import java.util.concurrent.Future;
private InputListener inputListener; private InputListener inputListener;
private OutputListener outputListener; private OutputListener outputListener;
private ErrorListener errorListener; private ErrorListener errorListener;
private Executor errorListenerExecutor;
private boolean acceptedFrame; private boolean acceptedFrame;
/** /**
@ -110,6 +113,7 @@ import java.util.concurrent.Future;
inputListener = new InputListener() {}; inputListener = new InputListener() {};
outputListener = new OutputListener() {}; outputListener = new OutputListener() {};
errorListener = (frameProcessingException) -> {}; errorListener = (frameProcessingException) -> {};
errorListenerExecutor = MoreExecutors.directExecutor();
EglManager eglManager = new EglManager(EGL14.eglGetCurrentContext()); EglManager eglManager = new EglManager(EGL14.eglGetCurrentContext());
frameProcessor = frameProcessor =
new FrameProcessor( new FrameProcessor(
@ -145,10 +149,13 @@ import java.util.concurrent.Future;
} }
@Override @Override
public void setErrorListener(ErrorListener errorListener) { public void setErrorListener(Executor executor, ErrorListener errorListener) {
this.errorListenerExecutor = executor;
this.errorListener = errorListener; this.errorListener = errorListener;
frameProcessor.setAsynchronousErrorListener( frameProcessor.setAsynchronousErrorListener(
error -> errorListener.onFrameProcessingError(new FrameProcessingException(error))); error ->
errorListenerExecutor.execute(
() -> errorListener.onFrameProcessingError(new FrameProcessingException(error))));
} }
@Override @Override
@ -183,7 +190,8 @@ import java.util.concurrent.Future;
appTextureFrame.waitUntilReleasedWithGpuSync(); appTextureFrame.waitUntilReleasedWithGpuSync();
} catch (InterruptedException e) { } catch (InterruptedException e) {
Thread.currentThread().interrupt(); Thread.currentThread().interrupt();
errorListener.onFrameProcessingError(new FrameProcessingException(e)); errorListenerExecutor.execute(
() -> errorListener.onFrameProcessingError(new FrameProcessingException(e)));
} }
if (acceptedFrame) { if (acceptedFrame) {
inputListener.onInputFrameProcessed(inputTexture); inputListener.onInputFrameProcessed(inputTexture);
@ -204,7 +212,10 @@ import java.util.concurrent.Future;
} catch (InterruptedException e) { } catch (InterruptedException e) {
Thread.currentThread().interrupt(); Thread.currentThread().interrupt();
if (errorListener != null) { if (errorListener != null) {
errorListener.onFrameProcessingError(new FrameProcessingException(e)); errorListenerExecutor.execute(
() ->
errorListener.onFrameProcessingError(
new FrameProcessingException(e)));
} }
} }
} }
@ -236,11 +247,15 @@ import java.util.concurrent.Future;
singleThreadExecutorService.shutdown(); singleThreadExecutorService.shutdown();
try { try {
if (!singleThreadExecutorService.awaitTermination(RELEASE_WAIT_TIME_MS, MILLISECONDS)) { if (!singleThreadExecutorService.awaitTermination(RELEASE_WAIT_TIME_MS, MILLISECONDS)) {
errorListener.onFrameProcessingError(new FrameProcessingException("Release timed out")); errorListenerExecutor.execute(
() ->
errorListener.onFrameProcessingError(
new FrameProcessingException("Release timed out")));
} }
} catch (InterruptedException e) { } catch (InterruptedException e) {
Thread.currentThread().interrupt(); Thread.currentThread().interrupt();
errorListener.onFrameProcessingError(new FrameProcessingException(e)); errorListenerExecutor.execute(
() -> errorListener.onFrameProcessingError(new FrameProcessingException(e)));
} }
frameProcessor.close(); frameProcessor.close();
@ -272,10 +287,12 @@ import java.util.concurrent.Future;
try { try {
futures.remove().get(); futures.remove().get();
} catch (ExecutionException e) { } catch (ExecutionException e) {
errorListener.onFrameProcessingError(new FrameProcessingException(e)); errorListenerExecutor.execute(
() -> errorListener.onFrameProcessingError(new FrameProcessingException(e)));
} catch (InterruptedException e) { } catch (InterruptedException e) {
Thread.currentThread().interrupt(); Thread.currentThread().interrupt();
errorListener.onFrameProcessingError(new FrameProcessingException(e)); errorListenerExecutor.execute(
() -> errorListener.onFrameProcessingError(new FrameProcessingException(e)));
} }
} }
} }

File diff suppressed because one or more lines are too long

View File

@ -123,6 +123,7 @@
<li><a href="com/google/android/exoplayer2/audio/AudioProcessor.html" title="interface in com.google.android.exoplayer2.audio"><span class="interfaceName">AudioProcessor</span></a></li> <li><a href="com/google/android/exoplayer2/audio/AudioProcessor.html" title="interface in com.google.android.exoplayer2.audio"><span class="interfaceName">AudioProcessor</span></a></li>
<li><a href="com/google/android/exoplayer2/audio/AudioProcessor.AudioFormat.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.AudioFormat</a></li> <li><a href="com/google/android/exoplayer2/audio/AudioProcessor.AudioFormat.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.AudioFormat</a></li>
<li><a href="com/google/android/exoplayer2/audio/AudioProcessor.UnhandledAudioFormatException.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.UnhandledAudioFormatException</a></li> <li><a href="com/google/android/exoplayer2/audio/AudioProcessor.UnhandledAudioFormatException.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.UnhandledAudioFormatException</a></li>
<li><a href="com/google/android/exoplayer2/audio/AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio"><span class="interfaceName">AudioProcessorChain</span></a></li>
<li><a href="com/google/android/exoplayer2/audio/AudioRendererEventListener.html" title="interface in com.google.android.exoplayer2.audio"><span class="interfaceName">AudioRendererEventListener</span></a></li> <li><a href="com/google/android/exoplayer2/audio/AudioRendererEventListener.html" title="interface in com.google.android.exoplayer2.audio"><span class="interfaceName">AudioRendererEventListener</span></a></li>
<li><a href="com/google/android/exoplayer2/audio/AudioRendererEventListener.EventDispatcher.html" title="class in com.google.android.exoplayer2.audio">AudioRendererEventListener.EventDispatcher</a></li> <li><a href="com/google/android/exoplayer2/audio/AudioRendererEventListener.EventDispatcher.html" title="class in com.google.android.exoplayer2.audio">AudioRendererEventListener.EventDispatcher</a></li>
<li><a href="com/google/android/exoplayer2/audio/AudioSink.html" title="interface in com.google.android.exoplayer2.audio"><span class="interfaceName">AudioSink</span></a></li> <li><a href="com/google/android/exoplayer2/audio/AudioSink.html" title="interface in com.google.android.exoplayer2.audio"><span class="interfaceName">AudioSink</span></a></li>
@ -248,6 +249,7 @@
<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/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/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/video/ColorInfo.html" title="class in com.google.android.exoplayer2.video">ColorInfo</a></li>
<li><a href="com/google/android/exoplayer2/effect/ColorLut.html" title="interface in com.google.android.exoplayer2.effect"><span class="interfaceName">ColorLut</span></a></li>
<li><a href="com/google/android/exoplayer2/util/ColorParser.html" title="class in com.google.android.exoplayer2.util">ColorParser</a></li> <li><a href="com/google/android/exoplayer2/util/ColorParser.html" title="class in com.google.android.exoplayer2.util">ColorParser</a></li>
<li><a href="com/google/android/exoplayer2/metadata/id3/CommentFrame.html" title="class in com.google.android.exoplayer2.metadata.id3">CommentFrame</a></li> <li><a href="com/google/android/exoplayer2/metadata/id3/CommentFrame.html" title="class in com.google.android.exoplayer2.metadata.id3">CommentFrame</a></li>
<li><a href="com/google/android/exoplayer2/source/CompositeMediaSource.html" title="class in com.google.android.exoplayer2.source">CompositeMediaSource</a></li> <li><a href="com/google/android/exoplayer2/source/CompositeMediaSource.html" title="class in com.google.android.exoplayer2.source">CompositeMediaSource</a></li>
@ -262,6 +264,7 @@
<li><a href="com/google/android/exoplayer2/upstream/ContentDataSource.ContentDataSourceException.html" title="class in com.google.android.exoplayer2.upstream">ContentDataSource.ContentDataSourceException</a></li> <li><a href="com/google/android/exoplayer2/upstream/ContentDataSource.ContentDataSourceException.html" title="class in com.google.android.exoplayer2.upstream">ContentDataSource.ContentDataSourceException</a></li>
<li><a href="com/google/android/exoplayer2/upstream/cache/ContentMetadata.html" title="interface in com.google.android.exoplayer2.upstream.cache"><span class="interfaceName">ContentMetadata</span></a></li> <li><a href="com/google/android/exoplayer2/upstream/cache/ContentMetadata.html" title="interface in com.google.android.exoplayer2.upstream.cache"><span class="interfaceName">ContentMetadata</span></a></li>
<li><a href="com/google/android/exoplayer2/upstream/cache/ContentMetadataMutations.html" title="class in com.google.android.exoplayer2.upstream.cache">ContentMetadataMutations</a></li> <li><a href="com/google/android/exoplayer2/upstream/cache/ContentMetadataMutations.html" title="class in com.google.android.exoplayer2.upstream.cache">ContentMetadataMutations</a></li>
<li><a href="com/google/android/exoplayer2/effect/Contrast.html" title="class in com.google.android.exoplayer2.effect">Contrast</a></li>
<li><a href="com/google/android/exoplayer2/util/CopyOnWriteMultiset.html" title="class in com.google.android.exoplayer2.util">CopyOnWriteMultiset</a></li> <li><a href="com/google/android/exoplayer2/util/CopyOnWriteMultiset.html" title="class in com.google.android.exoplayer2.util">CopyOnWriteMultiset</a></li>
<li><a href="com/google/android/exoplayer2/ext/cronet/CronetDataSource.html" title="class in com.google.android.exoplayer2.ext.cronet">CronetDataSource</a></li> <li><a href="com/google/android/exoplayer2/ext/cronet/CronetDataSource.html" title="class in com.google.android.exoplayer2.ext.cronet">CronetDataSource</a></li>
<li><a href="com/google/android/exoplayer2/ext/cronet/CronetDataSource.Factory.html" title="class in com.google.android.exoplayer2.ext.cronet">CronetDataSource.Factory</a></li> <li><a href="com/google/android/exoplayer2/ext/cronet/CronetDataSource.Factory.html" title="class in com.google.android.exoplayer2.ext.cronet">CronetDataSource.Factory</a></li>
@ -269,6 +272,7 @@
<li><a href="com/google/android/exoplayer2/ext/cronet/CronetDataSourceFactory.html" title="class in com.google.android.exoplayer2.ext.cronet">CronetDataSourceFactory</a></li> <li><a href="com/google/android/exoplayer2/ext/cronet/CronetDataSourceFactory.html" title="class in com.google.android.exoplayer2.ext.cronet">CronetDataSourceFactory</a></li>
<li><a href="com/google/android/exoplayer2/ext/cronet/CronetEngineWrapper.html" title="class in com.google.android.exoplayer2.ext.cronet">CronetEngineWrapper</a></li> <li><a href="com/google/android/exoplayer2/ext/cronet/CronetEngineWrapper.html" title="class in com.google.android.exoplayer2.ext.cronet">CronetEngineWrapper</a></li>
<li><a href="com/google/android/exoplayer2/ext/cronet/CronetUtil.html" title="class in com.google.android.exoplayer2.ext.cronet">CronetUtil</a></li> <li><a href="com/google/android/exoplayer2/ext/cronet/CronetUtil.html" title="class in com.google.android.exoplayer2.ext.cronet">CronetUtil</a></li>
<li><a href="com/google/android/exoplayer2/effect/Crop.html" title="class in com.google.android.exoplayer2.effect">Crop</a></li>
<li><a href="com/google/android/exoplayer2/decoder/CryptoConfig.html" title="interface in com.google.android.exoplayer2.decoder"><span class="interfaceName">CryptoConfig</span></a></li> <li><a href="com/google/android/exoplayer2/decoder/CryptoConfig.html" title="interface in com.google.android.exoplayer2.decoder"><span class="interfaceName">CryptoConfig</span></a></li>
<li><a href="com/google/android/exoplayer2/decoder/CryptoException.html" title="class in com.google.android.exoplayer2.decoder">CryptoException</a></li> <li><a href="com/google/android/exoplayer2/decoder/CryptoException.html" title="class in com.google.android.exoplayer2.decoder">CryptoException</a></li>
<li><a href="com/google/android/exoplayer2/decoder/CryptoInfo.html" title="class in com.google.android.exoplayer2.decoder">CryptoInfo</a></li> <li><a href="com/google/android/exoplayer2/decoder/CryptoInfo.html" title="class in com.google.android.exoplayer2.decoder">CryptoInfo</a></li>
@ -314,6 +318,9 @@
<li><a href="com/google/android/exoplayer2/upstream/DataSpec.Flags.html" title="annotation in com.google.android.exoplayer2.upstream">DataSpec.Flags</a></li> <li><a href="com/google/android/exoplayer2/upstream/DataSpec.Flags.html" title="annotation in com.google.android.exoplayer2.upstream">DataSpec.Flags</a></li>
<li><a href="com/google/android/exoplayer2/upstream/DataSpec.HttpMethod.html" title="annotation in com.google.android.exoplayer2.upstream">DataSpec.HttpMethod</a></li> <li><a href="com/google/android/exoplayer2/upstream/DataSpec.HttpMethod.html" title="annotation in com.google.android.exoplayer2.upstream">DataSpec.HttpMethod</a></li>
<li><a href="com/google/android/exoplayer2/util/DebugTextViewHelper.html" title="class in com.google.android.exoplayer2.util">DebugTextViewHelper</a></li> <li><a href="com/google/android/exoplayer2/util/DebugTextViewHelper.html" title="class in com.google.android.exoplayer2.util">DebugTextViewHelper</a></li>
<li><a href="com/google/android/exoplayer2/util/DebugViewProvider.html" title="interface in com.google.android.exoplayer2.util"><span class="interfaceName">DebugViewProvider</span></a></li>
<li><a href="com/google/android/exoplayer2/testutil/DecodeOneFrameUtil.html" title="class in com.google.android.exoplayer2.testutil">DecodeOneFrameUtil</a></li>
<li><a href="com/google/android/exoplayer2/testutil/DecodeOneFrameUtil.Listener.html" title="interface in com.google.android.exoplayer2.testutil"><span class="interfaceName">DecodeOneFrameUtil.Listener</span></a></li>
<li><a href="com/google/android/exoplayer2/decoder/Decoder.html" title="interface in com.google.android.exoplayer2.decoder"><span class="interfaceName">Decoder</span></a></li> <li><a href="com/google/android/exoplayer2/decoder/Decoder.html" title="interface in com.google.android.exoplayer2.decoder"><span class="interfaceName">Decoder</span></a></li>
<li><a href="com/google/android/exoplayer2/audio/DecoderAudioRenderer.html" title="class in com.google.android.exoplayer2.audio">DecoderAudioRenderer</a></li> <li><a href="com/google/android/exoplayer2/audio/DecoderAudioRenderer.html" title="class in com.google.android.exoplayer2.audio">DecoderAudioRenderer</a></li>
<li><a href="com/google/android/exoplayer2/decoder/DecoderCounters.html" title="class in com.google.android.exoplayer2.decoder">DecoderCounters</a></li> <li><a href="com/google/android/exoplayer2/decoder/DecoderCounters.html" title="class in com.google.android.exoplayer2.decoder">DecoderCounters</a></li>
@ -332,6 +339,7 @@
<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/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.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.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.AudioTrackBufferSizeProvider.html" title="interface in com.google.android.exoplayer2.audio"><span class="interfaceName">DefaultAudioSink.AudioTrackBufferSizeProvider</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.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.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.InvalidAudioTrackTimestampException.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.InvalidAudioTrackTimestampException</a></li>
@ -361,6 +369,7 @@
<li><a href="com/google/android/exoplayer2/drm/DefaultDrmSessionManager.Mode.html" title="annotation in com.google.android.exoplayer2.drm">DefaultDrmSessionManager.Mode</a></li> <li><a href="com/google/android/exoplayer2/drm/DefaultDrmSessionManager.Mode.html" title="annotation in com.google.android.exoplayer2.drm">DefaultDrmSessionManager.Mode</a></li>
<li><a href="com/google/android/exoplayer2/drm/DefaultDrmSessionManagerProvider.html" title="class in com.google.android.exoplayer2.drm">DefaultDrmSessionManagerProvider</a></li> <li><a href="com/google/android/exoplayer2/drm/DefaultDrmSessionManagerProvider.html" title="class in com.google.android.exoplayer2.drm">DefaultDrmSessionManagerProvider</a></li>
<li><a href="com/google/android/exoplayer2/transformer/DefaultEncoderFactory.html" title="class in com.google.android.exoplayer2.transformer">DefaultEncoderFactory</a></li> <li><a href="com/google/android/exoplayer2/transformer/DefaultEncoderFactory.html" title="class in com.google.android.exoplayer2.transformer">DefaultEncoderFactory</a></li>
<li><a href="com/google/android/exoplayer2/transformer/DefaultEncoderFactory.Builder.html" title="class in com.google.android.exoplayer2.transformer">DefaultEncoderFactory.Builder</a></li>
<li><a href="com/google/android/exoplayer2/extractor/DefaultExtractorInput.html" title="class in com.google.android.exoplayer2.extractor">DefaultExtractorInput</a></li> <li><a href="com/google/android/exoplayer2/extractor/DefaultExtractorInput.html" title="class in com.google.android.exoplayer2.extractor">DefaultExtractorInput</a></li>
<li><a href="com/google/android/exoplayer2/extractor/DefaultExtractorsFactory.html" title="class in com.google.android.exoplayer2.extractor">DefaultExtractorsFactory</a></li> <li><a href="com/google/android/exoplayer2/extractor/DefaultExtractorsFactory.html" title="class in com.google.android.exoplayer2.extractor">DefaultExtractorsFactory</a></li>
<li><a href="com/google/android/exoplayer2/source/hls/DefaultHlsDataSourceFactory.html" title="class in com.google.android.exoplayer2.source.hls">DefaultHlsDataSourceFactory</a></li> <li><a href="com/google/android/exoplayer2/source/hls/DefaultHlsDataSourceFactory.html" title="class in com.google.android.exoplayer2.source.hls">DefaultHlsDataSourceFactory</a></li>
@ -380,6 +389,8 @@
<li><a href="com/google/android/exoplayer2/ext/media2/DefaultMediaItemConverter.html" title="class in com.google.android.exoplayer2.ext.media2">DefaultMediaItemConverter</a></li> <li><a href="com/google/android/exoplayer2/ext/media2/DefaultMediaItemConverter.html" title="class in com.google.android.exoplayer2.ext.media2">DefaultMediaItemConverter</a></li>
<li><a href="com/google/android/exoplayer2/source/DefaultMediaSourceFactory.html" title="class in com.google.android.exoplayer2.source">DefaultMediaSourceFactory</a></li> <li><a href="com/google/android/exoplayer2/source/DefaultMediaSourceFactory.html" title="class in com.google.android.exoplayer2.source">DefaultMediaSourceFactory</a></li>
<li><a href="com/google/android/exoplayer2/source/DefaultMediaSourceFactory.AdsLoaderProvider.html" title="interface in com.google.android.exoplayer2.source"><span class="interfaceName">DefaultMediaSourceFactory.AdsLoaderProvider</span></a></li> <li><a href="com/google/android/exoplayer2/source/DefaultMediaSourceFactory.AdsLoaderProvider.html" title="interface in com.google.android.exoplayer2.source"><span class="interfaceName">DefaultMediaSourceFactory.AdsLoaderProvider</span></a></li>
<li><a href="com/google/android/exoplayer2/transformer/DefaultMuxer.html" title="class in com.google.android.exoplayer2.transformer">DefaultMuxer</a></li>
<li><a href="com/google/android/exoplayer2/transformer/DefaultMuxer.Factory.html" title="class in com.google.android.exoplayer2.transformer">DefaultMuxer.Factory</a></li>
<li><a href="com/google/android/exoplayer2/analytics/DefaultPlaybackSessionManager.html" title="class in com.google.android.exoplayer2.analytics">DefaultPlaybackSessionManager</a></li> <li><a href="com/google/android/exoplayer2/analytics/DefaultPlaybackSessionManager.html" title="class in com.google.android.exoplayer2.analytics">DefaultPlaybackSessionManager</a></li>
<li><a href="com/google/android/exoplayer2/DefaultRenderersFactory.html" title="class in com.google.android.exoplayer2">DefaultRenderersFactory</a></li> <li><a href="com/google/android/exoplayer2/DefaultRenderersFactory.html" title="class in com.google.android.exoplayer2">DefaultRenderersFactory</a></li>
<li><a href="com/google/android/exoplayer2/DefaultRenderersFactory.ExtensionRendererMode.html" title="annotation in com.google.android.exoplayer2">DefaultRenderersFactory.ExtensionRendererMode</a></li> <li><a href="com/google/android/exoplayer2/DefaultRenderersFactory.ExtensionRendererMode.html" title="annotation in com.google.android.exoplayer2">DefaultRenderersFactory.ExtensionRendererMode</a></li>
@ -400,6 +411,7 @@
<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> <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>
<li><a href="com/google/android/exoplayer2/DeviceInfo.html" title="class in com.google.android.exoplayer2">DeviceInfo</a></li> <li><a href="com/google/android/exoplayer2/DeviceInfo.html" title="class in com.google.android.exoplayer2">DeviceInfo</a></li>
<li><a href="com/google/android/exoplayer2/DeviceInfo.PlaybackType.html" title="annotation in com.google.android.exoplayer2">DeviceInfo.PlaybackType</a></li> <li><a href="com/google/android/exoplayer2/DeviceInfo.PlaybackType.html" title="annotation in com.google.android.exoplayer2">DeviceInfo.PlaybackType</a></li>
<li><a href="com/google/android/exoplayer2/transformer/DeviceMappedEncoderBitrateProvider.html" title="class in com.google.android.exoplayer2.transformer">DeviceMappedEncoderBitrateProvider</a></li>
<li><a href="com/google/android/exoplayer2/video/DolbyVisionConfig.html" title="class in com.google.android.exoplayer2.video">DolbyVisionConfig</a></li> <li><a href="com/google/android/exoplayer2/video/DolbyVisionConfig.html" title="class in com.google.android.exoplayer2.video">DolbyVisionConfig</a></li>
<li><a href="com/google/android/exoplayer2/offline/Download.html" title="class in com.google.android.exoplayer2.offline">Download</a></li> <li><a href="com/google/android/exoplayer2/offline/Download.html" title="class in com.google.android.exoplayer2.offline">Download</a></li>
<li><a href="com/google/android/exoplayer2/offline/Download.FailureReason.html" title="annotation in com.google.android.exoplayer2.offline">Download.FailureReason</a></li> <li><a href="com/google/android/exoplayer2/offline/Download.FailureReason.html" title="annotation in com.google.android.exoplayer2.offline">Download.FailureReason</a></li>
@ -449,12 +461,13 @@
<li><a href="com/google/android/exoplayer2/extractor/ts/DvbSubtitleReader.html" title="class in com.google.android.exoplayer2.extractor.ts">DvbSubtitleReader</a></li> <li><a href="com/google/android/exoplayer2/extractor/ts/DvbSubtitleReader.html" title="class in com.google.android.exoplayer2.extractor.ts">DvbSubtitleReader</a></li>
<li><a href="com/google/android/exoplayer2/extractor/mkv/EbmlProcessor.html" title="interface in com.google.android.exoplayer2.extractor.mkv"><span class="interfaceName">EbmlProcessor</span></a></li> <li><a href="com/google/android/exoplayer2/extractor/mkv/EbmlProcessor.html" title="interface in com.google.android.exoplayer2.extractor.mkv"><span class="interfaceName">EbmlProcessor</span></a></li>
<li><a href="com/google/android/exoplayer2/extractor/mkv/EbmlProcessor.ElementType.html" title="annotation in com.google.android.exoplayer2.extractor.mkv">EbmlProcessor.ElementType</a></li> <li><a href="com/google/android/exoplayer2/extractor/mkv/EbmlProcessor.ElementType.html" title="annotation in com.google.android.exoplayer2.extractor.mkv">EbmlProcessor.ElementType</a></li>
<li><a href="com/google/android/exoplayer2/util/Effect.html" title="interface in com.google.android.exoplayer2.util"><span class="interfaceName">Effect</span></a></li>
<li><a href="com/google/android/exoplayer2/util/EGLSurfaceTexture.html" title="class in com.google.android.exoplayer2.util">EGLSurfaceTexture</a></li> <li><a href="com/google/android/exoplayer2/util/EGLSurfaceTexture.html" title="class in com.google.android.exoplayer2.util">EGLSurfaceTexture</a></li>
<li><a href="com/google/android/exoplayer2/util/EGLSurfaceTexture.GlException.html" title="class in com.google.android.exoplayer2.util">EGLSurfaceTexture.GlException</a></li>
<li><a href="com/google/android/exoplayer2/util/EGLSurfaceTexture.SecureMode.html" title="annotation in com.google.android.exoplayer2.util">EGLSurfaceTexture.SecureMode</a></li> <li><a href="com/google/android/exoplayer2/util/EGLSurfaceTexture.SecureMode.html" title="annotation in com.google.android.exoplayer2.util">EGLSurfaceTexture.SecureMode</a></li>
<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/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/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/source/EmptySampleStream.html" title="class in com.google.android.exoplayer2.source">EmptySampleStream</a></li>
<li><a href="com/google/android/exoplayer2/transformer/EncoderBitrateProvider.html" title="interface in com.google.android.exoplayer2.transformer"><span class="interfaceName">EncoderBitrateProvider</span></a></li>
<li><a href="com/google/android/exoplayer2/transformer/EncoderSelector.html" title="interface in com.google.android.exoplayer2.transformer"><span class="interfaceName">EncoderSelector</span></a></li> <li><a href="com/google/android/exoplayer2/transformer/EncoderSelector.html" title="interface in com.google.android.exoplayer2.transformer"><span class="interfaceName">EncoderSelector</span></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/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/util/ErrorMessageProvider.html" title="interface in com.google.android.exoplayer2.util"><span class="interfaceName">ErrorMessageProvider</span></a></li>
@ -588,7 +601,11 @@
<li><a href="com/google/android/exoplayer2/source/ForwardingTimeline.html" title="class in com.google.android.exoplayer2.source">ForwardingTimeline</a></li> <li><a href="com/google/android/exoplayer2/source/ForwardingTimeline.html" title="class in com.google.android.exoplayer2.source">ForwardingTimeline</a></li>
<li><a href="com/google/android/exoplayer2/extractor/mp4/FragmentedMp4Extractor.html" title="class in com.google.android.exoplayer2.extractor.mp4">FragmentedMp4Extractor</a></li> <li><a href="com/google/android/exoplayer2/extractor/mp4/FragmentedMp4Extractor.html" title="class in com.google.android.exoplayer2.extractor.mp4">FragmentedMp4Extractor</a></li>
<li><a href="com/google/android/exoplayer2/extractor/mp4/FragmentedMp4Extractor.Flags.html" title="annotation in com.google.android.exoplayer2.extractor.mp4">FragmentedMp4Extractor.Flags</a></li> <li><a href="com/google/android/exoplayer2/extractor/mp4/FragmentedMp4Extractor.Flags.html" title="annotation in com.google.android.exoplayer2.extractor.mp4">FragmentedMp4Extractor.Flags</a></li>
<li><a href="com/google/android/exoplayer2/transformer/FrameProcessingException.html" title="class in com.google.android.exoplayer2.transformer">FrameProcessingException</a></li> <li><a href="com/google/android/exoplayer2/util/FrameInfo.html" title="class in com.google.android.exoplayer2.util">FrameInfo</a></li>
<li><a href="com/google/android/exoplayer2/util/FrameProcessingException.html" title="class in com.google.android.exoplayer2.util">FrameProcessingException</a></li>
<li><a href="com/google/android/exoplayer2/util/FrameProcessor.html" title="interface in com.google.android.exoplayer2.util"><span class="interfaceName">FrameProcessor</span></a></li>
<li><a href="com/google/android/exoplayer2/util/FrameProcessor.Factory.html" title="interface in com.google.android.exoplayer2.util"><span class="interfaceName">FrameProcessor.Factory</span></a></li>
<li><a href="com/google/android/exoplayer2/util/FrameProcessor.Listener.html" title="interface in com.google.android.exoplayer2.util"><span class="interfaceName">FrameProcessor.Listener</span></a></li>
<li><a href="com/google/android/exoplayer2/drm/FrameworkCryptoConfig.html" title="class in com.google.android.exoplayer2.drm">FrameworkCryptoConfig</a></li> <li><a href="com/google/android/exoplayer2/drm/FrameworkCryptoConfig.html" title="class in com.google.android.exoplayer2.drm">FrameworkCryptoConfig</a></li>
<li><a href="com/google/android/exoplayer2/drm/FrameworkMediaDrm.html" title="class in com.google.android.exoplayer2.drm">FrameworkMediaDrm</a></li> <li><a href="com/google/android/exoplayer2/drm/FrameworkMediaDrm.html" title="class in com.google.android.exoplayer2.drm">FrameworkMediaDrm</a></li>
<li><a href="com/google/android/exoplayer2/extractor/GaplessInfoHolder.html" title="class in com.google.android.exoplayer2.extractor">GaplessInfoHolder</a></li> <li><a href="com/google/android/exoplayer2/extractor/GaplessInfoHolder.html" title="class in com.google.android.exoplayer2.extractor">GaplessInfoHolder</a></li>
@ -596,9 +613,15 @@
<li><a href="com/google/android/exoplayer2/ext/av1/Gav1DecoderException.html" title="class in com.google.android.exoplayer2.ext.av1">Gav1DecoderException</a></li> <li><a href="com/google/android/exoplayer2/ext/av1/Gav1DecoderException.html" title="class in com.google.android.exoplayer2.ext.av1">Gav1DecoderException</a></li>
<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/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/metadata/id3/GeobFrame.html" title="class in com.google.android.exoplayer2.metadata.id3">GeobFrame</a></li>
<li><a href="com/google/android/exoplayer2/transformer/GlEffect.html" title="interface in com.google.android.exoplayer2.transformer"><span class="interfaceName">GlEffect</span></a></li> <li><a href="com/google/android/exoplayer2/effect/GlEffect.html" title="interface in com.google.android.exoplayer2.effect"><span class="interfaceName">GlEffect</span></a></li>
<li><a href="com/google/android/exoplayer2/transformer/GlMatrixTransformation.html" title="interface in com.google.android.exoplayer2.transformer"><span class="interfaceName">GlMatrixTransformation</span></a></li> <li><a href="com/google/android/exoplayer2/effect/GlEffectsFrameProcessor.html" title="class in com.google.android.exoplayer2.effect">GlEffectsFrameProcessor</a></li>
<li><a href="com/google/android/exoplayer2/effect/GlEffectsFrameProcessor.Factory.html" title="class in com.google.android.exoplayer2.effect">GlEffectsFrameProcessor.Factory</a></li>
<li><a href="com/google/android/exoplayer2/effect/GlMatrixTransformation.html" title="interface in com.google.android.exoplayer2.effect"><span class="interfaceName">GlMatrixTransformation</span></a></li>
<li><a href="com/google/android/exoplayer2/util/GlProgram.html" title="class in com.google.android.exoplayer2.util">GlProgram</a></li> <li><a href="com/google/android/exoplayer2/util/GlProgram.html" title="class in com.google.android.exoplayer2.util">GlProgram</a></li>
<li><a href="com/google/android/exoplayer2/effect/GlTextureProcessor.html" title="interface in com.google.android.exoplayer2.effect"><span class="interfaceName">GlTextureProcessor</span></a></li>
<li><a href="com/google/android/exoplayer2/effect/GlTextureProcessor.ErrorListener.html" title="interface in com.google.android.exoplayer2.effect"><span class="interfaceName">GlTextureProcessor.ErrorListener</span></a></li>
<li><a href="com/google/android/exoplayer2/effect/GlTextureProcessor.InputListener.html" title="interface in com.google.android.exoplayer2.effect"><span class="interfaceName">GlTextureProcessor.InputListener</span></a></li>
<li><a href="com/google/android/exoplayer2/effect/GlTextureProcessor.OutputListener.html" title="interface in com.google.android.exoplayer2.effect"><span class="interfaceName">GlTextureProcessor.OutputListener</span></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.html" title="class in com.google.android.exoplayer2.util">GlUtil</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.GlException.html" title="class in com.google.android.exoplayer2.util">GlUtil.GlException</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/H262Reader.html" title="class in com.google.android.exoplayer2.extractor.ts">H262Reader</a></li>
@ -644,6 +667,8 @@
<li><a href="com/google/android/exoplayer2/text/span/HorizontalTextInVerticalContextSpan.html" title="class in com.google.android.exoplayer2.text.span">HorizontalTextInVerticalContextSpan</a></li> <li><a href="com/google/android/exoplayer2/text/span/HorizontalTextInVerticalContextSpan.html" title="class in com.google.android.exoplayer2.text.span">HorizontalTextInVerticalContextSpan</a></li>
<li><a href="com/google/android/exoplayer2/testutil/HostActivity.html" title="class in com.google.android.exoplayer2.testutil">HostActivity</a></li> <li><a href="com/google/android/exoplayer2/testutil/HostActivity.html" title="class in com.google.android.exoplayer2.testutil">HostActivity</a></li>
<li><a href="com/google/android/exoplayer2/testutil/HostActivity.HostedTest.html" title="interface in com.google.android.exoplayer2.testutil"><span class="interfaceName">HostActivity.HostedTest</span></a></li> <li><a href="com/google/android/exoplayer2/testutil/HostActivity.HostedTest.html" title="interface in com.google.android.exoplayer2.testutil"><span class="interfaceName">HostActivity.HostedTest</span></a></li>
<li><a href="com/google/android/exoplayer2/effect/HslAdjustment.html" title="class in com.google.android.exoplayer2.effect">HslAdjustment</a></li>
<li><a href="com/google/android/exoplayer2/effect/HslAdjustment.Builder.html" title="class in com.google.android.exoplayer2.effect">HslAdjustment.Builder</a></li>
<li><a href="com/google/android/exoplayer2/upstream/HttpDataSource.html" title="interface in com.google.android.exoplayer2.upstream"><span class="interfaceName">HttpDataSource</span></a></li> <li><a href="com/google/android/exoplayer2/upstream/HttpDataSource.html" title="interface in com.google.android.exoplayer2.upstream"><span class="interfaceName">HttpDataSource</span></a></li>
<li><a href="com/google/android/exoplayer2/upstream/HttpDataSource.BaseFactory.html" title="class in com.google.android.exoplayer2.upstream">HttpDataSource.BaseFactory</a></li> <li><a href="com/google/android/exoplayer2/upstream/HttpDataSource.BaseFactory.html" title="class in com.google.android.exoplayer2.upstream">HttpDataSource.BaseFactory</a></li>
<li><a href="com/google/android/exoplayer2/upstream/HttpDataSource.CleartextNotPermittedException.html" title="class in com.google.android.exoplayer2.upstream">HttpDataSource.CleartextNotPermittedException</a></li> <li><a href="com/google/android/exoplayer2/upstream/HttpDataSource.CleartextNotPermittedException.html" title="class in com.google.android.exoplayer2.upstream">HttpDataSource.CleartextNotPermittedException</a></li>
@ -683,6 +708,7 @@
<li><a href="com/google/android/exoplayer2/extractor/ts/LatmReader.html" title="class in com.google.android.exoplayer2.extractor.ts">LatmReader</a></li> <li><a href="com/google/android/exoplayer2/extractor/ts/LatmReader.html" title="class in com.google.android.exoplayer2.extractor.ts">LatmReader</a></li>
<li><a href="com/google/android/exoplayer2/ext/leanback/LeanbackPlayerAdapter.html" title="class in com.google.android.exoplayer2.ext.leanback">LeanbackPlayerAdapter</a></li> <li><a href="com/google/android/exoplayer2/ext/leanback/LeanbackPlayerAdapter.html" title="class in com.google.android.exoplayer2.ext.leanback">LeanbackPlayerAdapter</a></li>
<li><a href="com/google/android/exoplayer2/upstream/cache/LeastRecentlyUsedCacheEvictor.html" title="class in com.google.android.exoplayer2.upstream.cache">LeastRecentlyUsedCacheEvictor</a></li> <li><a href="com/google/android/exoplayer2/upstream/cache/LeastRecentlyUsedCacheEvictor.html" title="class in com.google.android.exoplayer2.upstream.cache">LeastRecentlyUsedCacheEvictor</a></li>
<li><a href="com/google/android/exoplayer2/LegacyMediaPlayerWrapper.html" title="class in com.google.android.exoplayer2">LegacyMediaPlayerWrapper</a></li>
<li><a href="com/google/android/exoplayer2/ext/flac/LibflacAudioRenderer.html" title="class in com.google.android.exoplayer2.ext.flac">LibflacAudioRenderer</a></li> <li><a href="com/google/android/exoplayer2/ext/flac/LibflacAudioRenderer.html" title="class in com.google.android.exoplayer2.ext.flac">LibflacAudioRenderer</a></li>
<li><a href="com/google/android/exoplayer2/ext/av1/Libgav1VideoRenderer.html" title="class in com.google.android.exoplayer2.ext.av1">Libgav1VideoRenderer</a></li> <li><a href="com/google/android/exoplayer2/ext/av1/Libgav1VideoRenderer.html" title="class in com.google.android.exoplayer2.ext.av1">Libgav1VideoRenderer</a></li>
<li><a href="com/google/android/exoplayer2/ext/opus/LibopusAudioRenderer.html" title="class in com.google.android.exoplayer2.ext.opus">LibopusAudioRenderer</a></li> <li><a href="com/google/android/exoplayer2/ext/opus/LibopusAudioRenderer.html" title="class in com.google.android.exoplayer2.ext.opus">LibopusAudioRenderer</a></li>
@ -720,7 +746,7 @@
<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/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.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/source/MaskingMediaSource.PlaceholderTimeline.html" title="class in com.google.android.exoplayer2.source">MaskingMediaSource.PlaceholderTimeline</a></li>
<li><a href="com/google/android/exoplayer2/transformer/MatrixTransformation.html" title="interface in com.google.android.exoplayer2.transformer"><span class="interfaceName">MatrixTransformation</span></a></li> <li><a href="com/google/android/exoplayer2/effect/MatrixTransformation.html" title="interface in com.google.android.exoplayer2.effect"><span class="interfaceName">MatrixTransformation</span></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.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.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/extractor/mkv/MatroskaExtractor.Track.html" title="class in com.google.android.exoplayer2.extractor.mkv">MatroskaExtractor.Track</a></li>
@ -823,6 +849,9 @@
<li><a href="com/google/android/exoplayer2/extractor/ts/MpegAudioReader.html" title="class in com.google.android.exoplayer2.extractor.ts">MpegAudioReader</a></li> <li><a href="com/google/android/exoplayer2/extractor/ts/MpegAudioReader.html" title="class in com.google.android.exoplayer2.extractor.ts">MpegAudioReader</a></li>
<li><a href="com/google/android/exoplayer2/audio/MpegAudioUtil.html" title="class in com.google.android.exoplayer2.audio">MpegAudioUtil</a></li> <li><a href="com/google/android/exoplayer2/audio/MpegAudioUtil.html" title="class in com.google.android.exoplayer2.audio">MpegAudioUtil</a></li>
<li><a href="com/google/android/exoplayer2/audio/MpegAudioUtil.Header.html" title="class in com.google.android.exoplayer2.audio">MpegAudioUtil.Header</a></li> <li><a href="com/google/android/exoplayer2/audio/MpegAudioUtil.Header.html" title="class in com.google.android.exoplayer2.audio">MpegAudioUtil.Header</a></li>
<li><a href="com/google/android/exoplayer2/transformer/Muxer.html" title="interface in com.google.android.exoplayer2.transformer"><span class="interfaceName">Muxer</span></a></li>
<li><a href="com/google/android/exoplayer2/transformer/Muxer.Factory.html" title="interface in com.google.android.exoplayer2.transformer"><span class="interfaceName">Muxer.Factory</span></a></li>
<li><a href="com/google/android/exoplayer2/transformer/Muxer.MuxerException.html" title="class in com.google.android.exoplayer2.transformer">Muxer.MuxerException</a></li>
<li><a href="com/google/android/exoplayer2/util/NalUnitUtil.html" title="class in com.google.android.exoplayer2.util">NalUnitUtil</a></li> <li><a href="com/google/android/exoplayer2/util/NalUnitUtil.html" title="class in com.google.android.exoplayer2.util">NalUnitUtil</a></li>
<li><a href="com/google/android/exoplayer2/util/NalUnitUtil.H265SpsData.html" title="class in com.google.android.exoplayer2.util">NalUnitUtil.H265SpsData</a></li> <li><a href="com/google/android/exoplayer2/util/NalUnitUtil.H265SpsData.html" title="class in com.google.android.exoplayer2.util">NalUnitUtil.H265SpsData</a></li>
<li><a href="com/google/android/exoplayer2/util/NalUnitUtil.PpsData.html" title="class in com.google.android.exoplayer2.util">NalUnitUtil.PpsData</a></li> <li><a href="com/google/android/exoplayer2/util/NalUnitUtil.PpsData.html" title="class in com.google.android.exoplayer2.util">NalUnitUtil.PpsData</a></li>
@ -906,9 +935,8 @@
<li><a href="com/google/android/exoplayer2/ui/PlayerView.html" title="class in com.google.android.exoplayer2.ui">PlayerView</a></li> <li><a href="com/google/android/exoplayer2/ui/PlayerView.html" title="class in com.google.android.exoplayer2.ui">PlayerView</a></li>
<li><a href="com/google/android/exoplayer2/ui/PlayerView.ShowBuffering.html" title="annotation in com.google.android.exoplayer2.ui">PlayerView.ShowBuffering</a></li> <li><a href="com/google/android/exoplayer2/ui/PlayerView.ShowBuffering.html" title="annotation in com.google.android.exoplayer2.ui">PlayerView.ShowBuffering</a></li>
<li><a href="com/google/android/exoplayer2/extractor/PositionHolder.html" title="class in com.google.android.exoplayer2.extractor">PositionHolder</a></li> <li><a href="com/google/android/exoplayer2/extractor/PositionHolder.html" title="class in com.google.android.exoplayer2.extractor">PositionHolder</a></li>
<li><a href="com/google/android/exoplayer2/transformer/Presentation.html" title="class in com.google.android.exoplayer2.transformer">Presentation</a></li> <li><a href="com/google/android/exoplayer2/effect/Presentation.html" title="class in com.google.android.exoplayer2.effect">Presentation</a></li>
<li><a href="com/google/android/exoplayer2/transformer/Presentation.Builder.html" title="class in com.google.android.exoplayer2.transformer">Presentation.Builder</a></li> <li><a href="com/google/android/exoplayer2/effect/Presentation.Layout.html" title="annotation in com.google.android.exoplayer2.effect">Presentation.Layout</a></li>
<li><a href="com/google/android/exoplayer2/transformer/Presentation.Layout.html" title="annotation in com.google.android.exoplayer2.transformer">Presentation.Layout</a></li>
<li><a href="com/google/android/exoplayer2/upstream/PriorityDataSource.html" title="class in com.google.android.exoplayer2.upstream">PriorityDataSource</a></li> <li><a href="com/google/android/exoplayer2/upstream/PriorityDataSource.html" title="class in com.google.android.exoplayer2.upstream">PriorityDataSource</a></li>
<li><a href="com/google/android/exoplayer2/upstream/PriorityDataSource.Factory.html" title="class in com.google.android.exoplayer2.upstream">PriorityDataSource.Factory</a></li> <li><a href="com/google/android/exoplayer2/upstream/PriorityDataSource.Factory.html" title="class in com.google.android.exoplayer2.upstream">PriorityDataSource.Factory</a></li>
<li><a href="com/google/android/exoplayer2/upstream/PriorityDataSourceFactory.html" title="class in com.google.android.exoplayer2.upstream">PriorityDataSourceFactory</a></li> <li><a href="com/google/android/exoplayer2/upstream/PriorityDataSourceFactory.html" title="class in com.google.android.exoplayer2.upstream">PriorityDataSourceFactory</a></li>
@ -958,6 +986,10 @@
<li><a href="com/google/android/exoplayer2/upstream/ResolvingDataSource.html" title="class in com.google.android.exoplayer2.upstream">ResolvingDataSource</a></li> <li><a href="com/google/android/exoplayer2/upstream/ResolvingDataSource.html" title="class in com.google.android.exoplayer2.upstream">ResolvingDataSource</a></li>
<li><a href="com/google/android/exoplayer2/upstream/ResolvingDataSource.Factory.html" title="class in com.google.android.exoplayer2.upstream">ResolvingDataSource.Factory</a></li> <li><a href="com/google/android/exoplayer2/upstream/ResolvingDataSource.Factory.html" title="class in com.google.android.exoplayer2.upstream">ResolvingDataSource.Factory</a></li>
<li><a href="com/google/android/exoplayer2/upstream/ResolvingDataSource.Resolver.html" title="interface in com.google.android.exoplayer2.upstream"><span class="interfaceName">ResolvingDataSource.Resolver</span></a></li> <li><a href="com/google/android/exoplayer2/upstream/ResolvingDataSource.Resolver.html" title="interface in com.google.android.exoplayer2.upstream"><span class="interfaceName">ResolvingDataSource.Resolver</span></a></li>
<li><a href="com/google/android/exoplayer2/effect/RgbAdjustment.html" title="class in com.google.android.exoplayer2.effect">RgbAdjustment</a></li>
<li><a href="com/google/android/exoplayer2/effect/RgbAdjustment.Builder.html" title="class in com.google.android.exoplayer2.effect">RgbAdjustment.Builder</a></li>
<li><a href="com/google/android/exoplayer2/effect/RgbFilter.html" title="class in com.google.android.exoplayer2.effect">RgbFilter</a></li>
<li><a href="com/google/android/exoplayer2/effect/RgbMatrix.html" title="interface in com.google.android.exoplayer2.effect"><span class="interfaceName">RgbMatrix</span></a></li>
<li><a href="com/google/android/exoplayer2/robolectric/RobolectricUtil.html" title="class in com.google.android.exoplayer2.robolectric">RobolectricUtil</a></li> <li><a href="com/google/android/exoplayer2/robolectric/RobolectricUtil.html" title="class in com.google.android.exoplayer2.robolectric">RobolectricUtil</a></li>
<li><a href="com/google/android/exoplayer2/ext/rtmp/RtmpDataSource.html" title="class in com.google.android.exoplayer2.ext.rtmp">RtmpDataSource</a></li> <li><a href="com/google/android/exoplayer2/ext/rtmp/RtmpDataSource.html" title="class in com.google.android.exoplayer2.ext.rtmp">RtmpDataSource</a></li>
<li><a href="com/google/android/exoplayer2/ext/rtmp/RtmpDataSource.Factory.html" title="class in com.google.android.exoplayer2.ext.rtmp">RtmpDataSource.Factory</a></li> <li><a href="com/google/android/exoplayer2/ext/rtmp/RtmpDataSource.Factory.html" title="class in com.google.android.exoplayer2.ext.rtmp">RtmpDataSource.Factory</a></li>
@ -981,8 +1013,8 @@
<li><a href="com/google/android/exoplayer2/source/SampleStream.html" title="interface in com.google.android.exoplayer2.source"><span class="interfaceName">SampleStream</span></a></li> <li><a href="com/google/android/exoplayer2/source/SampleStream.html" title="interface in com.google.android.exoplayer2.source"><span class="interfaceName">SampleStream</span></a></li>
<li><a href="com/google/android/exoplayer2/source/SampleStream.ReadDataResult.html" title="annotation in com.google.android.exoplayer2.source">SampleStream.ReadDataResult</a></li> <li><a href="com/google/android/exoplayer2/source/SampleStream.ReadDataResult.html" title="annotation in com.google.android.exoplayer2.source">SampleStream.ReadDataResult</a></li>
<li><a href="com/google/android/exoplayer2/source/SampleStream.ReadFlags.html" title="annotation in com.google.android.exoplayer2.source">SampleStream.ReadFlags</a></li> <li><a href="com/google/android/exoplayer2/source/SampleStream.ReadFlags.html" title="annotation in com.google.android.exoplayer2.source">SampleStream.ReadFlags</a></li>
<li><a href="com/google/android/exoplayer2/transformer/ScaleToFitTransformation.html" title="class in com.google.android.exoplayer2.transformer">ScaleToFitTransformation</a></li> <li><a href="com/google/android/exoplayer2/effect/ScaleToFitTransformation.html" title="class in com.google.android.exoplayer2.effect">ScaleToFitTransformation</a></li>
<li><a href="com/google/android/exoplayer2/transformer/ScaleToFitTransformation.Builder.html" title="class in com.google.android.exoplayer2.transformer">ScaleToFitTransformation.Builder</a></li> <li><a href="com/google/android/exoplayer2/effect/ScaleToFitTransformation.Builder.html" title="class in com.google.android.exoplayer2.effect">ScaleToFitTransformation.Builder</a></li>
<li><a href="com/google/android/exoplayer2/scheduler/Scheduler.html" title="interface in com.google.android.exoplayer2.scheduler"><span class="interfaceName">Scheduler</span></a></li> <li><a href="com/google/android/exoplayer2/scheduler/Scheduler.html" title="interface in com.google.android.exoplayer2.scheduler"><span class="interfaceName">Scheduler</span></a></li>
<li><a href="com/google/android/exoplayer2/extractor/ts/SectionPayloadReader.html" title="interface in com.google.android.exoplayer2.extractor.ts"><span class="interfaceName">SectionPayloadReader</span></a></li> <li><a href="com/google/android/exoplayer2/extractor/ts/SectionPayloadReader.html" title="interface in com.google.android.exoplayer2.extractor.ts"><span class="interfaceName">SectionPayloadReader</span></a></li>
<li><a href="com/google/android/exoplayer2/extractor/ts/SectionReader.html" title="class in com.google.android.exoplayer2.extractor.ts">SectionReader</a></li> <li><a href="com/google/android/exoplayer2/extractor/ts/SectionReader.html" title="class in com.google.android.exoplayer2.extractor.ts">SectionReader</a></li>
@ -1025,6 +1057,9 @@
<li><a href="com/google/android/exoplayer2/source/SilenceMediaSource.html" title="class in com.google.android.exoplayer2.source">SilenceMediaSource</a></li> <li><a href="com/google/android/exoplayer2/source/SilenceMediaSource.html" title="class in com.google.android.exoplayer2.source">SilenceMediaSource</a></li>
<li><a href="com/google/android/exoplayer2/source/SilenceMediaSource.Factory.html" title="class in com.google.android.exoplayer2.source">SilenceMediaSource.Factory</a></li> <li><a href="com/google/android/exoplayer2/source/SilenceMediaSource.Factory.html" title="class in com.google.android.exoplayer2.source">SilenceMediaSource.Factory</a></li>
<li><a href="com/google/android/exoplayer2/audio/SilenceSkippingAudioProcessor.html" title="class in com.google.android.exoplayer2.audio">SilenceSkippingAudioProcessor</a></li> <li><a href="com/google/android/exoplayer2/audio/SilenceSkippingAudioProcessor.html" title="class in com.google.android.exoplayer2.audio">SilenceSkippingAudioProcessor</a></li>
<li><a href="com/google/android/exoplayer2/SimpleBasePlayer.html" title="class in com.google.android.exoplayer2">SimpleBasePlayer</a></li>
<li><a href="com/google/android/exoplayer2/SimpleBasePlayer.State.html" title="class in com.google.android.exoplayer2">SimpleBasePlayer.State</a></li>
<li><a href="com/google/android/exoplayer2/SimpleBasePlayer.State.Builder.html" title="class in com.google.android.exoplayer2">SimpleBasePlayer.State.Builder</a></li>
<li><a href="com/google/android/exoplayer2/upstream/cache/SimpleCache.html" title="class in com.google.android.exoplayer2.upstream.cache">SimpleCache</a></li> <li><a href="com/google/android/exoplayer2/upstream/cache/SimpleCache.html" title="class in com.google.android.exoplayer2.upstream.cache">SimpleCache</a></li>
<li><a href="com/google/android/exoplayer2/decoder/SimpleDecoder.html" title="class in com.google.android.exoplayer2.decoder">SimpleDecoder</a></li> <li><a href="com/google/android/exoplayer2/decoder/SimpleDecoder.html" title="class in com.google.android.exoplayer2.decoder">SimpleDecoder</a></li>
<li><a href="com/google/android/exoplayer2/decoder/SimpleDecoderOutputBuffer.html" title="class in com.google.android.exoplayer2.decoder">SimpleDecoderOutputBuffer</a></li> <li><a href="com/google/android/exoplayer2/decoder/SimpleDecoderOutputBuffer.html" title="class in com.google.android.exoplayer2.decoder">SimpleDecoderOutputBuffer</a></li>
@ -1032,12 +1067,14 @@
<li><a href="com/google/android/exoplayer2/SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a></li> <li><a href="com/google/android/exoplayer2/SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a></li>
<li><a href="com/google/android/exoplayer2/metadata/SimpleMetadataDecoder.html" title="class in com.google.android.exoplayer2.metadata">SimpleMetadataDecoder</a></li> <li><a href="com/google/android/exoplayer2/metadata/SimpleMetadataDecoder.html" title="class in com.google.android.exoplayer2.metadata">SimpleMetadataDecoder</a></li>
<li><a href="com/google/android/exoplayer2/text/SimpleSubtitleDecoder.html" title="class in com.google.android.exoplayer2.text">SimpleSubtitleDecoder</a></li> <li><a href="com/google/android/exoplayer2/text/SimpleSubtitleDecoder.html" title="class in com.google.android.exoplayer2.text">SimpleSubtitleDecoder</a></li>
<li><a href="com/google/android/exoplayer2/transformer/SingleFrameGlTextureProcessor.html" title="interface in com.google.android.exoplayer2.transformer"><span class="interfaceName">SingleFrameGlTextureProcessor</span></a></li> <li><a href="com/google/android/exoplayer2/effect/SingleColorLut.html" title="class in com.google.android.exoplayer2.effect">SingleColorLut</a></li>
<li><a href="com/google/android/exoplayer2/effect/SingleFrameGlTextureProcessor.html" title="class in com.google.android.exoplayer2.effect">SingleFrameGlTextureProcessor</a></li>
<li><a href="com/google/android/exoplayer2/source/ads/SinglePeriodAdTimeline.html" title="class in com.google.android.exoplayer2.source.ads">SinglePeriodAdTimeline</a></li> <li><a href="com/google/android/exoplayer2/source/ads/SinglePeriodAdTimeline.html" title="class in com.google.android.exoplayer2.source.ads">SinglePeriodAdTimeline</a></li>
<li><a href="com/google/android/exoplayer2/source/SinglePeriodTimeline.html" title="class in com.google.android.exoplayer2.source">SinglePeriodTimeline</a></li> <li><a href="com/google/android/exoplayer2/source/SinglePeriodTimeline.html" title="class in com.google.android.exoplayer2.source">SinglePeriodTimeline</a></li>
<li><a href="com/google/android/exoplayer2/source/chunk/SingleSampleMediaChunk.html" title="class in com.google.android.exoplayer2.source.chunk">SingleSampleMediaChunk</a></li> <li><a href="com/google/android/exoplayer2/source/chunk/SingleSampleMediaChunk.html" title="class in com.google.android.exoplayer2.source.chunk">SingleSampleMediaChunk</a></li>
<li><a href="com/google/android/exoplayer2/source/SingleSampleMediaSource.html" title="class in com.google.android.exoplayer2.source">SingleSampleMediaSource</a></li> <li><a href="com/google/android/exoplayer2/source/SingleSampleMediaSource.html" title="class in com.google.android.exoplayer2.source">SingleSampleMediaSource</a></li>
<li><a href="com/google/android/exoplayer2/source/SingleSampleMediaSource.Factory.html" title="class in com.google.android.exoplayer2.source">SingleSampleMediaSource.Factory</a></li> <li><a href="com/google/android/exoplayer2/source/SingleSampleMediaSource.Factory.html" title="class in com.google.android.exoplayer2.source">SingleSampleMediaSource.Factory</a></li>
<li><a href="com/google/android/exoplayer2/util/Size.html" title="class in com.google.android.exoplayer2.util">Size</a></li>
<li><a href="com/google/android/exoplayer2/upstream/SlidingPercentile.html" title="class in com.google.android.exoplayer2.upstream">SlidingPercentile</a></li> <li><a href="com/google/android/exoplayer2/upstream/SlidingPercentile.html" title="class in com.google.android.exoplayer2.upstream">SlidingPercentile</a></li>
<li><a href="com/google/android/exoplayer2/metadata/mp4/SlowMotionData.html" title="class in com.google.android.exoplayer2.metadata.mp4">SlowMotionData</a></li> <li><a href="com/google/android/exoplayer2/metadata/mp4/SlowMotionData.html" title="class in com.google.android.exoplayer2.metadata.mp4">SlowMotionData</a></li>
<li><a href="com/google/android/exoplayer2/metadata/mp4/SlowMotionData.Segment.html" title="class in com.google.android.exoplayer2.metadata.mp4">SlowMotionData.Segment</a></li> <li><a href="com/google/android/exoplayer2/metadata/mp4/SlowMotionData.Segment.html" title="class in com.google.android.exoplayer2.metadata.mp4">SlowMotionData.Segment</a></li>
@ -1103,6 +1140,7 @@
<li><a href="com/google/android/exoplayer2/text/SubtitleOutputBuffer.html" title="class in com.google.android.exoplayer2.text">SubtitleOutputBuffer</a></li> <li><a href="com/google/android/exoplayer2/text/SubtitleOutputBuffer.html" title="class in com.google.android.exoplayer2.text">SubtitleOutputBuffer</a></li>
<li><a href="com/google/android/exoplayer2/ui/SubtitleView.html" title="class in com.google.android.exoplayer2.ui">SubtitleView</a></li> <li><a href="com/google/android/exoplayer2/ui/SubtitleView.html" title="class in com.google.android.exoplayer2.ui">SubtitleView</a></li>
<li><a href="com/google/android/exoplayer2/ui/SubtitleView.ViewType.html" title="annotation in com.google.android.exoplayer2.ui">SubtitleView.ViewType</a></li> <li><a href="com/google/android/exoplayer2/ui/SubtitleView.ViewType.html" title="annotation in com.google.android.exoplayer2.ui">SubtitleView.ViewType</a></li>
<li><a href="com/google/android/exoplayer2/util/SurfaceInfo.html" title="class in com.google.android.exoplayer2.util">SurfaceInfo</a></li>
<li><a href="com/google/android/exoplayer2/mediacodec/SynchronousMediaCodecAdapter.html" title="class in com.google.android.exoplayer2.mediacodec">SynchronousMediaCodecAdapter</a></li> <li><a href="com/google/android/exoplayer2/mediacodec/SynchronousMediaCodecAdapter.html" title="class in com.google.android.exoplayer2.mediacodec">SynchronousMediaCodecAdapter</a></li>
<li><a href="com/google/android/exoplayer2/mediacodec/SynchronousMediaCodecAdapter.Factory.html" title="class in com.google.android.exoplayer2.mediacodec">SynchronousMediaCodecAdapter.Factory</a></li> <li><a href="com/google/android/exoplayer2/mediacodec/SynchronousMediaCodecAdapter.Factory.html" title="class in com.google.android.exoplayer2.mediacodec">SynchronousMediaCodecAdapter.Factory</a></li>
<li><a href="com/google/android/exoplayer2/util/SystemClock.html" title="class in com.google.android.exoplayer2.util">SystemClock</a></li> <li><a href="com/google/android/exoplayer2/util/SystemClock.html" title="class in com.google.android.exoplayer2.util">SystemClock</a></li>
@ -1122,6 +1160,7 @@
<li><a href="com/google/android/exoplayer2/metadata/id3/TextInformationFrame.html" title="class in com.google.android.exoplayer2.metadata.id3">TextInformationFrame</a></li> <li><a href="com/google/android/exoplayer2/metadata/id3/TextInformationFrame.html" title="class in com.google.android.exoplayer2.metadata.id3">TextInformationFrame</a></li>
<li><a href="com/google/android/exoplayer2/text/TextOutput.html" title="interface in com.google.android.exoplayer2.text"><span class="interfaceName">TextOutput</span></a></li> <li><a href="com/google/android/exoplayer2/text/TextOutput.html" title="interface in com.google.android.exoplayer2.text"><span class="interfaceName">TextOutput</span></a></li>
<li><a href="com/google/android/exoplayer2/text/TextRenderer.html" title="class in com.google.android.exoplayer2.text">TextRenderer</a></li> <li><a href="com/google/android/exoplayer2/text/TextRenderer.html" title="class in com.google.android.exoplayer2.text">TextRenderer</a></li>
<li><a href="com/google/android/exoplayer2/effect/TextureInfo.html" title="class in com.google.android.exoplayer2.effect">TextureInfo</a></li>
<li><a href="com/google/android/exoplayer2/ThumbRating.html" title="class in com.google.android.exoplayer2">ThumbRating</a></li> <li><a href="com/google/android/exoplayer2/ThumbRating.html" title="class in com.google.android.exoplayer2">ThumbRating</a></li>
<li><a href="com/google/android/exoplayer2/ui/TimeBar.html" title="interface in com.google.android.exoplayer2.ui"><span class="interfaceName">TimeBar</span></a></li> <li><a href="com/google/android/exoplayer2/ui/TimeBar.html" title="interface in com.google.android.exoplayer2.ui"><span class="interfaceName">TimeBar</span></a></li>
<li><a href="com/google/android/exoplayer2/ui/TimeBar.OnScrubListener.html" title="interface in com.google.android.exoplayer2.ui"><span class="interfaceName">TimeBar.OnScrubListener</span></a></li> <li><a href="com/google/android/exoplayer2/ui/TimeBar.OnScrubListener.html" title="interface in com.google.android.exoplayer2.ui"><span class="interfaceName">TimeBar.OnScrubListener</span></a></li>
@ -1176,7 +1215,6 @@
<li><a href="com/google/android/exoplayer2/transformer/TransformationResult.Builder.html" title="class in com.google.android.exoplayer2.transformer">TransformationResult.Builder</a></li> <li><a href="com/google/android/exoplayer2/transformer/TransformationResult.Builder.html" title="class in com.google.android.exoplayer2.transformer">TransformationResult.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.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.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.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/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> <li><a href="com/google/android/exoplayer2/extractor/TrueHdSampleRechunker.html" title="class in com.google.android.exoplayer2.extractor">TrueHdSampleRechunker</a></li>
@ -1240,6 +1278,7 @@
<li><a href="com/google/android/exoplayer2/drm/WidevineUtil.html" title="class in com.google.android.exoplayer2.drm">WidevineUtil</a></li> <li><a href="com/google/android/exoplayer2/drm/WidevineUtil.html" title="class in com.google.android.exoplayer2.drm">WidevineUtil</a></li>
<li><a href="com/google/android/exoplayer2/ext/workmanager/WorkManagerScheduler.html" title="class in com.google.android.exoplayer2.ext.workmanager">WorkManagerScheduler</a></li> <li><a href="com/google/android/exoplayer2/ext/workmanager/WorkManagerScheduler.html" title="class in com.google.android.exoplayer2.ext.workmanager">WorkManagerScheduler</a></li>
<li><a href="com/google/android/exoplayer2/ext/workmanager/WorkManagerScheduler.SchedulerWorker.html" title="class in com.google.android.exoplayer2.ext.workmanager">WorkManagerScheduler.SchedulerWorker</a></li> <li><a href="com/google/android/exoplayer2/ext/workmanager/WorkManagerScheduler.SchedulerWorker.html" title="class in com.google.android.exoplayer2.ext.workmanager">WorkManagerScheduler.SchedulerWorker</a></li>
<li><a href="com/google/android/exoplayer2/source/WrappingMediaSource.html" title="class in com.google.android.exoplayer2.source">WrappingMediaSource</a></li>
<li><a href="com/google/android/exoplayer2/offline/WritableDownloadIndex.html" title="interface in com.google.android.exoplayer2.offline"><span class="interfaceName">WritableDownloadIndex</span></a></li> <li><a href="com/google/android/exoplayer2/offline/WritableDownloadIndex.html" title="interface in com.google.android.exoplayer2.offline"><span class="interfaceName">WritableDownloadIndex</span></a></li>
<li><a href="com/google/android/exoplayer2/util/XmlPullParserUtil.html" title="class in com.google.android.exoplayer2.util">XmlPullParserUtil</a></li> <li><a href="com/google/android/exoplayer2/util/XmlPullParserUtil.html" title="class in com.google.android.exoplayer2.util">XmlPullParserUtil</a></li>
</ul> </ul>

View File

@ -128,302 +128,306 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<td class="colLast">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="altColor"> <tr class="altColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/effect/package-summary.html">com.google.android.exoplayer2.effect</a></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/ext/av1/package-summary.html">com.google.android.exoplayer2.ext.av1</a></th> <th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/ext/av1/package-summary.html">com.google.android.exoplayer2.ext.av1</a></th>
<td class="colLast">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/ext/cast/package-summary.html">com.google.android.exoplayer2.ext.cast</a></th> <th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/ext/cast/package-summary.html">com.google.android.exoplayer2.ext.cast</a></th>
<td class="colLast">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/ext/cronet/package-summary.html">com.google.android.exoplayer2.ext.cronet</a></th> <th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/ext/cronet/package-summary.html">com.google.android.exoplayer2.ext.cronet</a></th>
<td class="colLast">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/ext/ffmpeg/package-summary.html">com.google.android.exoplayer2.ext.ffmpeg</a></th> <th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/ext/ffmpeg/package-summary.html">com.google.android.exoplayer2.ext.ffmpeg</a></th>
<td class="colLast">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/ext/flac/package-summary.html">com.google.android.exoplayer2.ext.flac</a></th> <th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/ext/flac/package-summary.html">com.google.android.exoplayer2.ext.flac</a></th>
<td class="colLast">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/ext/ima/package-summary.html">com.google.android.exoplayer2.ext.ima</a></th> <th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/ext/ima/package-summary.html">com.google.android.exoplayer2.ext.ima</a></th>
<td class="colLast">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/ext/leanback/package-summary.html">com.google.android.exoplayer2.ext.leanback</a></th> <th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/ext/leanback/package-summary.html">com.google.android.exoplayer2.ext.leanback</a></th>
<td class="colLast">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/ext/media2/package-summary.html">com.google.android.exoplayer2.ext.media2</a></th> <th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/ext/media2/package-summary.html">com.google.android.exoplayer2.ext.media2</a></th>
<td class="colLast">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/ext/mediasession/package-summary.html">com.google.android.exoplayer2.ext.mediasession</a></th> <th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/ext/mediasession/package-summary.html">com.google.android.exoplayer2.ext.mediasession</a></th>
<td class="colLast">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/ext/okhttp/package-summary.html">com.google.android.exoplayer2.ext.okhttp</a></th> <th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/ext/okhttp/package-summary.html">com.google.android.exoplayer2.ext.okhttp</a></th>
<td class="colLast">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/ext/opus/package-summary.html">com.google.android.exoplayer2.ext.opus</a></th> <th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/ext/opus/package-summary.html">com.google.android.exoplayer2.ext.opus</a></th>
<td class="colLast">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/ext/rtmp/package-summary.html">com.google.android.exoplayer2.ext.rtmp</a></th> <th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/ext/rtmp/package-summary.html">com.google.android.exoplayer2.ext.rtmp</a></th>
<td class="colLast">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/ext/vp9/package-summary.html">com.google.android.exoplayer2.ext.vp9</a></th> <th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/ext/vp9/package-summary.html">com.google.android.exoplayer2.ext.vp9</a></th>
<td class="colLast">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/ext/workmanager/package-summary.html">com.google.android.exoplayer2.ext.workmanager</a></th> <th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/ext/workmanager/package-summary.html">com.google.android.exoplayer2.ext.workmanager</a></th>
<td class="colLast">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/extractor/package-summary.html">com.google.android.exoplayer2.extractor</a></th> <th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/extractor/package-summary.html">com.google.android.exoplayer2.extractor</a></th>
<td class="colLast">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/extractor/amr/package-summary.html">com.google.android.exoplayer2.extractor.amr</a></th> <th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/extractor/amr/package-summary.html">com.google.android.exoplayer2.extractor.amr</a></th>
<td class="colLast">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/extractor/avi/package-summary.html">com.google.android.exoplayer2.extractor.avi</a></th> <th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/extractor/avi/package-summary.html">com.google.android.exoplayer2.extractor.avi</a></th>
<td class="colLast">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/extractor/flac/package-summary.html">com.google.android.exoplayer2.extractor.flac</a></th> <th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/extractor/flac/package-summary.html">com.google.android.exoplayer2.extractor.flac</a></th>
<td class="colLast">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/extractor/flv/package-summary.html">com.google.android.exoplayer2.extractor.flv</a></th> <th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/extractor/flv/package-summary.html">com.google.android.exoplayer2.extractor.flv</a></th>
<td class="colLast">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/extractor/jpeg/package-summary.html">com.google.android.exoplayer2.extractor.jpeg</a></th> <th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/extractor/jpeg/package-summary.html">com.google.android.exoplayer2.extractor.jpeg</a></th>
<td class="colLast">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/extractor/mkv/package-summary.html">com.google.android.exoplayer2.extractor.mkv</a></th> <th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/extractor/mkv/package-summary.html">com.google.android.exoplayer2.extractor.mkv</a></th>
<td class="colLast">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/extractor/mp3/package-summary.html">com.google.android.exoplayer2.extractor.mp3</a></th> <th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/extractor/mp3/package-summary.html">com.google.android.exoplayer2.extractor.mp3</a></th>
<td class="colLast">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/extractor/mp4/package-summary.html">com.google.android.exoplayer2.extractor.mp4</a></th> <th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/extractor/mp4/package-summary.html">com.google.android.exoplayer2.extractor.mp4</a></th>
<td class="colLast">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/extractor/ogg/package-summary.html">com.google.android.exoplayer2.extractor.ogg</a></th> <th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/extractor/ogg/package-summary.html">com.google.android.exoplayer2.extractor.ogg</a></th>
<td class="colLast">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/extractor/ts/package-summary.html">com.google.android.exoplayer2.extractor.ts</a></th> <th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/extractor/ts/package-summary.html">com.google.android.exoplayer2.extractor.ts</a></th>
<td class="colLast">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/extractor/wav/package-summary.html">com.google.android.exoplayer2.extractor.wav</a></th> <th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/extractor/wav/package-summary.html">com.google.android.exoplayer2.extractor.wav</a></th>
<td class="colLast">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/mediacodec/package-summary.html">com.google.android.exoplayer2.mediacodec</a></th> <th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/mediacodec/package-summary.html">com.google.android.exoplayer2.mediacodec</a></th>
<td class="colLast">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/metadata/package-summary.html">com.google.android.exoplayer2.metadata</a></th> <th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/metadata/package-summary.html">com.google.android.exoplayer2.metadata</a></th>
<td class="colLast">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/metadata/dvbsi/package-summary.html">com.google.android.exoplayer2.metadata.dvbsi</a></th> <th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/metadata/dvbsi/package-summary.html">com.google.android.exoplayer2.metadata.dvbsi</a></th>
<td class="colLast">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/metadata/emsg/package-summary.html">com.google.android.exoplayer2.metadata.emsg</a></th> <th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/metadata/emsg/package-summary.html">com.google.android.exoplayer2.metadata.emsg</a></th>
<td class="colLast">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/metadata/flac/package-summary.html">com.google.android.exoplayer2.metadata.flac</a></th> <th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/metadata/flac/package-summary.html">com.google.android.exoplayer2.metadata.flac</a></th>
<td class="colLast">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/metadata/icy/package-summary.html">com.google.android.exoplayer2.metadata.icy</a></th> <th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/metadata/icy/package-summary.html">com.google.android.exoplayer2.metadata.icy</a></th>
<td class="colLast">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/metadata/id3/package-summary.html">com.google.android.exoplayer2.metadata.id3</a></th> <th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/metadata/id3/package-summary.html">com.google.android.exoplayer2.metadata.id3</a></th>
<td class="colLast">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/metadata/mp4/package-summary.html">com.google.android.exoplayer2.metadata.mp4</a></th> <th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/metadata/mp4/package-summary.html">com.google.android.exoplayer2.metadata.mp4</a></th>
<td class="colLast">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/metadata/scte35/package-summary.html">com.google.android.exoplayer2.metadata.scte35</a></th> <th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/metadata/scte35/package-summary.html">com.google.android.exoplayer2.metadata.scte35</a></th>
<td class="colLast">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/metadata/vorbis/package-summary.html">com.google.android.exoplayer2.metadata.vorbis</a></th> <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">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/offline/package-summary.html">com.google.android.exoplayer2.offline</a></th> <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">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/robolectric/package-summary.html">com.google.android.exoplayer2.robolectric</a></th> <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">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/scheduler/package-summary.html">com.google.android.exoplayer2.scheduler</a></th> <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">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/source/package-summary.html">com.google.android.exoplayer2.source</a></th> <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">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/source/ads/package-summary.html">com.google.android.exoplayer2.source.ads</a></th> <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">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/source/chunk/package-summary.html">com.google.android.exoplayer2.source.chunk</a></th> <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">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/source/dash/package-summary.html">com.google.android.exoplayer2.source.dash</a></th> <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">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<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> <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">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<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> <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">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/source/hls/package-summary.html">com.google.android.exoplayer2.source.hls</a></th> <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">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<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> <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">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<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> <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">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/source/mediaparser/package-summary.html">com.google.android.exoplayer2.source.mediaparser</a></th> <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">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/source/rtsp/package-summary.html">com.google.android.exoplayer2.source.rtsp</a></th> <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">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<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> <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">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/source/smoothstreaming/package-summary.html">com.google.android.exoplayer2.source.smoothstreaming</a></th> <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">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<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> <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">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<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> <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">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/testutil/package-summary.html">com.google.android.exoplayer2.testutil</a></th> <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">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/testutil/truth/package-summary.html">com.google.android.exoplayer2.testutil.truth</a></th> <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">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/text/package-summary.html">com.google.android.exoplayer2.text</a></th> <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">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/text/cea/package-summary.html">com.google.android.exoplayer2.text.cea</a></th> <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">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/text/dvb/package-summary.html">com.google.android.exoplayer2.text.dvb</a></th> <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">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/text/pgs/package-summary.html">com.google.android.exoplayer2.text.pgs</a></th> <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">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/text/span/package-summary.html">com.google.android.exoplayer2.text.span</a></th> <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">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/text/ssa/package-summary.html">com.google.android.exoplayer2.text.ssa</a></th> <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">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/text/subrip/package-summary.html">com.google.android.exoplayer2.text.subrip</a></th> <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">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/text/ttml/package-summary.html">com.google.android.exoplayer2.text.ttml</a></th> <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">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/text/tx3g/package-summary.html">com.google.android.exoplayer2.text.tx3g</a></th> <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">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/text/webvtt/package-summary.html">com.google.android.exoplayer2.text.webvtt</a></th> <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">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/trackselection/package-summary.html">com.google.android.exoplayer2.trackselection</a></th> <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">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/transformer/package-summary.html">com.google.android.exoplayer2.transformer</a></th> <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">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/ui/package-summary.html">com.google.android.exoplayer2.ui</a></th> <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">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/upstream/package-summary.html">com.google.android.exoplayer2.upstream</a></th> <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">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/upstream/cache/package-summary.html">com.google.android.exoplayer2.upstream.cache</a></th> <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">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/upstream/crypto/package-summary.html">com.google.android.exoplayer2.upstream.crypto</a></th> <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">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/util/package-summary.html">com.google.android.exoplayer2.util</a></th> <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">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/video/package-summary.html">com.google.android.exoplayer2.video</a></th> <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">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<th class="colFirst" scope="row"><a href="com/google/android/exoplayer2/video/spherical/package-summary.html">com.google.android.exoplayer2.video.spherical</a></th> <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">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>

File diff suppressed because one or more lines are too long

View File

@ -183,14 +183,14 @@ implements <a href="Renderer.html" title="interface in com.google.android.exopla
<!-- --> <!-- -->
</a> </a>
<h3>Fields inherited from interface&nbsp;com.google.android.exoplayer2.<a href="Renderer.html" title="interface in com.google.android.exoplayer2">Renderer</a></h3> <h3>Fields inherited from interface&nbsp;com.google.android.exoplayer2.<a href="Renderer.html" title="interface in com.google.android.exoplayer2">Renderer</a></h3>
<code><a href="Renderer.html#MSG_CUSTOM_BASE">MSG_CUSTOM_BASE</a>, <a href="Renderer.html#MSG_SET_AUDIO_ATTRIBUTES">MSG_SET_AUDIO_ATTRIBUTES</a>, <a href="Renderer.html#MSG_SET_AUDIO_SESSION_ID">MSG_SET_AUDIO_SESSION_ID</a>, <a href="Renderer.html#MSG_SET_AUX_EFFECT_INFO">MSG_SET_AUX_EFFECT_INFO</a>, <a href="Renderer.html#MSG_SET_CAMERA_MOTION_LISTENER">MSG_SET_CAMERA_MOTION_LISTENER</a>, <a href="Renderer.html#MSG_SET_CHANGE_FRAME_RATE_STRATEGY">MSG_SET_CHANGE_FRAME_RATE_STRATEGY</a>, <a href="Renderer.html#MSG_SET_SCALING_MODE">MSG_SET_SCALING_MODE</a>, <a href="Renderer.html#MSG_SET_SKIP_SILENCE_ENABLED">MSG_SET_SKIP_SILENCE_ENABLED</a>, <a href="Renderer.html#MSG_SET_VIDEO_FRAME_METADATA_LISTENER">MSG_SET_VIDEO_FRAME_METADATA_LISTENER</a>, <a href="Renderer.html#MSG_SET_VIDEO_OUTPUT">MSG_SET_VIDEO_OUTPUT</a>, <a href="Renderer.html#MSG_SET_VOLUME">MSG_SET_VOLUME</a>, <a href="Renderer.html#MSG_SET_WAKEUP_LISTENER">MSG_SET_WAKEUP_LISTENER</a>, <a href="Renderer.html#STATE_DISABLED">STATE_DISABLED</a>, <a href="Renderer.html#STATE_ENABLED">STATE_ENABLED</a>, <a href="Renderer.html#STATE_STARTED">STATE_STARTED</a></code></li> <code><a href="Renderer.html#MSG_CUSTOM_BASE">MSG_CUSTOM_BASE</a>, <a href="Renderer.html#MSG_SET_AUDIO_ATTRIBUTES">MSG_SET_AUDIO_ATTRIBUTES</a>, <a href="Renderer.html#MSG_SET_AUDIO_SESSION_ID">MSG_SET_AUDIO_SESSION_ID</a>, <a href="Renderer.html#MSG_SET_AUX_EFFECT_INFO">MSG_SET_AUX_EFFECT_INFO</a>, <a href="Renderer.html#MSG_SET_CAMERA_MOTION_LISTENER">MSG_SET_CAMERA_MOTION_LISTENER</a>, <a href="Renderer.html#MSG_SET_CHANGE_FRAME_RATE_STRATEGY">MSG_SET_CHANGE_FRAME_RATE_STRATEGY</a>, <a href="Renderer.html#MSG_SET_PREFERRED_AUDIO_DEVICE">MSG_SET_PREFERRED_AUDIO_DEVICE</a>, <a href="Renderer.html#MSG_SET_SCALING_MODE">MSG_SET_SCALING_MODE</a>, <a href="Renderer.html#MSG_SET_SKIP_SILENCE_ENABLED">MSG_SET_SKIP_SILENCE_ENABLED</a>, <a href="Renderer.html#MSG_SET_VIDEO_FRAME_METADATA_LISTENER">MSG_SET_VIDEO_FRAME_METADATA_LISTENER</a>, <a href="Renderer.html#MSG_SET_VIDEO_OUTPUT">MSG_SET_VIDEO_OUTPUT</a>, <a href="Renderer.html#MSG_SET_VOLUME">MSG_SET_VOLUME</a>, <a href="Renderer.html#MSG_SET_WAKEUP_LISTENER">MSG_SET_WAKEUP_LISTENER</a>, <a href="Renderer.html#STATE_DISABLED">STATE_DISABLED</a>, <a href="Renderer.html#STATE_ENABLED">STATE_ENABLED</a>, <a href="Renderer.html#STATE_STARTED">STATE_STARTED</a></code></li>
</ul> </ul>
<ul class="blockList"> <ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.com.google.android.exoplayer2.RendererCapabilities"> <li class="blockList"><a id="fields.inherited.from.class.com.google.android.exoplayer2.RendererCapabilities">
<!-- --> <!-- -->
</a> </a>
<h3>Fields inherited from interface&nbsp;com.google.android.exoplayer2.<a href="RendererCapabilities.html" title="interface in com.google.android.exoplayer2">RendererCapabilities</a></h3> <h3>Fields inherited from interface&nbsp;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#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> <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_FALLBACK_MIMETYPE">DECODER_SUPPORT_FALLBACK_MIMETYPE</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> </ul>
</li> </li>
</ul> </ul>

View File

@ -117,7 +117,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<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/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/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> 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> <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_BT601"><code>C.COLOR_SPACE_BT601</code></a>, <a href="C.html#COLOR_SPACE_BT709"><code>C.COLOR_SPACE_BT709</code></a> or <a href="C.html#COLOR_SPACE_BT2020"><code>C.COLOR_SPACE_BT2020</code></a>.</div>
</li> </li>
</ul> </ul>
</div> </div>

View File

@ -4262,20 +4262,6 @@ public static final&nbsp;int TYPE_OTHER</pre>
</dl> </dl>
</li> </li>
</ul> </ul>
<a id="COLOR_SPACE_BT709">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>COLOR_SPACE_BT709</h4>
<pre>public static final&nbsp;int COLOR_SPACE_BT709</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="https://developer.android.com/reference/android/media/MediaFormat.html#COLOR_STANDARD_BT709" title="class or interface in android.media" class="externalLink" target="_top"><code>MediaFormat.COLOR_STANDARD_BT709</code></a>,
<a href="../../../../constant-values.html#com.google.android.exoplayer2.C.COLOR_SPACE_BT709">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="COLOR_SPACE_BT601"> <a id="COLOR_SPACE_BT601">
<!-- --> <!-- -->
</a> </a>
@ -4290,6 +4276,20 @@ public static final&nbsp;int TYPE_OTHER</pre>
</dl> </dl>
</li> </li>
</ul> </ul>
<a id="COLOR_SPACE_BT709">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>COLOR_SPACE_BT709</h4>
<pre>public static final&nbsp;int COLOR_SPACE_BT709</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="https://developer.android.com/reference/android/media/MediaFormat.html#COLOR_STANDARD_BT709" title="class or interface in android.media" class="externalLink" target="_top"><code>MediaFormat.COLOR_STANDARD_BT709</code></a>,
<a href="../../../../constant-values.html#com.google.android.exoplayer2.C.COLOR_SPACE_BT709">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="COLOR_SPACE_BT2020"> <a id="COLOR_SPACE_BT2020">
<!-- --> <!-- -->
</a> </a>

View File

@ -290,7 +290,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setFallbackMinPlaybackSpeed</h4> <h4>setFallbackMinPlaybackSpeed</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultLivePlaybackSpeedControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLivePlaybackSpeedControl.Builder</a>&nbsp;setFallbackMinPlaybackSpeed&#8203;(float&nbsp;fallbackMinPlaybackSpeed)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultLivePlaybackSpeedControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLivePlaybackSpeedControl.Builder</a>&nbsp;setFallbackMinPlaybackSpeed&#8203;(float&nbsp;fallbackMinPlaybackSpeed)</pre>
<div class="block">Sets the minimum playback speed that should be used if no minimum playback speed is defined <div class="block">Sets the minimum playback speed that should be used if no minimum playback speed is defined
by the media. by the media.
@ -309,7 +310,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setFallbackMaxPlaybackSpeed</h4> <h4>setFallbackMaxPlaybackSpeed</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultLivePlaybackSpeedControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLivePlaybackSpeedControl.Builder</a>&nbsp;setFallbackMaxPlaybackSpeed&#8203;(float&nbsp;fallbackMaxPlaybackSpeed)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultLivePlaybackSpeedControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLivePlaybackSpeedControl.Builder</a>&nbsp;setFallbackMaxPlaybackSpeed&#8203;(float&nbsp;fallbackMaxPlaybackSpeed)</pre>
<div class="block">Sets the maximum playback speed that should be used if no maximum playback speed is defined <div class="block">Sets the maximum playback speed that should be used if no maximum playback speed is defined
by the media. by the media.
@ -328,7 +330,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setMinUpdateIntervalMs</h4> <h4>setMinUpdateIntervalMs</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultLivePlaybackSpeedControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLivePlaybackSpeedControl.Builder</a>&nbsp;setMinUpdateIntervalMs&#8203;(long&nbsp;minUpdateIntervalMs)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultLivePlaybackSpeedControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLivePlaybackSpeedControl.Builder</a>&nbsp;setMinUpdateIntervalMs&#8203;(long&nbsp;minUpdateIntervalMs)</pre>
<div class="block">Sets the minimum interval between playback speed changes, in milliseconds. <div class="block">Sets the minimum interval between playback speed changes, in milliseconds.
<p>The default is <a href="DefaultLivePlaybackSpeedControl.html#DEFAULT_MIN_UPDATE_INTERVAL_MS"><code>DefaultLivePlaybackSpeedControl.DEFAULT_MIN_UPDATE_INTERVAL_MS</code></a>.</div> <p>The default is <a href="DefaultLivePlaybackSpeedControl.html#DEFAULT_MIN_UPDATE_INTERVAL_MS"><code>DefaultLivePlaybackSpeedControl.DEFAULT_MIN_UPDATE_INTERVAL_MS</code></a>.</div>
@ -347,7 +350,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setProportionalControlFactor</h4> <h4>setProportionalControlFactor</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultLivePlaybackSpeedControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLivePlaybackSpeedControl.Builder</a>&nbsp;setProportionalControlFactor&#8203;(float&nbsp;proportionalControlFactor)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultLivePlaybackSpeedControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLivePlaybackSpeedControl.Builder</a>&nbsp;setProportionalControlFactor&#8203;(float&nbsp;proportionalControlFactor)</pre>
<div class="block">Sets the proportional control factor used to adjust the playback speed. <div class="block">Sets the proportional control factor used to adjust the playback speed.
<p>The factor by which playback will be sped up is calculated as <code>1.0 + <p>The factor by which playback will be sped up is calculated as <code>1.0 +
@ -369,7 +373,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setMaxLiveOffsetErrorMsForUnitSpeed</h4> <h4>setMaxLiveOffsetErrorMsForUnitSpeed</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultLivePlaybackSpeedControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLivePlaybackSpeedControl.Builder</a>&nbsp;setMaxLiveOffsetErrorMsForUnitSpeed&#8203;(long&nbsp;maxLiveOffsetErrorMsForUnitSpeed)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultLivePlaybackSpeedControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLivePlaybackSpeedControl.Builder</a>&nbsp;setMaxLiveOffsetErrorMsForUnitSpeed&#8203;(long&nbsp;maxLiveOffsetErrorMsForUnitSpeed)</pre>
<div class="block">Sets the maximum difference between the current live offset and the target live offset, in <div class="block">Sets the maximum difference between the current live offset and the target live offset, in
milliseconds, for which unit speed (1.0f) is used. milliseconds, for which unit speed (1.0f) is used.
@ -389,7 +394,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setTargetLiveOffsetIncrementOnRebufferMs</h4> <h4>setTargetLiveOffsetIncrementOnRebufferMs</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultLivePlaybackSpeedControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLivePlaybackSpeedControl.Builder</a>&nbsp;setTargetLiveOffsetIncrementOnRebufferMs&#8203;(long&nbsp;targetLiveOffsetIncrementOnRebufferMs)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultLivePlaybackSpeedControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLivePlaybackSpeedControl.Builder</a>&nbsp;setTargetLiveOffsetIncrementOnRebufferMs&#8203;(long&nbsp;targetLiveOffsetIncrementOnRebufferMs)</pre>
<div class="block">Sets the increment applied to the target live offset each time the player is rebuffering, in <div class="block">Sets the increment applied to the target live offset each time the player is rebuffering, in
milliseconds.</div> milliseconds.</div>
<dl> <dl>
@ -407,7 +413,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setMinPossibleLiveOffsetSmoothingFactor</h4> <h4>setMinPossibleLiveOffsetSmoothingFactor</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultLivePlaybackSpeedControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLivePlaybackSpeedControl.Builder</a>&nbsp;setMinPossibleLiveOffsetSmoothingFactor&#8203;(float&nbsp;minPossibleLiveOffsetSmoothingFactor)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultLivePlaybackSpeedControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLivePlaybackSpeedControl.Builder</a>&nbsp;setMinPossibleLiveOffsetSmoothingFactor&#8203;(float&nbsp;minPossibleLiveOffsetSmoothingFactor)</pre>
<div class="block">Sets the smoothing factor when smoothing the minimum possible live offset that can be <div class="block">Sets the smoothing factor when smoothing the minimum possible live offset that can be
achieved during playback. achieved during playback.

View File

@ -286,7 +286,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setAllocator</h4> <h4>setAllocator</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultLoadControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLoadControl.Builder</a>&nbsp;setAllocator&#8203;(<a href="upstream/DefaultAllocator.html" title="class in com.google.android.exoplayer2.upstream">DefaultAllocator</a>&nbsp;allocator)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultLoadControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLoadControl.Builder</a>&nbsp;setAllocator&#8203;(<a href="upstream/DefaultAllocator.html" title="class in com.google.android.exoplayer2.upstream">DefaultAllocator</a>&nbsp;allocator)</pre>
<div class="block">Sets the <a href="upstream/DefaultAllocator.html" title="class in com.google.android.exoplayer2.upstream"><code>DefaultAllocator</code></a> used by the loader.</div> <div class="block">Sets the <a href="upstream/DefaultAllocator.html" title="class in com.google.android.exoplayer2.upstream"><code>DefaultAllocator</code></a> used by the loader.</div>
<dl> <dl>
<dt><span class="paramLabel">Parameters:</span></dt> <dt><span class="paramLabel">Parameters:</span></dt>
@ -304,7 +305,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setBufferDurationsMs</h4> <h4>setBufferDurationsMs</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultLoadControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLoadControl.Builder</a>&nbsp;setBufferDurationsMs&#8203;(int&nbsp;minBufferMs, <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultLoadControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLoadControl.Builder</a>&nbsp;setBufferDurationsMs&#8203;(int&nbsp;minBufferMs,
int&nbsp;maxBufferMs, int&nbsp;maxBufferMs,
int&nbsp;bufferForPlaybackMs, int&nbsp;bufferForPlaybackMs,
int&nbsp;bufferForPlaybackAfterRebufferMs)</pre> int&nbsp;bufferForPlaybackAfterRebufferMs)</pre>
@ -333,7 +335,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setTargetBufferBytes</h4> <h4>setTargetBufferBytes</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultLoadControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLoadControl.Builder</a>&nbsp;setTargetBufferBytes&#8203;(int&nbsp;targetBufferBytes)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultLoadControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLoadControl.Builder</a>&nbsp;setTargetBufferBytes&#8203;(int&nbsp;targetBufferBytes)</pre>
<div class="block">Sets the target buffer size in bytes. If set to <a href="C.html#LENGTH_UNSET"><code>C.LENGTH_UNSET</code></a>, the target buffer <div class="block">Sets the target buffer size in bytes. If set to <a href="C.html#LENGTH_UNSET"><code>C.LENGTH_UNSET</code></a>, the target buffer
size will be calculated based on the selected tracks.</div> size will be calculated based on the selected tracks.</div>
<dl> <dl>
@ -352,7 +355,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setPrioritizeTimeOverSizeThresholds</h4> <h4>setPrioritizeTimeOverSizeThresholds</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultLoadControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLoadControl.Builder</a>&nbsp;setPrioritizeTimeOverSizeThresholds&#8203;(boolean&nbsp;prioritizeTimeOverSizeThresholds)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultLoadControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLoadControl.Builder</a>&nbsp;setPrioritizeTimeOverSizeThresholds&#8203;(boolean&nbsp;prioritizeTimeOverSizeThresholds)</pre>
<div class="block">Sets whether the load control prioritizes buffer time constraints over buffer size <div class="block">Sets whether the load control prioritizes buffer time constraints over buffer size
constraints.</div> constraints.</div>
<dl> <dl>
@ -372,7 +376,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setBackBuffer</h4> <h4>setBackBuffer</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultLoadControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLoadControl.Builder</a>&nbsp;setBackBuffer&#8203;(int&nbsp;backBufferDurationMs, <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultLoadControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLoadControl.Builder</a>&nbsp;setBackBuffer&#8203;(int&nbsp;backBufferDurationMs,
boolean&nbsp;retainBackBufferFromKeyframe)</pre> boolean&nbsp;retainBackBufferFromKeyframe)</pre>
<div class="block">Sets the back buffer duration, and whether the back buffer is retained from the previous <div class="block">Sets the back buffer duration, and whether the back buffer is retained from the previous
keyframe.</div> keyframe.</div>

View File

@ -569,7 +569,8 @@ implements <a href="RenderersFactory.html" title="interface in com.google.androi
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setExtensionRendererMode</h4> <h4>setExtensionRendererMode</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultRenderersFactory.html" title="class in com.google.android.exoplayer2">DefaultRenderersFactory</a>&nbsp;setExtensionRendererMode&#8203;(@com.google.android.exoplayer2.DefaultRenderersFactory.ExtensionRendererMode int&nbsp;extensionRendererMode)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultRenderersFactory.html" title="class in com.google.android.exoplayer2">DefaultRenderersFactory</a>&nbsp;setExtensionRendererMode&#8203;(@com.google.android.exoplayer2.DefaultRenderersFactory.ExtensionRendererMode int&nbsp;extensionRendererMode)</pre>
<div class="block">Sets the extension renderer mode, which determines if and how available extension renderers are <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 used. Note that extensions must be included in the application build for them to be considered
available. available.
@ -589,7 +590,8 @@ implements <a href="RenderersFactory.html" title="interface in com.google.androi
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>forceEnableMediaCodecAsynchronousQueueing</h4> <h4>forceEnableMediaCodecAsynchronousQueueing</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultRenderersFactory.html" title="class in com.google.android.exoplayer2">DefaultRenderersFactory</a>&nbsp;forceEnableMediaCodecAsynchronousQueueing()</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultRenderersFactory.html" title="class in com.google.android.exoplayer2">DefaultRenderersFactory</a>&nbsp;forceEnableMediaCodecAsynchronousQueueing()</pre>
<div class="block">Enables <a href="mediacodec/MediaCodecRenderer.html" title="class in com.google.android.exoplayer2.mediacodec"><code>MediaCodecRenderer</code></a> instances to <div class="block">Enables <a href="mediacodec/MediaCodecRenderer.html" title="class in com.google.android.exoplayer2.mediacodec"><code>MediaCodecRenderer</code></a> instances to
operate their <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> in asynchronous mode and perform asynchronous queueing. operate their <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> in asynchronous mode and perform asynchronous queueing.
@ -607,7 +609,8 @@ implements <a href="RenderersFactory.html" title="interface in com.google.androi
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>forceDisableMediaCodecAsynchronousQueueing</h4> <h4>forceDisableMediaCodecAsynchronousQueueing</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultRenderersFactory.html" title="class in com.google.android.exoplayer2">DefaultRenderersFactory</a>&nbsp;forceDisableMediaCodecAsynchronousQueueing()</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultRenderersFactory.html" title="class in com.google.android.exoplayer2">DefaultRenderersFactory</a>&nbsp;forceDisableMediaCodecAsynchronousQueueing()</pre>
<div class="block">Disables <a href="mediacodec/MediaCodecRenderer.html" title="class in com.google.android.exoplayer2.mediacodec"><code>MediaCodecRenderer</code></a> instances from <div class="block">Disables <a href="mediacodec/MediaCodecRenderer.html" title="class in com.google.android.exoplayer2.mediacodec"><code>MediaCodecRenderer</code></a> instances from
operating their <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> in asynchronous mode and perform asynchronous queueing. operating their <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> in asynchronous mode and perform asynchronous queueing.
<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> instances will be operated synchronous mode.</div> <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> instances will be operated synchronous mode.</div>
@ -623,7 +626,8 @@ implements <a href="RenderersFactory.html" title="interface in com.google.androi
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>experimentalSetSynchronizeCodecInteractionsWithQueueingEnabled</h4> <h4>experimentalSetSynchronizeCodecInteractionsWithQueueingEnabled</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultRenderersFactory.html" title="class in com.google.android.exoplayer2">DefaultRenderersFactory</a>&nbsp;experimentalSetSynchronizeCodecInteractionsWithQueueingEnabled&#8203;(boolean&nbsp;enabled)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultRenderersFactory.html" title="class in com.google.android.exoplayer2">DefaultRenderersFactory</a>&nbsp;experimentalSetSynchronizeCodecInteractionsWithQueueingEnabled&#8203;(boolean&nbsp;enabled)</pre>
<div class="block">Enable synchronizing codec interactions with asynchronous buffer queueing. <div class="block">Enable synchronizing codec interactions with asynchronous buffer queueing.
<p>This method is experimental, and will be renamed or removed in a future release.</div> <p>This method is experimental, and will be renamed or removed in a future release.</div>
@ -642,7 +646,8 @@ implements <a href="RenderersFactory.html" title="interface in com.google.androi
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setEnableDecoderFallback</h4> <h4>setEnableDecoderFallback</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultRenderersFactory.html" title="class in com.google.android.exoplayer2">DefaultRenderersFactory</a>&nbsp;setEnableDecoderFallback&#8203;(boolean&nbsp;enableDecoderFallback)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultRenderersFactory.html" title="class in com.google.android.exoplayer2">DefaultRenderersFactory</a>&nbsp;setEnableDecoderFallback&#8203;(boolean&nbsp;enableDecoderFallback)</pre>
<div class="block">Sets whether to enable fallback to lower-priority decoders if decoder initialization fails. <div class="block">Sets whether to enable fallback to lower-priority decoders if decoder initialization fails.
This may result in using a decoder that is less efficient or slower than the primary decoder.</div> This may result in using a decoder that is less efficient or slower than the primary decoder.</div>
<dl> <dl>
@ -660,7 +665,8 @@ implements <a href="RenderersFactory.html" title="interface in com.google.androi
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setMediaCodecSelector</h4> <h4>setMediaCodecSelector</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultRenderersFactory.html" title="class in com.google.android.exoplayer2">DefaultRenderersFactory</a>&nbsp;setMediaCodecSelector&#8203;(<a href="mediacodec/MediaCodecSelector.html" title="interface in com.google.android.exoplayer2.mediacodec">MediaCodecSelector</a>&nbsp;mediaCodecSelector)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultRenderersFactory.html" title="class in com.google.android.exoplayer2">DefaultRenderersFactory</a>&nbsp;setMediaCodecSelector&#8203;(<a href="mediacodec/MediaCodecSelector.html" title="interface in com.google.android.exoplayer2.mediacodec">MediaCodecSelector</a>&nbsp;mediaCodecSelector)</pre>
<div class="block">Sets a <a href="mediacodec/MediaCodecSelector.html" title="interface in com.google.android.exoplayer2.mediacodec"><code>MediaCodecSelector</code></a> for use by <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 renderers. <div class="block">Sets a <a href="mediacodec/MediaCodecSelector.html" title="interface in com.google.android.exoplayer2.mediacodec"><code>MediaCodecSelector</code></a> for use by <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 renderers.
<p>The default value is <a href="mediacodec/MediaCodecSelector.html#DEFAULT"><code>MediaCodecSelector.DEFAULT</code></a>.</div> <p>The default value is <a href="mediacodec/MediaCodecSelector.html#DEFAULT"><code>MediaCodecSelector.DEFAULT</code></a>.</div>
@ -678,7 +684,8 @@ implements <a href="RenderersFactory.html" title="interface in com.google.androi
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setEnableAudioFloatOutput</h4> <h4>setEnableAudioFloatOutput</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultRenderersFactory.html" title="class in com.google.android.exoplayer2">DefaultRenderersFactory</a>&nbsp;setEnableAudioFloatOutput&#8203;(boolean&nbsp;enableFloatOutput)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultRenderersFactory.html" title="class in com.google.android.exoplayer2">DefaultRenderersFactory</a>&nbsp;setEnableAudioFloatOutput&#8203;(boolean&nbsp;enableFloatOutput)</pre>
<div class="block">Sets whether floating point audio should be output when possible. <div class="block">Sets whether floating point audio should be output when possible.
<p>Enabling floating point output disables audio processing, but may allow for higher quality <p>Enabling floating point output disables audio processing, but may allow for higher quality
@ -699,7 +706,8 @@ implements <a href="RenderersFactory.html" title="interface in com.google.androi
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setEnableAudioOffload</h4> <h4>setEnableAudioOffload</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultRenderersFactory.html" title="class in com.google.android.exoplayer2">DefaultRenderersFactory</a>&nbsp;setEnableAudioOffload&#8203;(boolean&nbsp;enableOffload)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultRenderersFactory.html" title="class in com.google.android.exoplayer2">DefaultRenderersFactory</a>&nbsp;setEnableAudioOffload&#8203;(boolean&nbsp;enableOffload)</pre>
<div class="block">Sets whether audio should be played using the offload path. <div class="block">Sets whether audio should be played using the offload path.
<p>Audio offload disables ExoPlayer audio processing, but significantly reduces the energy <p>Audio offload disables ExoPlayer audio processing, but significantly reduces the energy
@ -725,7 +733,8 @@ implements <a href="RenderersFactory.html" title="interface in com.google.androi
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setEnableAudioTrackPlaybackParams</h4> <h4>setEnableAudioTrackPlaybackParams</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultRenderersFactory.html" title="class in com.google.android.exoplayer2">DefaultRenderersFactory</a>&nbsp;setEnableAudioTrackPlaybackParams&#8203;(boolean&nbsp;enableAudioTrackPlaybackParams)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultRenderersFactory.html" title="class in com.google.android.exoplayer2">DefaultRenderersFactory</a>&nbsp;setEnableAudioTrackPlaybackParams&#8203;(boolean&nbsp;enableAudioTrackPlaybackParams)</pre>
<div class="block">Sets whether to enable setting playback speed using <a href="https://developer.android.com/reference/android/media/AudioTrack.html#setPlaybackParams(android.media.PlaybackParams)" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack.setPlaybackParams(PlaybackParams)</code></a>, which is supported from API level <div class="block">Sets whether to enable setting playback speed using <a href="https://developer.android.com/reference/android/media/AudioTrack.html#setPlaybackParams(android.media.PlaybackParams)" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack.setPlaybackParams(PlaybackParams)</code></a>, which is supported from API level
23, rather than using application-level audio speed adjustment. This setting has no effect on 23, rather than using application-level audio speed adjustment. This setting has no effect on
builds before API level 23 (application-level speed adjustment will be used in all cases). builds before API level 23 (application-level speed adjustment will be used in all cases).
@ -751,7 +760,8 @@ implements <a href="RenderersFactory.html" title="interface in com.google.androi
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setAllowedVideoJoiningTimeMs</h4> <h4>setAllowedVideoJoiningTimeMs</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultRenderersFactory.html" title="class in com.google.android.exoplayer2">DefaultRenderersFactory</a>&nbsp;setAllowedVideoJoiningTimeMs&#8203;(long&nbsp;allowedVideoJoiningTimeMs)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultRenderersFactory.html" title="class in com.google.android.exoplayer2">DefaultRenderersFactory</a>&nbsp;setAllowedVideoJoiningTimeMs&#8203;(long&nbsp;allowedVideoJoiningTimeMs)</pre>
<div class="block">Sets the maximum duration for which video renderers can attempt to seamlessly join an ongoing <div class="block">Sets the maximum duration for which video renderers can attempt to seamlessly join an ongoing
playback. playback.

View File

@ -25,7 +25,7 @@
catch(err) { catch(err) {
} }
//--> //-->
var data = {"i0":18,"i1":18}; var data = {"i0":18,"i1":18,"i2":18};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],16:["t5","Default Methods"]}; var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],16:["t5","Default Methods"]};
var altColor = "altColor"; var altColor = "altColor";
var rowColor = "rowColor"; var rowColor = "rowColor";
@ -151,12 +151,19 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</tr> </tr>
<tr id="i0" class="altColor"> <tr id="i0" class="altColor">
<td class="colFirst"><code>default void</code></td> <td class="colFirst"><code>default void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onExperimentalOffloadedPlayback(boolean)">onExperimentalOffloadedPlayback</a></span>&#8203;(boolean&nbsp;offloadedPlayback)</code></th>
<td class="colLast">
<div class="block">Called when the value of <a href="https://developer.android.com/reference/android/media/AudioTrack.html#isOffloadedPlayback()" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack.isOffloadedPlayback()</code></a> changes.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>default void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onExperimentalOffloadSchedulingEnabledChanged(boolean)">onExperimentalOffloadSchedulingEnabledChanged</a></span>&#8203;(boolean&nbsp;offloadSchedulingEnabled)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onExperimentalOffloadSchedulingEnabledChanged(boolean)">onExperimentalOffloadSchedulingEnabledChanged</a></span>&#8203;(boolean&nbsp;offloadSchedulingEnabled)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Called when the player has started or stopped offload scheduling using <a href="ExoPlayer.html#experimentalSetOffloadSchedulingEnabled(boolean)"><code>ExoPlayer.experimentalSetOffloadSchedulingEnabled(boolean)</code></a>.</div> <div class="block">Called when the player has started or stopped offload scheduling using <a href="ExoPlayer.html#experimentalSetOffloadSchedulingEnabled(boolean)"><code>ExoPlayer.experimentalSetOffloadSchedulingEnabled(boolean)</code></a>.</div>
</td> </td>
</tr> </tr>
<tr id="i1" class="rowColor"> <tr id="i2" class="altColor">
<td class="colFirst"><code>default void</code></td> <td class="colFirst"><code>default void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onExperimentalSleepingForOffloadChanged(boolean)">onExperimentalSleepingForOffloadChanged</a></span>&#8203;(boolean&nbsp;sleepingForOffload)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onExperimentalSleepingForOffloadChanged(boolean)">onExperimentalSleepingForOffloadChanged</a></span>&#8203;(boolean&nbsp;sleepingForOffload)</code></th>
<td class="colLast"> <td class="colLast">
@ -195,7 +202,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<a id="onExperimentalSleepingForOffloadChanged(boolean)"> <a id="onExperimentalSleepingForOffloadChanged(boolean)">
<!-- --> <!-- -->
</a> </a>
<ul class="blockListLast"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>onExperimentalSleepingForOffloadChanged</h4> <h4>onExperimentalSleepingForOffloadChanged</h4>
<pre class="methodSignature">default&nbsp;void&nbsp;onExperimentalSleepingForOffloadChanged&#8203;(boolean&nbsp;sleepingForOffload)</pre> <pre class="methodSignature">default&nbsp;void&nbsp;onExperimentalSleepingForOffloadChanged&#8203;(boolean&nbsp;sleepingForOffload)</pre>
@ -204,6 +211,21 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<p>This method is experimental, and will be renamed or removed in a future release.</div> <p>This method is experimental, and will be renamed or removed in a future release.</div>
</li> </li>
</ul> </ul>
<a id="onExperimentalOffloadedPlayback(boolean)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>onExperimentalOffloadedPlayback</h4>
<pre class="methodSignature">default&nbsp;void&nbsp;onExperimentalOffloadedPlayback&#8203;(boolean&nbsp;offloadedPlayback)</pre>
<div class="block">Called when the value of <a href="https://developer.android.com/reference/android/media/AudioTrack.html#isOffloadedPlayback()" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack.isOffloadedPlayback()</code></a> changes.
<p>This should not be generally required to be acted upon. But when offload is critical for
efficiency, or audio features (gapless, playback speed), this will let the app know.
<p>This method is experimental, and will be renamed or removed in a future release.</div>
</li>
</ul>
</li> </li>
</ul> </ul>
</section> </section>

View File

@ -587,7 +587,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>experimentalSetForegroundModeTimeoutMs</h4> <h4>experimentalSetForegroundModeTimeoutMs</h4>
<pre class="methodSignature">public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;experimentalSetForegroundModeTimeoutMs&#8203;(long&nbsp;timeoutMs)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;experimentalSetForegroundModeTimeoutMs&#8203;(long&nbsp;timeoutMs)</pre>
<div class="block">Sets a limit on the time a call to <a href="ExoPlayer.html#setForegroundMode(boolean)"><code>ExoPlayer.setForegroundMode(boolean)</code></a> can spend. If a call to <a href="ExoPlayer.html#setForegroundMode(boolean)"><code>ExoPlayer.setForegroundMode(boolean)</code></a> takes more than <code>timeoutMs</code> milliseconds to complete, the player <div class="block">Sets a limit on the time a call to <a href="ExoPlayer.html#setForegroundMode(boolean)"><code>ExoPlayer.setForegroundMode(boolean)</code></a> can spend. If a call to <a href="ExoPlayer.html#setForegroundMode(boolean)"><code>ExoPlayer.setForegroundMode(boolean)</code></a> takes more than <code>timeoutMs</code> milliseconds to complete, the player
will raise an error via <a href="Player.Listener.html#onPlayerError(com.google.android.exoplayer2.PlaybackException)"><code>Player.Listener.onPlayerError(com.google.android.exoplayer2.PlaybackException)</code></a>. will raise an error via <a href="Player.Listener.html#onPlayerError(com.google.android.exoplayer2.PlaybackException)"><code>Player.Listener.onPlayerError(com.google.android.exoplayer2.PlaybackException)</code></a>.
@ -604,7 +605,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setRenderersFactory</h4> <h4>setRenderersFactory</h4>
<pre class="methodSignature">public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setRenderersFactory&#8203;(<a href="RenderersFactory.html" title="interface in com.google.android.exoplayer2">RenderersFactory</a>&nbsp;renderersFactory)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setRenderersFactory&#8203;(<a href="RenderersFactory.html" title="interface in com.google.android.exoplayer2">RenderersFactory</a>&nbsp;renderersFactory)</pre>
<div class="block">Sets the <a href="RenderersFactory.html" title="interface in com.google.android.exoplayer2"><code>RenderersFactory</code></a> that will be used by the player.</div> <div class="block">Sets the <a href="RenderersFactory.html" title="interface in com.google.android.exoplayer2"><code>RenderersFactory</code></a> that will be used by the player.</div>
<dl> <dl>
<dt><span class="paramLabel">Parameters:</span></dt> <dt><span class="paramLabel">Parameters:</span></dt>
@ -622,7 +624,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setMediaSourceFactory</h4> <h4>setMediaSourceFactory</h4>
<pre class="methodSignature">public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setMediaSourceFactory&#8203;(<a href="source/MediaSource.Factory.html" title="interface in com.google.android.exoplayer2.source">MediaSource.Factory</a>&nbsp;mediaSourceFactory)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setMediaSourceFactory&#8203;(<a href="source/MediaSource.Factory.html" title="interface in com.google.android.exoplayer2.source">MediaSource.Factory</a>&nbsp;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> <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> <dl>
<dt><span class="paramLabel">Parameters:</span></dt> <dt><span class="paramLabel">Parameters:</span></dt>
@ -640,7 +643,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setTrackSelector</h4> <h4>setTrackSelector</h4>
<pre class="methodSignature">public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setTrackSelector&#8203;(<a href="trackselection/TrackSelector.html" title="class in com.google.android.exoplayer2.trackselection">TrackSelector</a>&nbsp;trackSelector)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setTrackSelector&#8203;(<a href="trackselection/TrackSelector.html" title="class in com.google.android.exoplayer2.trackselection">TrackSelector</a>&nbsp;trackSelector)</pre>
<div class="block">Sets the <a href="trackselection/TrackSelector.html" title="class in com.google.android.exoplayer2.trackselection"><code>TrackSelector</code></a> that will be used by the player.</div> <div class="block">Sets the <a href="trackselection/TrackSelector.html" title="class in com.google.android.exoplayer2.trackselection"><code>TrackSelector</code></a> that will be used by the player.</div>
<dl> <dl>
<dt><span class="paramLabel">Parameters:</span></dt> <dt><span class="paramLabel">Parameters:</span></dt>
@ -658,7 +662,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setLoadControl</h4> <h4>setLoadControl</h4>
<pre class="methodSignature">public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setLoadControl&#8203;(<a href="LoadControl.html" title="interface in com.google.android.exoplayer2">LoadControl</a>&nbsp;loadControl)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setLoadControl&#8203;(<a href="LoadControl.html" title="interface in com.google.android.exoplayer2">LoadControl</a>&nbsp;loadControl)</pre>
<div class="block">Sets the <a href="LoadControl.html" title="interface in com.google.android.exoplayer2"><code>LoadControl</code></a> that will be used by the player.</div> <div class="block">Sets the <a href="LoadControl.html" title="interface in com.google.android.exoplayer2"><code>LoadControl</code></a> that will be used by the player.</div>
<dl> <dl>
<dt><span class="paramLabel">Parameters:</span></dt> <dt><span class="paramLabel">Parameters:</span></dt>
@ -676,7 +681,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setBandwidthMeter</h4> <h4>setBandwidthMeter</h4>
<pre class="methodSignature">public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setBandwidthMeter&#8203;(<a href="upstream/BandwidthMeter.html" title="interface in com.google.android.exoplayer2.upstream">BandwidthMeter</a>&nbsp;bandwidthMeter)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setBandwidthMeter&#8203;(<a href="upstream/BandwidthMeter.html" title="interface in com.google.android.exoplayer2.upstream">BandwidthMeter</a>&nbsp;bandwidthMeter)</pre>
<div class="block">Sets the <a href="upstream/BandwidthMeter.html" title="interface in com.google.android.exoplayer2.upstream"><code>BandwidthMeter</code></a> that will be used by the player.</div> <div class="block">Sets the <a href="upstream/BandwidthMeter.html" title="interface in com.google.android.exoplayer2.upstream"><code>BandwidthMeter</code></a> that will be used by the player.</div>
<dl> <dl>
<dt><span class="paramLabel">Parameters:</span></dt> <dt><span class="paramLabel">Parameters:</span></dt>
@ -694,7 +700,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setLooper</h4> <h4>setLooper</h4>
<pre class="methodSignature">public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setLooper&#8203;(<a href="https://developer.android.com/reference/android/os/Looper.html" title="class or interface in android.os" class="externalLink" target="_top">Looper</a>&nbsp;looper)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setLooper&#8203;(<a href="https://developer.android.com/reference/android/os/Looper.html" title="class or interface in android.os" class="externalLink" target="_top">Looper</a>&nbsp;looper)</pre>
<div class="block">Sets the <a href="https://developer.android.com/reference/android/os/Looper.html" title="class or interface in android.os" class="externalLink" target="_top"><code>Looper</code></a> that must be used for all calls to the player and that is used to <div class="block">Sets the <a href="https://developer.android.com/reference/android/os/Looper.html" title="class or interface in android.os" class="externalLink" target="_top"><code>Looper</code></a> that must be used for all calls to the player and that is used to
call listeners on.</div> call listeners on.</div>
<dl> <dl>
@ -713,7 +720,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setAnalyticsCollector</h4> <h4>setAnalyticsCollector</h4>
<pre class="methodSignature">public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setAnalyticsCollector&#8203;(<a href="analytics/AnalyticsCollector.html" title="interface in com.google.android.exoplayer2.analytics">AnalyticsCollector</a>&nbsp;analyticsCollector)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setAnalyticsCollector&#8203;(<a href="analytics/AnalyticsCollector.html" title="interface in com.google.android.exoplayer2.analytics">AnalyticsCollector</a>&nbsp;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> <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> <dl>
<dt><span class="paramLabel">Parameters:</span></dt> <dt><span class="paramLabel">Parameters:</span></dt>
@ -731,7 +739,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setPriorityTaskManager</h4> <h4>setPriorityTaskManager</h4>
<pre class="methodSignature">public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setPriorityTaskManager&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setPriorityTaskManager&#8203;(@Nullable
<a href="util/PriorityTaskManager.html" title="class in com.google.android.exoplayer2.util">PriorityTaskManager</a>&nbsp;priorityTaskManager)</pre> <a href="util/PriorityTaskManager.html" title="class in com.google.android.exoplayer2.util">PriorityTaskManager</a>&nbsp;priorityTaskManager)</pre>
<div class="block">Sets an <a href="util/PriorityTaskManager.html" title="class in com.google.android.exoplayer2.util"><code>PriorityTaskManager</code></a> that will be used by the player. <div class="block">Sets an <a href="util/PriorityTaskManager.html" title="class in com.google.android.exoplayer2.util"><code>PriorityTaskManager</code></a> that will be used by the player.
@ -752,7 +761,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setAudioAttributes</h4> <h4>setAudioAttributes</h4>
<pre class="methodSignature">public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setAudioAttributes&#8203;(<a href="audio/AudioAttributes.html" title="class in com.google.android.exoplayer2.audio">AudioAttributes</a>&nbsp;audioAttributes, <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setAudioAttributes&#8203;(<a href="audio/AudioAttributes.html" title="class in com.google.android.exoplayer2.audio">AudioAttributes</a>&nbsp;audioAttributes,
boolean&nbsp;handleAudioFocus)</pre> boolean&nbsp;handleAudioFocus)</pre>
<div class="block">Sets <a href="audio/AudioAttributes.html" title="class in com.google.android.exoplayer2.audio"><code>AudioAttributes</code></a> that will be used by the player and whether to handle audio <div class="block">Sets <a href="audio/AudioAttributes.html" title="class in com.google.android.exoplayer2.audio"><code>AudioAttributes</code></a> that will be used by the player and whether to handle audio
focus. focus.
@ -775,7 +785,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setWakeMode</h4> <h4>setWakeMode</h4>
<pre class="methodSignature">public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setWakeMode&#8203;(<a href="C.WakeMode.html" title="annotation in com.google.android.exoplayer2">@WakeMode</a> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setWakeMode&#8203;(<a href="C.WakeMode.html" title="annotation in com.google.android.exoplayer2">@WakeMode</a>
@com.google.android.exoplayer2.C.WakeMode int&nbsp;wakeMode)</pre> @com.google.android.exoplayer2.C.WakeMode int&nbsp;wakeMode)</pre>
<div class="block">Sets the <a href="C.WakeMode.html" title="annotation in com.google.android.exoplayer2"><code>C.WakeMode</code></a> that will be used by the player. <div class="block">Sets the <a href="C.WakeMode.html" title="annotation in com.google.android.exoplayer2"><code>C.WakeMode</code></a> that will be used by the player.
@ -802,7 +813,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setHandleAudioBecomingNoisy</h4> <h4>setHandleAudioBecomingNoisy</h4>
<pre class="methodSignature">public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setHandleAudioBecomingNoisy&#8203;(boolean&nbsp;handleAudioBecomingNoisy)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setHandleAudioBecomingNoisy&#8203;(boolean&nbsp;handleAudioBecomingNoisy)</pre>
<div class="block">Sets whether the player should pause automatically when audio is rerouted from a headset to <div class="block">Sets whether the player should pause automatically when audio is rerouted from a headset to
device speakers. See the <a href="https://developer.android.com/guide/topics/media-apps/volume-and-earphones#becoming-noisy"> device speakers. See the <a href="https://developer.android.com/guide/topics/media-apps/volume-and-earphones#becoming-noisy">
audio becoming noisy</a> documentation for more information.</div> audio becoming noisy</a> documentation for more information.</div>
@ -823,7 +835,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setSkipSilenceEnabled</h4> <h4>setSkipSilenceEnabled</h4>
<pre class="methodSignature">public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setSkipSilenceEnabled&#8203;(boolean&nbsp;skipSilenceEnabled)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setSkipSilenceEnabled&#8203;(boolean&nbsp;skipSilenceEnabled)</pre>
<div class="block">Sets whether silences silences in the audio stream is enabled.</div> <div class="block">Sets whether silences silences in the audio stream is enabled.</div>
<dl> <dl>
<dt><span class="paramLabel">Parameters:</span></dt> <dt><span class="paramLabel">Parameters:</span></dt>
@ -841,7 +854,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setVideoScalingMode</h4> <h4>setVideoScalingMode</h4>
<pre class="methodSignature">public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setVideoScalingMode&#8203;(<a href="C.VideoScalingMode.html" title="annotation in com.google.android.exoplayer2">@VideoScalingMode</a> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setVideoScalingMode&#8203;(<a href="C.VideoScalingMode.html" title="annotation in com.google.android.exoplayer2">@VideoScalingMode</a>
@com.google.android.exoplayer2.C.VideoScalingMode int&nbsp;videoScalingMode)</pre> @com.google.android.exoplayer2.C.VideoScalingMode int&nbsp;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. <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.
@ -863,7 +877,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setVideoChangeFrameRateStrategy</h4> <h4>setVideoChangeFrameRateStrategy</h4>
<pre class="methodSignature">public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setVideoChangeFrameRateStrategy&#8203;(<a href="C.VideoChangeFrameRateStrategy.html" title="annotation in com.google.android.exoplayer2">@VideoChangeFrameRateStrategy</a> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setVideoChangeFrameRateStrategy&#8203;(<a href="C.VideoChangeFrameRateStrategy.html" title="annotation in com.google.android.exoplayer2">@VideoChangeFrameRateStrategy</a>
@com.google.android.exoplayer2.C.VideoChangeFrameRateStrategy int&nbsp;videoChangeFrameRateStrategy)</pre> @com.google.android.exoplayer2.C.VideoChangeFrameRateStrategy int&nbsp;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 <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>. 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>.
@ -888,7 +903,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setUseLazyPreparation</h4> <h4>setUseLazyPreparation</h4>
<pre class="methodSignature">public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setUseLazyPreparation&#8203;(boolean&nbsp;useLazyPreparation)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setUseLazyPreparation&#8203;(boolean&nbsp;useLazyPreparation)</pre>
<div class="block">Sets whether media sources should be initialized lazily. <div class="block">Sets whether media sources should be initialized lazily.
<p>If false, all initial preparation steps (e.g., manifest loads) happen immediately. If <p>If false, all initial preparation steps (e.g., manifest loads) happen immediately. If
@ -910,7 +926,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setSeekParameters</h4> <h4>setSeekParameters</h4>
<pre class="methodSignature">public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setSeekParameters&#8203;(<a href="SeekParameters.html" title="class in com.google.android.exoplayer2">SeekParameters</a>&nbsp;seekParameters)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setSeekParameters&#8203;(<a href="SeekParameters.html" title="class in com.google.android.exoplayer2">SeekParameters</a>&nbsp;seekParameters)</pre>
<div class="block">Sets the parameters that control how seek operations are performed.</div> <div class="block">Sets the parameters that control how seek operations are performed.</div>
<dl> <dl>
<dt><span class="paramLabel">Parameters:</span></dt> <dt><span class="paramLabel">Parameters:</span></dt>
@ -928,7 +945,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setSeekBackIncrementMs</h4> <h4>setSeekBackIncrementMs</h4>
<pre class="methodSignature">public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setSeekBackIncrementMs&#8203;(@IntRange(from=1L) <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setSeekBackIncrementMs&#8203;(@IntRange(from=1L)
long&nbsp;seekBackIncrementMs)</pre> long&nbsp;seekBackIncrementMs)</pre>
<div class="block">Sets the <a href="Player.html#seekBack()"><code>Player.seekBack()</code></a> increment.</div> <div class="block">Sets the <a href="Player.html#seekBack()"><code>Player.seekBack()</code></a> increment.</div>
<dl> <dl>
@ -948,7 +966,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setSeekForwardIncrementMs</h4> <h4>setSeekForwardIncrementMs</h4>
<pre class="methodSignature">public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setSeekForwardIncrementMs&#8203;(@IntRange(from=1L) <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setSeekForwardIncrementMs&#8203;(@IntRange(from=1L)
long&nbsp;seekForwardIncrementMs)</pre> long&nbsp;seekForwardIncrementMs)</pre>
<div class="block">Sets the <a href="Player.html#seekForward()"><code>Player.seekForward()</code></a> increment.</div> <div class="block">Sets the <a href="Player.html#seekForward()"><code>Player.seekForward()</code></a> increment.</div>
<dl> <dl>
@ -968,7 +987,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setReleaseTimeoutMs</h4> <h4>setReleaseTimeoutMs</h4>
<pre class="methodSignature">public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setReleaseTimeoutMs&#8203;(long&nbsp;releaseTimeoutMs)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setReleaseTimeoutMs&#8203;(long&nbsp;releaseTimeoutMs)</pre>
<div class="block">Sets a timeout for calls to <a href="Player.html#release()"><code>Player.release()</code></a> and <a href="ExoPlayer.html#setForegroundMode(boolean)"><code>ExoPlayer.setForegroundMode(boolean)</code></a>. <div class="block">Sets a timeout for calls to <a href="Player.html#release()"><code>Player.release()</code></a> and <a href="ExoPlayer.html#setForegroundMode(boolean)"><code>ExoPlayer.setForegroundMode(boolean)</code></a>.
<p>If a call to <a href="Player.html#release()"><code>Player.release()</code></a> or <a href="ExoPlayer.html#setForegroundMode(boolean)"><code>ExoPlayer.setForegroundMode(boolean)</code></a> takes more than <code> <p>If a call to <a href="Player.html#release()"><code>Player.release()</code></a> or <a href="ExoPlayer.html#setForegroundMode(boolean)"><code>ExoPlayer.setForegroundMode(boolean)</code></a> takes more than <code>
@ -989,7 +1009,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setDetachSurfaceTimeoutMs</h4> <h4>setDetachSurfaceTimeoutMs</h4>
<pre class="methodSignature">public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setDetachSurfaceTimeoutMs&#8203;(long&nbsp;detachSurfaceTimeoutMs)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setDetachSurfaceTimeoutMs&#8203;(long&nbsp;detachSurfaceTimeoutMs)</pre>
<div class="block">Sets a timeout for detaching a surface from the player. <div class="block">Sets a timeout for detaching a surface from the player.
<p>If detaching a surface or replacing a surface takes more than <code> <p>If detaching a surface or replacing a surface takes more than <code>
@ -1010,7 +1031,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setPauseAtEndOfMediaItems</h4> <h4>setPauseAtEndOfMediaItems</h4>
<pre class="methodSignature">public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setPauseAtEndOfMediaItems&#8203;(boolean&nbsp;pauseAtEndOfMediaItems)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setPauseAtEndOfMediaItems&#8203;(boolean&nbsp;pauseAtEndOfMediaItems)</pre>
<div class="block">Sets whether to pause playback at the end of each media item. <div class="block">Sets whether to pause playback at the end of each media item.
<p>This means the player will pause at the end of each window in the current <a href="Player.html#getCurrentTimeline()"><code>timeline</code></a>. Listeners will be informed by a call to <a href="Player.Listener.html#onPlayWhenReadyChanged(boolean,@com.google.android.exoplayer2.Player.PlayWhenReadyChangeReasonint)"><code>Player.Listener.onPlayWhenReadyChanged(boolean, int)</code></a> with the reason <a href="Player.html#PLAY_WHEN_READY_CHANGE_REASON_END_OF_MEDIA_ITEM"><code>Player.PLAY_WHEN_READY_CHANGE_REASON_END_OF_MEDIA_ITEM</code></a> when this happens.</div> <p>This means the player will pause at the end of each window in the current <a href="Player.html#getCurrentTimeline()"><code>timeline</code></a>. Listeners will be informed by a call to <a href="Player.Listener.html#onPlayWhenReadyChanged(boolean,@com.google.android.exoplayer2.Player.PlayWhenReadyChangeReasonint)"><code>Player.Listener.onPlayWhenReadyChanged(boolean, int)</code></a> with the reason <a href="Player.html#PLAY_WHEN_READY_CHANGE_REASON_END_OF_MEDIA_ITEM"><code>Player.PLAY_WHEN_READY_CHANGE_REASON_END_OF_MEDIA_ITEM</code></a> when this happens.</div>
@ -1030,7 +1052,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setLivePlaybackSpeedControl</h4> <h4>setLivePlaybackSpeedControl</h4>
<pre class="methodSignature">public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setLivePlaybackSpeedControl&#8203;(<a href="LivePlaybackSpeedControl.html" title="interface in com.google.android.exoplayer2">LivePlaybackSpeedControl</a>&nbsp;livePlaybackSpeedControl)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setLivePlaybackSpeedControl&#8203;(<a href="LivePlaybackSpeedControl.html" title="interface in com.google.android.exoplayer2">LivePlaybackSpeedControl</a>&nbsp;livePlaybackSpeedControl)</pre>
<div class="block">Sets the <a href="LivePlaybackSpeedControl.html" title="interface in com.google.android.exoplayer2"><code>LivePlaybackSpeedControl</code></a> that will control the playback speed when playing <div class="block">Sets the <a href="LivePlaybackSpeedControl.html" title="interface in com.google.android.exoplayer2"><code>LivePlaybackSpeedControl</code></a> that will control the playback speed when playing
live streams, in order to maintain a steady target offset from the live stream edge.</div> live streams, in order to maintain a steady target offset from the live stream edge.</div>
<dl> <dl>
@ -1049,7 +1072,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setUsePlatformDiagnostics</h4> <h4>setUsePlatformDiagnostics</h4>
<pre class="methodSignature">public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setUsePlatformDiagnostics&#8203;(boolean&nbsp;usePlatformDiagnostics)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setUsePlatformDiagnostics&#8203;(boolean&nbsp;usePlatformDiagnostics)</pre>
<div class="block">Sets whether the player reports diagnostics data to the Android platform. <div class="block">Sets whether the player reports diagnostics data to the Android platform.
<p>If enabled, the player will use the <a href="https://developer.android.com/reference/android/media/metrics/MediaMetricsManager.html" title="class or interface in android.media.metrics" class="externalLink" target="_top"><code>MediaMetricsManager</code></a> to <p>If enabled, the player will use the <a href="https://developer.android.com/reference/android/media/metrics/MediaMetricsManager.html" title="class or interface in android.media.metrics" class="externalLink" target="_top"><code>MediaMetricsManager</code></a> to
@ -1074,7 +1098,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setClock</h4> <h4>setClock</h4>
<pre class="methodSignature">public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setClock&#8203;(<a href="util/Clock.html" title="interface in com.google.android.exoplayer2.util">Clock</a>&nbsp;clock)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a>&nbsp;setClock&#8203;(<a href="util/Clock.html" title="interface in com.google.android.exoplayer2.util">Clock</a>&nbsp;clock)</pre>
<div class="block">Sets the <a href="util/Clock.html" title="interface in com.google.android.exoplayer2.util"><code>Clock</code></a> that will be used by the player. Should only be set for testing <div class="block">Sets the <a href="util/Clock.html" title="interface in com.google.android.exoplayer2.util"><code>Clock</code></a> that will be used by the player. Should only be set for testing
purposes.</div> purposes.</div>
<dl> <dl>

File diff suppressed because one or more lines are too long

View File

@ -457,7 +457,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setId</h4> <h4>setId</h4>
<pre class="methodSignature">public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setId&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setId&#8203;(@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>&nbsp;id)</pre> <a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a>&nbsp;id)</pre>
<div class="block">Sets <a href="Format.html#id"><code>Format.id</code></a>. The default value is <code>null</code>.</div> <div class="block">Sets <a href="Format.html#id"><code>Format.id</code></a>. The default value is <code>null</code>.</div>
<dl> <dl>
@ -474,7 +475,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setId</h4> <h4>setId</h4>
<pre class="methodSignature">public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setId&#8203;(int&nbsp;id)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setId&#8203;(int&nbsp;id)</pre>
<div class="block">Sets <a href="Format.html#id"><code>Format.id</code></a> to <a href="https://developer.android.com/reference/java/lang/Integer.html#toString()" title="class or interface in java.lang" class="externalLink" target="_top"><code>Integer.toString(id)</code></a>. The default value <div class="block">Sets <a href="Format.html#id"><code>Format.id</code></a> to <a href="https://developer.android.com/reference/java/lang/Integer.html#toString()" title="class or interface in java.lang" class="externalLink" target="_top"><code>Integer.toString(id)</code></a>. The default value
is <code>null</code>.</div> is <code>null</code>.</div>
<dl> <dl>
@ -491,7 +493,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setLabel</h4> <h4>setLabel</h4>
<pre class="methodSignature">public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setLabel&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setLabel&#8203;(@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>&nbsp;label)</pre> <a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a>&nbsp;label)</pre>
<div class="block">Sets <a href="Format.html#label"><code>Format.label</code></a>. The default value is <code>null</code>.</div> <div class="block">Sets <a href="Format.html#label"><code>Format.label</code></a>. The default value is <code>null</code>.</div>
<dl> <dl>
@ -508,7 +511,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setLanguage</h4> <h4>setLanguage</h4>
<pre class="methodSignature">public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setLanguage&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setLanguage&#8203;(@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>&nbsp;language)</pre> <a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a>&nbsp;language)</pre>
<div class="block">Sets <a href="Format.html#language"><code>Format.language</code></a>. The default value is <code>null</code>.</div> <div class="block">Sets <a href="Format.html#language"><code>Format.language</code></a>. The default value is <code>null</code>.</div>
<dl> <dl>
@ -525,7 +529,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setSelectionFlags</h4> <h4>setSelectionFlags</h4>
<pre class="methodSignature">public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setSelectionFlags&#8203;(<a href="C.SelectionFlags.html" title="annotation in com.google.android.exoplayer2">@SelectionFlags</a> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setSelectionFlags&#8203;(<a href="C.SelectionFlags.html" title="annotation in com.google.android.exoplayer2">@SelectionFlags</a>
@com.google.android.exoplayer2.C.SelectionFlags int&nbsp;selectionFlags)</pre> @com.google.android.exoplayer2.C.SelectionFlags int&nbsp;selectionFlags)</pre>
<div class="block">Sets <a href="Format.html#selectionFlags"><code>Format.selectionFlags</code></a>. The default value is 0.</div> <div class="block">Sets <a href="Format.html#selectionFlags"><code>Format.selectionFlags</code></a>. The default value is 0.</div>
<dl> <dl>
@ -542,7 +547,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setRoleFlags</h4> <h4>setRoleFlags</h4>
<pre class="methodSignature">public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setRoleFlags&#8203;(<a href="C.RoleFlags.html" title="annotation in com.google.android.exoplayer2">@RoleFlags</a> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setRoleFlags&#8203;(<a href="C.RoleFlags.html" title="annotation in com.google.android.exoplayer2">@RoleFlags</a>
@com.google.android.exoplayer2.C.RoleFlags int&nbsp;roleFlags)</pre> @com.google.android.exoplayer2.C.RoleFlags int&nbsp;roleFlags)</pre>
<div class="block">Sets <a href="Format.html#roleFlags"><code>Format.roleFlags</code></a>. The default value is 0.</div> <div class="block">Sets <a href="Format.html#roleFlags"><code>Format.roleFlags</code></a>. The default value is 0.</div>
<dl> <dl>
@ -559,7 +565,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setAverageBitrate</h4> <h4>setAverageBitrate</h4>
<pre class="methodSignature">public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setAverageBitrate&#8203;(int&nbsp;averageBitrate)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setAverageBitrate&#8203;(int&nbsp;averageBitrate)</pre>
<div class="block">Sets <a href="Format.html#averageBitrate"><code>Format.averageBitrate</code></a>. The default value is <a href="Format.html#NO_VALUE"><code>Format.NO_VALUE</code></a>.</div> <div class="block">Sets <a href="Format.html#averageBitrate"><code>Format.averageBitrate</code></a>. The default value is <a href="Format.html#NO_VALUE"><code>Format.NO_VALUE</code></a>.</div>
<dl> <dl>
<dt><span class="paramLabel">Parameters:</span></dt> <dt><span class="paramLabel">Parameters:</span></dt>
@ -575,7 +582,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setPeakBitrate</h4> <h4>setPeakBitrate</h4>
<pre class="methodSignature">public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setPeakBitrate&#8203;(int&nbsp;peakBitrate)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setPeakBitrate&#8203;(int&nbsp;peakBitrate)</pre>
<div class="block">Sets <a href="Format.html#peakBitrate"><code>Format.peakBitrate</code></a>. The default value is <a href="Format.html#NO_VALUE"><code>Format.NO_VALUE</code></a>.</div> <div class="block">Sets <a href="Format.html#peakBitrate"><code>Format.peakBitrate</code></a>. The default value is <a href="Format.html#NO_VALUE"><code>Format.NO_VALUE</code></a>.</div>
<dl> <dl>
<dt><span class="paramLabel">Parameters:</span></dt> <dt><span class="paramLabel">Parameters:</span></dt>
@ -591,7 +599,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setCodecs</h4> <h4>setCodecs</h4>
<pre class="methodSignature">public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setCodecs&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setCodecs&#8203;(@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>&nbsp;codecs)</pre> <a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a>&nbsp;codecs)</pre>
<div class="block">Sets <a href="Format.html#codecs"><code>Format.codecs</code></a>. The default value is <code>null</code>.</div> <div class="block">Sets <a href="Format.html#codecs"><code>Format.codecs</code></a>. The default value is <code>null</code>.</div>
<dl> <dl>
@ -608,7 +617,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setMetadata</h4> <h4>setMetadata</h4>
<pre class="methodSignature">public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setMetadata&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setMetadata&#8203;(@Nullable
<a href="metadata/Metadata.html" title="class in com.google.android.exoplayer2.metadata">Metadata</a>&nbsp;metadata)</pre> <a href="metadata/Metadata.html" title="class in com.google.android.exoplayer2.metadata">Metadata</a>&nbsp;metadata)</pre>
<div class="block">Sets <a href="Format.html#metadata"><code>Format.metadata</code></a>. The default value is <code>null</code>.</div> <div class="block">Sets <a href="Format.html#metadata"><code>Format.metadata</code></a>. The default value is <code>null</code>.</div>
<dl> <dl>
@ -625,7 +635,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setContainerMimeType</h4> <h4>setContainerMimeType</h4>
<pre class="methodSignature">public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setContainerMimeType&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setContainerMimeType&#8203;(@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>&nbsp;containerMimeType)</pre> <a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a>&nbsp;containerMimeType)</pre>
<div class="block">Sets <a href="Format.html#containerMimeType"><code>Format.containerMimeType</code></a>. The default value is <code>null</code>.</div> <div class="block">Sets <a href="Format.html#containerMimeType"><code>Format.containerMimeType</code></a>. The default value is <code>null</code>.</div>
<dl> <dl>
@ -642,7 +653,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setSampleMimeType</h4> <h4>setSampleMimeType</h4>
<pre class="methodSignature">public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setSampleMimeType&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setSampleMimeType&#8203;(@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>&nbsp;sampleMimeType)</pre> <a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a>&nbsp;sampleMimeType)</pre>
<div class="block">Sets <a href="Format.html#sampleMimeType"><code>Format.sampleMimeType</code></a>. The default value is <code>null</code>.</div> <div class="block">Sets <a href="Format.html#sampleMimeType"><code>Format.sampleMimeType</code></a>. The default value is <code>null</code>.</div>
<dl> <dl>
@ -659,7 +671,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setMaxInputSize</h4> <h4>setMaxInputSize</h4>
<pre class="methodSignature">public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setMaxInputSize&#8203;(int&nbsp;maxInputSize)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setMaxInputSize&#8203;(int&nbsp;maxInputSize)</pre>
<div class="block">Sets <a href="Format.html#maxInputSize"><code>Format.maxInputSize</code></a>. The default value is <a href="Format.html#NO_VALUE"><code>Format.NO_VALUE</code></a>.</div> <div class="block">Sets <a href="Format.html#maxInputSize"><code>Format.maxInputSize</code></a>. The default value is <a href="Format.html#NO_VALUE"><code>Format.NO_VALUE</code></a>.</div>
<dl> <dl>
<dt><span class="paramLabel">Parameters:</span></dt> <dt><span class="paramLabel">Parameters:</span></dt>
@ -675,7 +688,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setInitializationData</h4> <h4>setInitializationData</h4>
<pre class="methodSignature">public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setInitializationData&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setInitializationData&#8203;(@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>&lt;byte[]&gt;&nbsp;initializationData)</pre> <a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink" target="_top">List</a>&lt;byte[]&gt;&nbsp;initializationData)</pre>
<div class="block">Sets <a href="Format.html#initializationData"><code>Format.initializationData</code></a>. The default value is <code>null</code>.</div> <div class="block">Sets <a href="Format.html#initializationData"><code>Format.initializationData</code></a>. The default value is <code>null</code>.</div>
<dl> <dl>
@ -692,7 +706,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setDrmInitData</h4> <h4>setDrmInitData</h4>
<pre class="methodSignature">public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setDrmInitData&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setDrmInitData&#8203;(@Nullable
<a href="drm/DrmInitData.html" title="class in com.google.android.exoplayer2.drm">DrmInitData</a>&nbsp;drmInitData)</pre> <a href="drm/DrmInitData.html" title="class in com.google.android.exoplayer2.drm">DrmInitData</a>&nbsp;drmInitData)</pre>
<div class="block">Sets <a href="Format.html#drmInitData"><code>Format.drmInitData</code></a>. The default value is <code>null</code>.</div> <div class="block">Sets <a href="Format.html#drmInitData"><code>Format.drmInitData</code></a>. The default value is <code>null</code>.</div>
<dl> <dl>
@ -709,7 +724,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setSubsampleOffsetUs</h4> <h4>setSubsampleOffsetUs</h4>
<pre class="methodSignature">public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setSubsampleOffsetUs&#8203;(long&nbsp;subsampleOffsetUs)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setSubsampleOffsetUs&#8203;(long&nbsp;subsampleOffsetUs)</pre>
<div class="block">Sets <a href="Format.html#subsampleOffsetUs"><code>Format.subsampleOffsetUs</code></a>. The default value is <a href="Format.html#OFFSET_SAMPLE_RELATIVE"><code>Format.OFFSET_SAMPLE_RELATIVE</code></a>.</div> <div class="block">Sets <a href="Format.html#subsampleOffsetUs"><code>Format.subsampleOffsetUs</code></a>. The default value is <a href="Format.html#OFFSET_SAMPLE_RELATIVE"><code>Format.OFFSET_SAMPLE_RELATIVE</code></a>.</div>
<dl> <dl>
<dt><span class="paramLabel">Parameters:</span></dt> <dt><span class="paramLabel">Parameters:</span></dt>
@ -725,7 +741,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setWidth</h4> <h4>setWidth</h4>
<pre class="methodSignature">public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setWidth&#8203;(int&nbsp;width)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setWidth&#8203;(int&nbsp;width)</pre>
<div class="block">Sets <a href="Format.html#width"><code>Format.width</code></a>. The default value is <a href="Format.html#NO_VALUE"><code>Format.NO_VALUE</code></a>.</div> <div class="block">Sets <a href="Format.html#width"><code>Format.width</code></a>. The default value is <a href="Format.html#NO_VALUE"><code>Format.NO_VALUE</code></a>.</div>
<dl> <dl>
<dt><span class="paramLabel">Parameters:</span></dt> <dt><span class="paramLabel">Parameters:</span></dt>
@ -741,7 +758,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setHeight</h4> <h4>setHeight</h4>
<pre class="methodSignature">public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setHeight&#8203;(int&nbsp;height)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setHeight&#8203;(int&nbsp;height)</pre>
<div class="block">Sets <a href="Format.html#height"><code>Format.height</code></a>. The default value is <a href="Format.html#NO_VALUE"><code>Format.NO_VALUE</code></a>.</div> <div class="block">Sets <a href="Format.html#height"><code>Format.height</code></a>. The default value is <a href="Format.html#NO_VALUE"><code>Format.NO_VALUE</code></a>.</div>
<dl> <dl>
<dt><span class="paramLabel">Parameters:</span></dt> <dt><span class="paramLabel">Parameters:</span></dt>
@ -757,7 +775,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setFrameRate</h4> <h4>setFrameRate</h4>
<pre class="methodSignature">public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setFrameRate&#8203;(float&nbsp;frameRate)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setFrameRate&#8203;(float&nbsp;frameRate)</pre>
<div class="block">Sets <a href="Format.html#frameRate"><code>Format.frameRate</code></a>. The default value is <a href="Format.html#NO_VALUE"><code>Format.NO_VALUE</code></a>.</div> <div class="block">Sets <a href="Format.html#frameRate"><code>Format.frameRate</code></a>. The default value is <a href="Format.html#NO_VALUE"><code>Format.NO_VALUE</code></a>.</div>
<dl> <dl>
<dt><span class="paramLabel">Parameters:</span></dt> <dt><span class="paramLabel">Parameters:</span></dt>
@ -773,7 +792,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setRotationDegrees</h4> <h4>setRotationDegrees</h4>
<pre class="methodSignature">public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setRotationDegrees&#8203;(int&nbsp;rotationDegrees)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setRotationDegrees&#8203;(int&nbsp;rotationDegrees)</pre>
<div class="block">Sets <a href="Format.html#rotationDegrees"><code>Format.rotationDegrees</code></a>. The default value is 0.</div> <div class="block">Sets <a href="Format.html#rotationDegrees"><code>Format.rotationDegrees</code></a>. The default value is 0.</div>
<dl> <dl>
<dt><span class="paramLabel">Parameters:</span></dt> <dt><span class="paramLabel">Parameters:</span></dt>
@ -789,7 +809,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setPixelWidthHeightRatio</h4> <h4>setPixelWidthHeightRatio</h4>
<pre class="methodSignature">public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setPixelWidthHeightRatio&#8203;(float&nbsp;pixelWidthHeightRatio)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setPixelWidthHeightRatio&#8203;(float&nbsp;pixelWidthHeightRatio)</pre>
<div class="block">Sets <a href="Format.html#pixelWidthHeightRatio"><code>Format.pixelWidthHeightRatio</code></a>. The default value is 1.0f.</div> <div class="block">Sets <a href="Format.html#pixelWidthHeightRatio"><code>Format.pixelWidthHeightRatio</code></a>. The default value is 1.0f.</div>
<dl> <dl>
<dt><span class="paramLabel">Parameters:</span></dt> <dt><span class="paramLabel">Parameters:</span></dt>
@ -805,7 +826,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setProjectionData</h4> <h4>setProjectionData</h4>
<pre class="methodSignature">public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setProjectionData&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setProjectionData&#8203;(@Nullable
byte[]&nbsp;projectionData)</pre> byte[]&nbsp;projectionData)</pre>
<div class="block">Sets <a href="Format.html#projectionData"><code>Format.projectionData</code></a>. The default value is <code>null</code>.</div> <div class="block">Sets <a href="Format.html#projectionData"><code>Format.projectionData</code></a>. The default value is <code>null</code>.</div>
<dl> <dl>
@ -822,7 +844,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setStereoMode</h4> <h4>setStereoMode</h4>
<pre class="methodSignature">public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setStereoMode&#8203;(@com.google.android.exoplayer2.C.StereoMode int&nbsp;stereoMode)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setStereoMode&#8203;(@com.google.android.exoplayer2.C.StereoMode int&nbsp;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> <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> <dl>
<dt><span class="paramLabel">Parameters:</span></dt> <dt><span class="paramLabel">Parameters:</span></dt>
@ -838,7 +861,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setColorInfo</h4> <h4>setColorInfo</h4>
<pre class="methodSignature">public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setColorInfo&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setColorInfo&#8203;(@Nullable
<a href="video/ColorInfo.html" title="class in com.google.android.exoplayer2.video">ColorInfo</a>&nbsp;colorInfo)</pre> <a href="video/ColorInfo.html" title="class in com.google.android.exoplayer2.video">ColorInfo</a>&nbsp;colorInfo)</pre>
<div class="block">Sets <a href="Format.html#colorInfo"><code>Format.colorInfo</code></a>. The default value is <code>null</code>.</div> <div class="block">Sets <a href="Format.html#colorInfo"><code>Format.colorInfo</code></a>. The default value is <code>null</code>.</div>
<dl> <dl>
@ -855,7 +879,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setChannelCount</h4> <h4>setChannelCount</h4>
<pre class="methodSignature">public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setChannelCount&#8203;(int&nbsp;channelCount)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setChannelCount&#8203;(int&nbsp;channelCount)</pre>
<div class="block">Sets <a href="Format.html#channelCount"><code>Format.channelCount</code></a>. The default value is <a href="Format.html#NO_VALUE"><code>Format.NO_VALUE</code></a>.</div> <div class="block">Sets <a href="Format.html#channelCount"><code>Format.channelCount</code></a>. The default value is <a href="Format.html#NO_VALUE"><code>Format.NO_VALUE</code></a>.</div>
<dl> <dl>
<dt><span class="paramLabel">Parameters:</span></dt> <dt><span class="paramLabel">Parameters:</span></dt>
@ -871,7 +896,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setSampleRate</h4> <h4>setSampleRate</h4>
<pre class="methodSignature">public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setSampleRate&#8203;(int&nbsp;sampleRate)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setSampleRate&#8203;(int&nbsp;sampleRate)</pre>
<div class="block">Sets <a href="Format.html#sampleRate"><code>Format.sampleRate</code></a>. The default value is <a href="Format.html#NO_VALUE"><code>Format.NO_VALUE</code></a>.</div> <div class="block">Sets <a href="Format.html#sampleRate"><code>Format.sampleRate</code></a>. The default value is <a href="Format.html#NO_VALUE"><code>Format.NO_VALUE</code></a>.</div>
<dl> <dl>
<dt><span class="paramLabel">Parameters:</span></dt> <dt><span class="paramLabel">Parameters:</span></dt>
@ -887,7 +913,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setPcmEncoding</h4> <h4>setPcmEncoding</h4>
<pre class="methodSignature">public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setPcmEncoding&#8203;(@com.google.android.exoplayer2.C.PcmEncoding int&nbsp;pcmEncoding)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setPcmEncoding&#8203;(@com.google.android.exoplayer2.C.PcmEncoding int&nbsp;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> <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> <dl>
<dt><span class="paramLabel">Parameters:</span></dt> <dt><span class="paramLabel">Parameters:</span></dt>
@ -903,7 +930,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setEncoderDelay</h4> <h4>setEncoderDelay</h4>
<pre class="methodSignature">public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setEncoderDelay&#8203;(int&nbsp;encoderDelay)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setEncoderDelay&#8203;(int&nbsp;encoderDelay)</pre>
<div class="block">Sets <a href="Format.html#encoderDelay"><code>Format.encoderDelay</code></a>. The default value is 0.</div> <div class="block">Sets <a href="Format.html#encoderDelay"><code>Format.encoderDelay</code></a>. The default value is 0.</div>
<dl> <dl>
<dt><span class="paramLabel">Parameters:</span></dt> <dt><span class="paramLabel">Parameters:</span></dt>
@ -919,7 +947,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setEncoderPadding</h4> <h4>setEncoderPadding</h4>
<pre class="methodSignature">public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setEncoderPadding&#8203;(int&nbsp;encoderPadding)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setEncoderPadding&#8203;(int&nbsp;encoderPadding)</pre>
<div class="block">Sets <a href="Format.html#encoderPadding"><code>Format.encoderPadding</code></a>. The default value is 0.</div> <div class="block">Sets <a href="Format.html#encoderPadding"><code>Format.encoderPadding</code></a>. The default value is 0.</div>
<dl> <dl>
<dt><span class="paramLabel">Parameters:</span></dt> <dt><span class="paramLabel">Parameters:</span></dt>
@ -935,7 +964,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setAccessibilityChannel</h4> <h4>setAccessibilityChannel</h4>
<pre class="methodSignature">public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setAccessibilityChannel&#8203;(int&nbsp;accessibilityChannel)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setAccessibilityChannel&#8203;(int&nbsp;accessibilityChannel)</pre>
<div class="block">Sets <a href="Format.html#accessibilityChannel"><code>Format.accessibilityChannel</code></a>. The default value is <a href="Format.html#NO_VALUE"><code>Format.NO_VALUE</code></a>.</div> <div class="block">Sets <a href="Format.html#accessibilityChannel"><code>Format.accessibilityChannel</code></a>. The default value is <a href="Format.html#NO_VALUE"><code>Format.NO_VALUE</code></a>.</div>
<dl> <dl>
<dt><span class="paramLabel">Parameters:</span></dt> <dt><span class="paramLabel">Parameters:</span></dt>
@ -951,7 +981,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setCryptoType</h4> <h4>setCryptoType</h4>
<pre class="methodSignature">public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setCryptoType&#8203;(@com.google.android.exoplayer2.C.CryptoType int&nbsp;cryptoType)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a>&nbsp;setCryptoType&#8203;(@com.google.android.exoplayer2.C.CryptoType int&nbsp;cryptoType)</pre>
<div class="block">Sets <a href="Format.html#cryptoType"><code>Format.cryptoType</code></a>. The default value is <a href="C.html#CRYPTO_TYPE_NONE"><code>C.CRYPTO_TYPE_NONE</code></a>.</div> <div class="block">Sets <a href="Format.html#cryptoType"><code>Format.cryptoType</code></a>. The default value is <a href="C.html#CRYPTO_TYPE_NONE"><code>C.CRYPTO_TYPE_NONE</code></a>.</div>
<dl> <dl>
<dt><span class="paramLabel">Parameters:</span></dt> <dt><span class="paramLabel">Parameters:</span></dt>

View File

@ -25,7 +25,7 @@
catch(err) { catch(err) {
} }
//--> //-->
var data = {"i0":10,"i1":42,"i2":10,"i3":42,"i4":42,"i5":42,"i6":42,"i7":42,"i8":42,"i9":42,"i10":42,"i11":42,"i12":41,"i13":41,"i14":41,"i15":41,"i16":41,"i17":41,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":9,"i24":10,"i25":10}; var data = {"i0":10,"i1":42,"i2":10,"i3":42,"i4":42,"i5":42,"i6":42,"i7":42,"i8":42,"i9":42,"i10":42,"i11":42,"i12":41,"i13":41,"i14":41,"i15":41,"i16":41,"i17":41,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":9,"i25":10,"i26":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]}; var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
var altColor = "altColor"; var altColor = "altColor";
var rowColor = "rowColor"; var rowColor = "rowColor";
@ -764,18 +764,25 @@ implements <a href="Bundleable.html" title="interface in com.google.android.exop
</td> </td>
</tr> </tr>
<tr id="i23" class="rowColor"> <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(boolean)">toBundle</a></span>&#8203;(boolean&nbsp;excludeMetadata)</code></th>
<td class="colLast">
<div class="block">Returns 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> representing the information stored in this object.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>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> <td class="colFirst"><code>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="#toLogString(com.google.android.exoplayer2.Format)">toLogString</a></span>&#8203;(<a href="Format.html" title="class in com.google.android.exoplayer2">Format</a>&nbsp;format)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toLogString(com.google.android.exoplayer2.Format)">toLogString</a></span>&#8203;(<a href="Format.html" title="class in com.google.android.exoplayer2">Format</a>&nbsp;format)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Returns a prettier <a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink"><code>String</code></a> than <a href="#toString()" target="_top"><code>toString()</code></a>, intended for logging.</div> <div class="block">Returns a prettier <a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink"><code>String</code></a> than <a href="#toString()" target="_top"><code>toString()</code></a>, intended for logging.</div>
</td> </td>
</tr> </tr>
<tr id="i24" class="altColor"> <tr id="i25" 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> <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="#toString()">toString</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toString()">toString</a></span>()</code></th>
<td class="colLast">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr id="i25" class="rowColor"> <tr id="i26" class="altColor">
<td class="colFirst"><code><a href="Format.html" title="class in com.google.android.exoplayer2">Format</a></code></td> <td class="colFirst"><code><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="#withManifestFormatInfo(com.google.android.exoplayer2.Format)">withManifestFormatInfo</a></span>&#8203;(<a href="Format.html" title="class in com.google.android.exoplayer2">Format</a>&nbsp;manifestFormat)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#withManifestFormatInfo(com.google.android.exoplayer2.Format)">withManifestFormatInfo</a></span>&#8203;(<a href="Format.html" title="class in com.google.android.exoplayer2">Format</a>&nbsp;manifestFormat)</code></th>
<td class="colLast">&nbsp;</td> <td class="colLast">&nbsp;</td>
@ -1627,7 +1634,7 @@ public&nbsp;<a href="Format.html" title="class in com.google.android.exoplayer2"
<a id="toBundle()"> <a id="toBundle()">
<!-- --> <!-- -->
</a> </a>
<ul class="blockListLast"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>toBundle</h4> <h4>toBundle</h4>
<pre class="methodSignature">public&nbsp;<a href="https://developer.android.com/reference/android/os/Bundle.html" title="class or interface in android.os" class="externalLink" target="_top">Bundle</a>&nbsp;toBundle()</pre> <pre class="methodSignature">public&nbsp;<a href="https://developer.android.com/reference/android/os/Bundle.html" title="class or interface in android.os" class="externalLink" target="_top">Bundle</a>&nbsp;toBundle()</pre>
@ -1639,6 +1646,17 @@ public&nbsp;<a href="Format.html" title="class in com.google.android.exoplayer2"
</dl> </dl>
</li> </li>
</ul> </ul>
<a id="toBundle(boolean)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toBundle</h4>
<pre class="methodSignature">public&nbsp;<a href="https://developer.android.com/reference/android/os/Bundle.html" title="class or interface in android.os" class="externalLink" target="_top">Bundle</a>&nbsp;toBundle&#8203;(boolean&nbsp;excludeMetadata)</pre>
<div class="block">Returns 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> representing the information stored in this object. If <code>
excludeMetadata</code> is true, <a href="#metadata">metadata</a> is excluded.</div>
</li>
</ul>
</li> </li>
</ul> </ul>
</section> </section>

View File

@ -25,7 +25,7 @@
catch(err) { 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":42,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":42,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":42,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":42,"i60":10,"i61":42,"i62":42,"i63":10,"i64":42,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":42,"i71":42,"i72":42,"i73":10,"i74":10,"i75":10,"i76":10,"i77":10,"i78":10,"i79":42,"i80":10,"i81":10,"i82":10,"i83":42,"i84":10,"i85":10,"i86":10,"i87":10,"i88":10,"i89":10,"i90":10,"i91":10,"i92":10,"i93":10,"i94":10,"i95":10,"i96":42,"i97":10,"i98":10,"i99":42,"i100":10,"i101":10,"i102":10,"i103":10,"i104":10,"i105":10,"i106":10,"i107":10,"i108":10,"i109":10,"i110":10,"i111":10,"i112":10,"i113":10,"i114":10,"i115":10,"i116":10,"i117":10,"i118":10,"i119":10,"i120":10,"i121":42}; 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":42,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":42,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":42,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":42,"i61":10,"i62":42,"i63":42,"i64":10,"i65":42,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":42,"i72":42,"i73":42,"i74":10,"i75":10,"i76":10,"i77":10,"i78":10,"i79":10,"i80":42,"i81":10,"i82":10,"i83":10,"i84":42,"i85":10,"i86":10,"i87":10,"i88":10,"i89":10,"i90":10,"i91":10,"i92":10,"i93":10,"i94":10,"i95":10,"i96":10,"i97":42,"i98":10,"i99":10,"i100":42,"i101":10,"i102":10,"i103":10,"i104":10,"i105":10,"i106":10,"i107":10,"i108":10,"i109":10,"i110":10,"i111":10,"i112":10,"i113":10,"i114":10,"i115":10,"i116":10,"i117":10,"i118":10,"i119":10,"i120":10,"i121":10,"i122":42};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]}; var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
var altColor = "altColor"; var altColor = "altColor";
var rowColor = "rowColor"; var rowColor = "rowColor";
@ -602,41 +602,48 @@ implements <a href="Player.html" title="interface in com.google.android.exoplaye
</td> </td>
</tr> </tr>
<tr id="i54" class="altColor"> <tr id="i54" class="altColor">
<td class="colFirst"><code><a href="util/Size.html" title="class in com.google.android.exoplayer2.util">Size</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSurfaceSize()">getSurfaceSize</a></span>()</code></th>
<td class="colLast">
<div class="block">Calls <a href="Player.html#getSurfaceSize()"><code>Player.getSurfaceSize()</code></a> on the delegate and returns the result.</div>
</td>
</tr>
<tr id="i55" class="rowColor">
<td class="colFirst"><code>long</code></td> <td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTotalBufferedDuration()">getTotalBufferedDuration</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTotalBufferedDuration()">getTotalBufferedDuration</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#getTotalBufferedDuration()"><code>Player.getTotalBufferedDuration()</code></a> on the delegate and returns the result.</div> <div class="block">Calls <a href="Player.html#getTotalBufferedDuration()"><code>Player.getTotalBufferedDuration()</code></a> on the delegate and returns the result.</div>
</td> </td>
</tr> </tr>
<tr id="i55" class="rowColor"> <tr id="i56" class="altColor">
<td class="colFirst"><code><a href="trackselection/TrackSelectionParameters.html" title="class in com.google.android.exoplayer2.trackselection">TrackSelectionParameters</a></code></td> <td class="colFirst"><code><a href="trackselection/TrackSelectionParameters.html" title="class in com.google.android.exoplayer2.trackselection">TrackSelectionParameters</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTrackSelectionParameters()">getTrackSelectionParameters</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTrackSelectionParameters()">getTrackSelectionParameters</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#getTrackSelectionParameters()"><code>Player.getTrackSelectionParameters()</code></a> on the delegate and returns the result.</div> <div class="block">Calls <a href="Player.html#getTrackSelectionParameters()"><code>Player.getTrackSelectionParameters()</code></a> on the delegate and returns the result.</div>
</td> </td>
</tr> </tr>
<tr id="i56" class="altColor"> <tr id="i57" class="rowColor">
<td class="colFirst"><code><a href="video/VideoSize.html" title="class in com.google.android.exoplayer2.video">VideoSize</a></code></td> <td class="colFirst"><code><a href="video/VideoSize.html" title="class in com.google.android.exoplayer2.video">VideoSize</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVideoSize()">getVideoSize</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVideoSize()">getVideoSize</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#getVideoSize()"><code>Player.getVideoSize()</code></a> on the delegate and returns the result.</div> <div class="block">Calls <a href="Player.html#getVideoSize()"><code>Player.getVideoSize()</code></a> on the delegate and returns the result.</div>
</td> </td>
</tr> </tr>
<tr id="i57" class="rowColor"> <tr id="i58" class="altColor">
<td class="colFirst"><code>float</code></td> <td class="colFirst"><code>float</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVolume()">getVolume</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVolume()">getVolume</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#getVolume()"><code>Player.getVolume()</code></a> on the delegate and returns the result.</div> <div class="block">Calls <a href="Player.html#getVolume()"><code>Player.getVolume()</code></a> on the delegate and returns the result.</div>
</td> </td>
</tr> </tr>
<tr id="i58" class="altColor"> <tr id="i59" class="rowColor">
<td class="colFirst"><code><a href="Player.html" title="interface in com.google.android.exoplayer2">Player</a></code></td> <td class="colFirst"><code><a href="Player.html" title="interface in com.google.android.exoplayer2">Player</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getWrappedPlayer()">getWrappedPlayer</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getWrappedPlayer()">getWrappedPlayer</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Returns the <a href="Player.html" title="interface in com.google.android.exoplayer2"><code>Player</code></a> to which operations are forwarded.</div> <div class="block">Returns the <a href="Player.html" title="interface in com.google.android.exoplayer2"><code>Player</code></a> to which operations are forwarded.</div>
</td> </td>
</tr> </tr>
<tr id="i59" class="rowColor"> <tr id="i60" class="altColor">
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasNext()">hasNext</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasNext()">hasNext</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -645,14 +652,14 @@ implements <a href="Player.html" title="interface in com.google.android.exoplaye
</div> </div>
</td> </td>
</tr> </tr>
<tr id="i60" class="altColor"> <tr id="i61" class="rowColor">
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasNextMediaItem()">hasNextMediaItem</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasNextMediaItem()">hasNextMediaItem</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#hasNextMediaItem()"><code>Player.hasNextMediaItem()</code></a> on the delegate and returns the result.</div> <div class="block">Calls <a href="Player.html#hasNextMediaItem()"><code>Player.hasNextMediaItem()</code></a> on the delegate and returns the result.</div>
</td> </td>
</tr> </tr>
<tr id="i61" class="rowColor"> <tr id="i62" class="altColor">
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasNextWindow()">hasNextWindow</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasNextWindow()">hasNextWindow</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -661,7 +668,7 @@ implements <a href="Player.html" title="interface in com.google.android.exoplaye
</div> </div>
</td> </td>
</tr> </tr>
<tr id="i62" class="altColor"> <tr id="i63" class="rowColor">
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasPrevious()">hasPrevious</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasPrevious()">hasPrevious</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -670,14 +677,14 @@ implements <a href="Player.html" title="interface in com.google.android.exoplaye
</div> </div>
</td> </td>
</tr> </tr>
<tr id="i63" class="rowColor"> <tr id="i64" class="altColor">
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasPreviousMediaItem()">hasPreviousMediaItem</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasPreviousMediaItem()">hasPreviousMediaItem</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#hasPreviousMediaItem()"><code>Player.hasPreviousMediaItem()</code></a> on the delegate and returns the result.</div> <div class="block">Calls <a href="Player.html#hasPreviousMediaItem()"><code>Player.hasPreviousMediaItem()</code></a> on the delegate and returns the result.</div>
</td> </td>
</tr> </tr>
<tr id="i64" class="altColor"> <tr id="i65" class="rowColor">
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasPreviousWindow()">hasPreviousWindow</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasPreviousWindow()">hasPreviousWindow</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -686,42 +693,42 @@ implements <a href="Player.html" title="interface in com.google.android.exoplaye
</div> </div>
</td> </td>
</tr> </tr>
<tr id="i65" class="rowColor"> <tr id="i66" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#increaseDeviceVolume()">increaseDeviceVolume</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#increaseDeviceVolume()">increaseDeviceVolume</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#increaseDeviceVolume()"><code>Player.increaseDeviceVolume()</code></a> on the delegate.</div> <div class="block">Calls <a href="Player.html#increaseDeviceVolume()"><code>Player.increaseDeviceVolume()</code></a> on the delegate.</div>
</td> </td>
</tr> </tr>
<tr id="i66" class="altColor"> <tr id="i67" class="rowColor">
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCommandAvailable(@com.google.android.exoplayer2.Player.Commandint)">isCommandAvailable</a></span>&#8203;(@com.google.android.exoplayer2.Player.Command int&nbsp;command)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCommandAvailable(@com.google.android.exoplayer2.Player.Commandint)">isCommandAvailable</a></span>&#8203;(@com.google.android.exoplayer2.Player.Command int&nbsp;command)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#isCommandAvailable(@com.google.android.exoplayer2.Player.Commandint)"><code>Player.isCommandAvailable(int)</code></a> on the delegate and returns the result.</div> <div class="block">Calls <a href="Player.html#isCommandAvailable(@com.google.android.exoplayer2.Player.Commandint)"><code>Player.isCommandAvailable(int)</code></a> on the delegate and returns the result.</div>
</td> </td>
</tr> </tr>
<tr id="i67" class="rowColor"> <tr id="i68" class="altColor">
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCurrentMediaItemDynamic()">isCurrentMediaItemDynamic</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCurrentMediaItemDynamic()">isCurrentMediaItemDynamic</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#isCurrentMediaItemDynamic()"><code>Player.isCurrentMediaItemDynamic()</code></a> on the delegate and returns the result.</div> <div class="block">Calls <a href="Player.html#isCurrentMediaItemDynamic()"><code>Player.isCurrentMediaItemDynamic()</code></a> on the delegate and returns the result.</div>
</td> </td>
</tr> </tr>
<tr id="i68" class="altColor"> <tr id="i69" class="rowColor">
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCurrentMediaItemLive()">isCurrentMediaItemLive</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCurrentMediaItemLive()">isCurrentMediaItemLive</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#isCurrentMediaItemLive()"><code>Player.isCurrentMediaItemLive()</code></a> on the delegate and returns the result.</div> <div class="block">Calls <a href="Player.html#isCurrentMediaItemLive()"><code>Player.isCurrentMediaItemLive()</code></a> on the delegate and returns the result.</div>
</td> </td>
</tr> </tr>
<tr id="i69" class="rowColor"> <tr id="i70" class="altColor">
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCurrentMediaItemSeekable()">isCurrentMediaItemSeekable</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCurrentMediaItemSeekable()">isCurrentMediaItemSeekable</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#isCurrentMediaItemSeekable()"><code>Player.isCurrentMediaItemSeekable()</code></a> on the delegate and returns the result.</div> <div class="block">Calls <a href="Player.html#isCurrentMediaItemSeekable()"><code>Player.isCurrentMediaItemSeekable()</code></a> on the delegate and returns the result.</div>
</td> </td>
</tr> </tr>
<tr id="i70" class="altColor"> <tr id="i71" class="rowColor">
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCurrentWindowDynamic()">isCurrentWindowDynamic</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCurrentWindowDynamic()">isCurrentWindowDynamic</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -730,7 +737,7 @@ implements <a href="Player.html" title="interface in com.google.android.exoplaye
</div> </div>
</td> </td>
</tr> </tr>
<tr id="i71" class="rowColor"> <tr id="i72" class="altColor">
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCurrentWindowLive()">isCurrentWindowLive</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCurrentWindowLive()">isCurrentWindowLive</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -739,7 +746,7 @@ implements <a href="Player.html" title="interface in com.google.android.exoplaye
</div> </div>
</td> </td>
</tr> </tr>
<tr id="i72" class="altColor"> <tr id="i73" class="rowColor">
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCurrentWindowSeekable()">isCurrentWindowSeekable</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCurrentWindowSeekable()">isCurrentWindowSeekable</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -748,35 +755,35 @@ implements <a href="Player.html" title="interface in com.google.android.exoplaye
</div> </div>
</td> </td>
</tr> </tr>
<tr id="i73" class="rowColor"> <tr id="i74" class="altColor">
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isDeviceMuted()">isDeviceMuted</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isDeviceMuted()">isDeviceMuted</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#isDeviceMuted()"><code>Player.isDeviceMuted()</code></a> on the delegate and returns the result.</div> <div class="block">Calls <a href="Player.html#isDeviceMuted()"><code>Player.isDeviceMuted()</code></a> on the delegate and returns the result.</div>
</td> </td>
</tr> </tr>
<tr id="i74" class="altColor"> <tr id="i75" class="rowColor">
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isLoading()">isLoading</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isLoading()">isLoading</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#isLoading()"><code>Player.isLoading()</code></a> on the delegate and returns the result.</div> <div class="block">Calls <a href="Player.html#isLoading()"><code>Player.isLoading()</code></a> on the delegate and returns the result.</div>
</td> </td>
</tr> </tr>
<tr id="i75" class="rowColor"> <tr id="i76" class="altColor">
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isPlaying()">isPlaying</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isPlaying()">isPlaying</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#isPlaying()"><code>Player.isPlaying()</code></a> on the delegate and returns the result.</div> <div class="block">Calls <a href="Player.html#isPlaying()"><code>Player.isPlaying()</code></a> on the delegate and returns the result.</div>
</td> </td>
</tr> </tr>
<tr id="i76" class="altColor"> <tr id="i77" class="rowColor">
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isPlayingAd()">isPlayingAd</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isPlayingAd()">isPlayingAd</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#isPlayingAd()"><code>Player.isPlayingAd()</code></a> on the delegate and returns the result.</div> <div class="block">Calls <a href="Player.html#isPlayingAd()"><code>Player.isPlayingAd()</code></a> on the delegate and returns the result.</div>
</td> </td>
</tr> </tr>
<tr id="i77" class="rowColor"> <tr id="i78" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#moveMediaItem(int,int)">moveMediaItem</a></span>&#8203;(int&nbsp;currentIndex, <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#moveMediaItem(int,int)">moveMediaItem</a></span>&#8203;(int&nbsp;currentIndex,
int&nbsp;newIndex)</code></th> int&nbsp;newIndex)</code></th>
@ -784,7 +791,7 @@ implements <a href="Player.html" title="interface in com.google.android.exoplaye
<div class="block">Calls <a href="Player.html#moveMediaItem(int,int)"><code>Player.moveMediaItem(int, int)</code></a> on the delegate.</div> <div class="block">Calls <a href="Player.html#moveMediaItem(int,int)"><code>Player.moveMediaItem(int, int)</code></a> on the delegate.</div>
</td> </td>
</tr> </tr>
<tr id="i78" class="altColor"> <tr id="i79" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#moveMediaItems(int,int,int)">moveMediaItems</a></span>&#8203;(int&nbsp;fromIndex, <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#moveMediaItems(int,int,int)">moveMediaItems</a></span>&#8203;(int&nbsp;fromIndex,
int&nbsp;toIndex, int&nbsp;toIndex,
@ -793,7 +800,7 @@ implements <a href="Player.html" title="interface in com.google.android.exoplaye
<div class="block">Calls <a href="Player.html#moveMediaItems(int,int,int)"><code>Player.moveMediaItems(int, int, int)</code></a> on the delegate.</div> <div class="block">Calls <a href="Player.html#moveMediaItems(int,int,int)"><code>Player.moveMediaItems(int, int, int)</code></a> on the delegate.</div>
</td> </td>
</tr> </tr>
<tr id="i79" class="rowColor"> <tr id="i80" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#next()">next</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#next()">next</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -802,28 +809,28 @@ implements <a href="Player.html" title="interface in com.google.android.exoplaye
</div> </div>
</td> </td>
</tr> </tr>
<tr id="i80" class="altColor"> <tr id="i81" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#pause()">pause</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#pause()">pause</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#pause()"><code>Player.pause()</code></a> on the delegate.</div> <div class="block">Calls <a href="Player.html#pause()"><code>Player.pause()</code></a> on the delegate.</div>
</td> </td>
</tr> </tr>
<tr id="i81" class="rowColor"> <tr id="i82" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#play()">play</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#play()">play</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#play()"><code>Player.play()</code></a> on the delegate.</div> <div class="block">Calls <a href="Player.html#play()"><code>Player.play()</code></a> on the delegate.</div>
</td> </td>
</tr> </tr>
<tr id="i82" class="altColor"> <tr id="i83" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#prepare()">prepare</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#prepare()">prepare</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#prepare()"><code>Player.prepare()</code></a> on the delegate.</div> <div class="block">Calls <a href="Player.html#prepare()"><code>Player.prepare()</code></a> on the delegate.</div>
</td> </td>
</tr> </tr>
<tr id="i83" class="rowColor"> <tr id="i84" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#previous()">previous</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#previous()">previous</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -832,28 +839,28 @@ implements <a href="Player.html" title="interface in com.google.android.exoplaye
</div> </div>
</td> </td>
</tr> </tr>
<tr id="i84" class="altColor"> <tr id="i85" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#release()">release</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#release()">release</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#release()"><code>Player.release()</code></a> on the delegate.</div> <div class="block">Calls <a href="Player.html#release()"><code>Player.release()</code></a> on the delegate.</div>
</td> </td>
</tr> </tr>
<tr id="i85" class="rowColor"> <tr id="i86" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeListener(com.google.android.exoplayer2.Player.Listener)">removeListener</a></span>&#8203;(<a href="Player.Listener.html" title="interface in com.google.android.exoplayer2">Player.Listener</a>&nbsp;listener)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeListener(com.google.android.exoplayer2.Player.Listener)">removeListener</a></span>&#8203;(<a href="Player.Listener.html" title="interface in com.google.android.exoplayer2">Player.Listener</a>&nbsp;listener)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#removeListener(com.google.android.exoplayer2.Player.Listener)"><code>Player.removeListener(Listener)</code></a> on the delegate.</div> <div class="block">Calls <a href="Player.html#removeListener(com.google.android.exoplayer2.Player.Listener)"><code>Player.removeListener(Listener)</code></a> on the delegate.</div>
</td> </td>
</tr> </tr>
<tr id="i86" class="altColor"> <tr id="i87" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeMediaItem(int)">removeMediaItem</a></span>&#8203;(int&nbsp;index)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeMediaItem(int)">removeMediaItem</a></span>&#8203;(int&nbsp;index)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#removeMediaItem(int)"><code>Player.removeMediaItem(int)</code></a> on the delegate.</div> <div class="block">Calls <a href="Player.html#removeMediaItem(int)"><code>Player.removeMediaItem(int)</code></a> on the delegate.</div>
</td> </td>
</tr> </tr>
<tr id="i87" class="rowColor"> <tr id="i88" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeMediaItems(int,int)">removeMediaItems</a></span>&#8203;(int&nbsp;fromIndex, <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeMediaItems(int,int)">removeMediaItems</a></span>&#8203;(int&nbsp;fromIndex,
int&nbsp;toIndex)</code></th> int&nbsp;toIndex)</code></th>
@ -861,21 +868,21 @@ implements <a href="Player.html" title="interface in com.google.android.exoplaye
<div class="block">Calls <a href="Player.html#removeMediaItems(int,int)"><code>Player.removeMediaItems(int, int)</code></a> on the delegate.</div> <div class="block">Calls <a href="Player.html#removeMediaItems(int,int)"><code>Player.removeMediaItems(int, int)</code></a> on the delegate.</div>
</td> </td>
</tr> </tr>
<tr id="i88" class="altColor"> <tr id="i89" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekBack()">seekBack</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekBack()">seekBack</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#seekBack()"><code>Player.seekBack()</code></a> on the delegate.</div> <div class="block">Calls <a href="Player.html#seekBack()"><code>Player.seekBack()</code></a> on the delegate.</div>
</td> </td>
</tr> </tr>
<tr id="i89" class="rowColor"> <tr id="i90" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekForward()">seekForward</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekForward()">seekForward</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#seekForward()"><code>Player.seekForward()</code></a> on the delegate.</div> <div class="block">Calls <a href="Player.html#seekForward()"><code>Player.seekForward()</code></a> on the delegate.</div>
</td> </td>
</tr> </tr>
<tr id="i90" class="altColor"> <tr id="i91" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekTo(int,long)">seekTo</a></span>&#8203;(int&nbsp;mediaItemIndex, <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekTo(int,long)">seekTo</a></span>&#8203;(int&nbsp;mediaItemIndex,
long&nbsp;positionMs)</code></th> long&nbsp;positionMs)</code></th>
@ -883,42 +890,42 @@ implements <a href="Player.html" title="interface in com.google.android.exoplaye
<div class="block">Calls <a href="Player.html#seekTo(int,long)"><code>Player.seekTo(int, long)</code></a> on the delegate.</div> <div class="block">Calls <a href="Player.html#seekTo(int,long)"><code>Player.seekTo(int, long)</code></a> on the delegate.</div>
</td> </td>
</tr> </tr>
<tr id="i91" class="rowColor"> <tr id="i92" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekTo(long)">seekTo</a></span>&#8203;(long&nbsp;positionMs)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekTo(long)">seekTo</a></span>&#8203;(long&nbsp;positionMs)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#seekTo(long)"><code>Player.seekTo(long)</code></a> on the delegate.</div> <div class="block">Calls <a href="Player.html#seekTo(long)"><code>Player.seekTo(long)</code></a> on the delegate.</div>
</td> </td>
</tr> </tr>
<tr id="i92" class="altColor"> <tr id="i93" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToDefaultPosition()">seekToDefaultPosition</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToDefaultPosition()">seekToDefaultPosition</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#seekToDefaultPosition()"><code>Player.seekToDefaultPosition()</code></a> on the delegate.</div> <div class="block">Calls <a href="Player.html#seekToDefaultPosition()"><code>Player.seekToDefaultPosition()</code></a> on the delegate.</div>
</td> </td>
</tr> </tr>
<tr id="i93" class="rowColor"> <tr id="i94" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToDefaultPosition(int)">seekToDefaultPosition</a></span>&#8203;(int&nbsp;mediaItemIndex)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToDefaultPosition(int)">seekToDefaultPosition</a></span>&#8203;(int&nbsp;mediaItemIndex)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#seekToDefaultPosition(int)"><code>Player.seekToDefaultPosition(int)</code></a> on the delegate.</div> <div class="block">Calls <a href="Player.html#seekToDefaultPosition(int)"><code>Player.seekToDefaultPosition(int)</code></a> on the delegate.</div>
</td> </td>
</tr> </tr>
<tr id="i94" class="altColor"> <tr id="i95" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToNext()">seekToNext</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToNext()">seekToNext</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#seekToNext()"><code>Player.seekToNext()</code></a> on the delegate.</div> <div class="block">Calls <a href="Player.html#seekToNext()"><code>Player.seekToNext()</code></a> on the delegate.</div>
</td> </td>
</tr> </tr>
<tr id="i95" class="rowColor"> <tr id="i96" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToNextMediaItem()">seekToNextMediaItem</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToNextMediaItem()">seekToNextMediaItem</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#seekToNextMediaItem()"><code>Player.seekToNextMediaItem()</code></a> on the delegate.</div> <div class="block">Calls <a href="Player.html#seekToNextMediaItem()"><code>Player.seekToNextMediaItem()</code></a> on the delegate.</div>
</td> </td>
</tr> </tr>
<tr id="i96" class="altColor"> <tr id="i97" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToNextWindow()">seekToNextWindow</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToNextWindow()">seekToNextWindow</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -927,21 +934,21 @@ implements <a href="Player.html" title="interface in com.google.android.exoplaye
</div> </div>
</td> </td>
</tr> </tr>
<tr id="i97" class="rowColor"> <tr id="i98" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToPrevious()">seekToPrevious</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToPrevious()">seekToPrevious</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#seekToPrevious()"><code>Player.seekToPrevious()</code></a> on the delegate.</div> <div class="block">Calls <a href="Player.html#seekToPrevious()"><code>Player.seekToPrevious()</code></a> on the delegate.</div>
</td> </td>
</tr> </tr>
<tr id="i98" class="altColor"> <tr id="i99" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToPreviousMediaItem()">seekToPreviousMediaItem</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToPreviousMediaItem()">seekToPreviousMediaItem</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#seekToPreviousMediaItem()"><code>Player.seekToPreviousMediaItem()</code></a> on the delegate.</div> <div class="block">Calls <a href="Player.html#seekToPreviousMediaItem()"><code>Player.seekToPreviousMediaItem()</code></a> on the delegate.</div>
</td> </td>
</tr> </tr>
<tr id="i99" class="rowColor"> <tr id="i100" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToPreviousWindow()">seekToPreviousWindow</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToPreviousWindow()">seekToPreviousWindow</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -950,28 +957,28 @@ implements <a href="Player.html" title="interface in com.google.android.exoplaye
</div> </div>
</td> </td>
</tr> </tr>
<tr id="i100" class="altColor"> <tr id="i101" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDeviceMuted(boolean)">setDeviceMuted</a></span>&#8203;(boolean&nbsp;muted)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDeviceMuted(boolean)">setDeviceMuted</a></span>&#8203;(boolean&nbsp;muted)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#setDeviceMuted(boolean)"><code>Player.setDeviceMuted(boolean)</code></a> on the delegate.</div> <div class="block">Calls <a href="Player.html#setDeviceMuted(boolean)"><code>Player.setDeviceMuted(boolean)</code></a> on the delegate.</div>
</td> </td>
</tr> </tr>
<tr id="i101" class="rowColor"> <tr id="i102" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDeviceVolume(int)">setDeviceVolume</a></span>&#8203;(int&nbsp;volume)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDeviceVolume(int)">setDeviceVolume</a></span>&#8203;(int&nbsp;volume)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#setDeviceVolume(int)"><code>Player.setDeviceVolume(int)</code></a> on the delegate.</div> <div class="block">Calls <a href="Player.html#setDeviceVolume(int)"><code>Player.setDeviceVolume(int)</code></a> on the delegate.</div>
</td> </td>
</tr> </tr>
<tr id="i102" class="altColor"> <tr id="i103" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaItem(com.google.android.exoplayer2.MediaItem)">setMediaItem</a></span>&#8203;(<a href="MediaItem.html" title="class in com.google.android.exoplayer2">MediaItem</a>&nbsp;mediaItem)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaItem(com.google.android.exoplayer2.MediaItem)">setMediaItem</a></span>&#8203;(<a href="MediaItem.html" title="class in com.google.android.exoplayer2">MediaItem</a>&nbsp;mediaItem)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#setMediaItem(com.google.android.exoplayer2.MediaItem)"><code>Player.setMediaItem(MediaItem)</code></a> on the delegate.</div> <div class="block">Calls <a href="Player.html#setMediaItem(com.google.android.exoplayer2.MediaItem)"><code>Player.setMediaItem(MediaItem)</code></a> on the delegate.</div>
</td> </td>
</tr> </tr>
<tr id="i103" class="rowColor"> <tr id="i104" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaItem(com.google.android.exoplayer2.MediaItem,boolean)">setMediaItem</a></span>&#8203;(<a href="MediaItem.html" title="class in com.google.android.exoplayer2">MediaItem</a>&nbsp;mediaItem, <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaItem(com.google.android.exoplayer2.MediaItem,boolean)">setMediaItem</a></span>&#8203;(<a href="MediaItem.html" title="class in com.google.android.exoplayer2">MediaItem</a>&nbsp;mediaItem,
boolean&nbsp;resetPosition)</code></th> boolean&nbsp;resetPosition)</code></th>
@ -979,7 +986,7 @@ implements <a href="Player.html" title="interface in com.google.android.exoplaye
<div class="block">Calls <a href="Player.html#setMediaItem(com.google.android.exoplayer2.MediaItem,boolean)"><code>Player.setMediaItem(MediaItem, boolean)</code></a> on the delegate.</div> <div class="block">Calls <a href="Player.html#setMediaItem(com.google.android.exoplayer2.MediaItem,boolean)"><code>Player.setMediaItem(MediaItem, boolean)</code></a> on the delegate.</div>
</td> </td>
</tr> </tr>
<tr id="i104" class="altColor"> <tr id="i105" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaItem(com.google.android.exoplayer2.MediaItem,long)">setMediaItem</a></span>&#8203;(<a href="MediaItem.html" title="class in com.google.android.exoplayer2">MediaItem</a>&nbsp;mediaItem, <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaItem(com.google.android.exoplayer2.MediaItem,long)">setMediaItem</a></span>&#8203;(<a href="MediaItem.html" title="class in com.google.android.exoplayer2">MediaItem</a>&nbsp;mediaItem,
long&nbsp;startPositionMs)</code></th> long&nbsp;startPositionMs)</code></th>
@ -987,14 +994,14 @@ implements <a href="Player.html" title="interface in com.google.android.exoplaye
<div class="block">Calls <a href="Player.html#setMediaItem(com.google.android.exoplayer2.MediaItem,long)"><code>Player.setMediaItem(MediaItem, long)</code></a> on the delegate.</div> <div class="block">Calls <a href="Player.html#setMediaItem(com.google.android.exoplayer2.MediaItem,long)"><code>Player.setMediaItem(MediaItem, long)</code></a> on the delegate.</div>
</td> </td>
</tr> </tr>
<tr id="i105" class="rowColor"> <tr id="i106" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaItems(java.util.List)">setMediaItems</a></span>&#8203;(<a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="MediaItem.html" title="class in com.google.android.exoplayer2" target="_top">MediaItem</a>&gt;&nbsp;mediaItems)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaItems(java.util.List)">setMediaItems</a></span>&#8203;(<a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="MediaItem.html" title="class in com.google.android.exoplayer2" target="_top">MediaItem</a>&gt;&nbsp;mediaItems)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#setMediaItems(java.util.List)"><code>Player.setMediaItems(List)</code></a> on the delegate.</div> <div class="block">Calls <a href="Player.html#setMediaItems(java.util.List)"><code>Player.setMediaItems(List)</code></a> on the delegate.</div>
</td> </td>
</tr> </tr>
<tr id="i106" class="altColor"> <tr id="i107" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaItems(java.util.List,boolean)">setMediaItems</a></span>&#8203;(<a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="MediaItem.html" title="class in com.google.android.exoplayer2" target="_top">MediaItem</a>&gt;&nbsp;mediaItems, <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaItems(java.util.List,boolean)">setMediaItems</a></span>&#8203;(<a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="MediaItem.html" title="class in com.google.android.exoplayer2" target="_top">MediaItem</a>&gt;&nbsp;mediaItems,
boolean&nbsp;resetPosition)</code></th> boolean&nbsp;resetPosition)</code></th>
@ -1002,7 +1009,7 @@ implements <a href="Player.html" title="interface in com.google.android.exoplaye
<div class="block">Calls <a href="Player.html#setMediaItems(java.util.List,boolean)"><code>Player.setMediaItems(List, boolean)</code></a> ()} on the delegate.</div> <div class="block">Calls <a href="Player.html#setMediaItems(java.util.List,boolean)"><code>Player.setMediaItems(List, boolean)</code></a> ()} on the delegate.</div>
</td> </td>
</tr> </tr>
<tr id="i107" class="rowColor"> <tr id="i108" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaItems(java.util.List,int,long)">setMediaItems</a></span>&#8203;(<a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="MediaItem.html" title="class in com.google.android.exoplayer2" target="_top">MediaItem</a>&gt;&nbsp;mediaItems, <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaItems(java.util.List,int,long)">setMediaItems</a></span>&#8203;(<a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="MediaItem.html" title="class in com.google.android.exoplayer2" target="_top">MediaItem</a>&gt;&nbsp;mediaItems,
int&nbsp;startIndex, int&nbsp;startIndex,
@ -1011,98 +1018,98 @@ implements <a href="Player.html" title="interface in com.google.android.exoplaye
<div class="block">Calls <a href="Player.html#setMediaItems(java.util.List,int,long)"><code>Player.setMediaItems(List, int, long)</code></a> on the delegate.</div> <div class="block">Calls <a href="Player.html#setMediaItems(java.util.List,int,long)"><code>Player.setMediaItems(List, int, long)</code></a> on the delegate.</div>
</td> </td>
</tr> </tr>
<tr id="i108" class="altColor"> <tr id="i109" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPlaybackParameters(com.google.android.exoplayer2.PlaybackParameters)">setPlaybackParameters</a></span>&#8203;(<a href="PlaybackParameters.html" title="class in com.google.android.exoplayer2">PlaybackParameters</a>&nbsp;playbackParameters)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPlaybackParameters(com.google.android.exoplayer2.PlaybackParameters)">setPlaybackParameters</a></span>&#8203;(<a href="PlaybackParameters.html" title="class in com.google.android.exoplayer2">PlaybackParameters</a>&nbsp;playbackParameters)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#setPlaybackParameters(com.google.android.exoplayer2.PlaybackParameters)"><code>Player.setPlaybackParameters(PlaybackParameters)</code></a> on the delegate.</div> <div class="block">Calls <a href="Player.html#setPlaybackParameters(com.google.android.exoplayer2.PlaybackParameters)"><code>Player.setPlaybackParameters(PlaybackParameters)</code></a> on the delegate.</div>
</td> </td>
</tr> </tr>
<tr id="i109" class="rowColor"> <tr id="i110" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPlaybackSpeed(float)">setPlaybackSpeed</a></span>&#8203;(float&nbsp;speed)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPlaybackSpeed(float)">setPlaybackSpeed</a></span>&#8203;(float&nbsp;speed)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#setPlaybackSpeed(float)"><code>Player.setPlaybackSpeed(float)</code></a> on the delegate.</div> <div class="block">Calls <a href="Player.html#setPlaybackSpeed(float)"><code>Player.setPlaybackSpeed(float)</code></a> on the delegate.</div>
</td> </td>
</tr> </tr>
<tr id="i110" class="altColor"> <tr id="i111" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPlaylistMetadata(com.google.android.exoplayer2.MediaMetadata)">setPlaylistMetadata</a></span>&#8203;(<a href="MediaMetadata.html" title="class in com.google.android.exoplayer2">MediaMetadata</a>&nbsp;mediaMetadata)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPlaylistMetadata(com.google.android.exoplayer2.MediaMetadata)">setPlaylistMetadata</a></span>&#8203;(<a href="MediaMetadata.html" title="class in com.google.android.exoplayer2">MediaMetadata</a>&nbsp;mediaMetadata)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#setPlaylistMetadata(com.google.android.exoplayer2.MediaMetadata)"><code>Player.setPlaylistMetadata(MediaMetadata)</code></a> on the delegate.</div> <div class="block">Calls <a href="Player.html#setPlaylistMetadata(com.google.android.exoplayer2.MediaMetadata)"><code>Player.setPlaylistMetadata(MediaMetadata)</code></a> on the delegate.</div>
</td> </td>
</tr> </tr>
<tr id="i111" class="rowColor"> <tr id="i112" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPlayWhenReady(boolean)">setPlayWhenReady</a></span>&#8203;(boolean&nbsp;playWhenReady)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPlayWhenReady(boolean)">setPlayWhenReady</a></span>&#8203;(boolean&nbsp;playWhenReady)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#setPlayWhenReady(boolean)"><code>Player.setPlayWhenReady(boolean)</code></a> on the delegate.</div> <div class="block">Calls <a href="Player.html#setPlayWhenReady(boolean)"><code>Player.setPlayWhenReady(boolean)</code></a> on the delegate.</div>
</td> </td>
</tr> </tr>
<tr id="i112" class="altColor"> <tr id="i113" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setRepeatMode(@com.google.android.exoplayer2.Player.RepeatModeint)">setRepeatMode</a></span>&#8203;(@com.google.android.exoplayer2.Player.RepeatMode int&nbsp;repeatMode)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setRepeatMode(@com.google.android.exoplayer2.Player.RepeatModeint)">setRepeatMode</a></span>&#8203;(@com.google.android.exoplayer2.Player.RepeatMode int&nbsp;repeatMode)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#setRepeatMode(@com.google.android.exoplayer2.Player.RepeatModeint)"><code>Player.setRepeatMode(int)</code></a> on the delegate.</div> <div class="block">Calls <a href="Player.html#setRepeatMode(@com.google.android.exoplayer2.Player.RepeatModeint)"><code>Player.setRepeatMode(int)</code></a> on the delegate.</div>
</td> </td>
</tr> </tr>
<tr id="i113" class="rowColor"> <tr id="i114" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setShuffleModeEnabled(boolean)">setShuffleModeEnabled</a></span>&#8203;(boolean&nbsp;shuffleModeEnabled)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setShuffleModeEnabled(boolean)">setShuffleModeEnabled</a></span>&#8203;(boolean&nbsp;shuffleModeEnabled)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#setShuffleModeEnabled(boolean)"><code>Player.setShuffleModeEnabled(boolean)</code></a> on the delegate.</div> <div class="block">Calls <a href="Player.html#setShuffleModeEnabled(boolean)"><code>Player.setShuffleModeEnabled(boolean)</code></a> on the delegate.</div>
</td> </td>
</tr> </tr>
<tr id="i114" class="altColor"> <tr id="i115" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setTrackSelectionParameters(com.google.android.exoplayer2.trackselection.TrackSelectionParameters)">setTrackSelectionParameters</a></span>&#8203;(<a href="trackselection/TrackSelectionParameters.html" title="class in com.google.android.exoplayer2.trackselection">TrackSelectionParameters</a>&nbsp;parameters)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setTrackSelectionParameters(com.google.android.exoplayer2.trackselection.TrackSelectionParameters)">setTrackSelectionParameters</a></span>&#8203;(<a href="trackselection/TrackSelectionParameters.html" title="class in com.google.android.exoplayer2.trackselection">TrackSelectionParameters</a>&nbsp;parameters)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#setTrackSelectionParameters(com.google.android.exoplayer2.trackselection.TrackSelectionParameters)"><code>Player.setTrackSelectionParameters(TrackSelectionParameters)</code></a> on the delegate.</div> <div class="block">Calls <a href="Player.html#setTrackSelectionParameters(com.google.android.exoplayer2.trackselection.TrackSelectionParameters)"><code>Player.setTrackSelectionParameters(TrackSelectionParameters)</code></a> on the delegate.</div>
</td> </td>
</tr> </tr>
<tr id="i115" class="rowColor"> <tr id="i116" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoSurface(android.view.Surface)">setVideoSurface</a></span>&#8203;(<a href="https://developer.android.com/reference/android/view/Surface.html" title="class or interface in android.view" class="externalLink" target="_top">Surface</a>&nbsp;surface)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoSurface(android.view.Surface)">setVideoSurface</a></span>&#8203;(<a href="https://developer.android.com/reference/android/view/Surface.html" title="class or interface in android.view" class="externalLink" target="_top">Surface</a>&nbsp;surface)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#setVideoSurface(android.view.Surface)"><code>Player.setVideoSurface(Surface)</code></a> on the delegate.</div> <div class="block">Calls <a href="Player.html#setVideoSurface(android.view.Surface)"><code>Player.setVideoSurface(Surface)</code></a> on the delegate.</div>
</td> </td>
</tr> </tr>
<tr id="i116" class="altColor"> <tr id="i117" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoSurfaceHolder(android.view.SurfaceHolder)">setVideoSurfaceHolder</a></span>&#8203;(<a href="https://developer.android.com/reference/android/view/SurfaceHolder.html" title="class or interface in android.view" class="externalLink" target="_top">SurfaceHolder</a>&nbsp;surfaceHolder)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoSurfaceHolder(android.view.SurfaceHolder)">setVideoSurfaceHolder</a></span>&#8203;(<a href="https://developer.android.com/reference/android/view/SurfaceHolder.html" title="class or interface in android.view" class="externalLink" target="_top">SurfaceHolder</a>&nbsp;surfaceHolder)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#setVideoSurfaceHolder(android.view.SurfaceHolder)"><code>Player.setVideoSurfaceHolder(SurfaceHolder)</code></a> on the delegate.</div> <div class="block">Calls <a href="Player.html#setVideoSurfaceHolder(android.view.SurfaceHolder)"><code>Player.setVideoSurfaceHolder(SurfaceHolder)</code></a> on the delegate.</div>
</td> </td>
</tr> </tr>
<tr id="i117" class="rowColor"> <tr id="i118" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoSurfaceView(android.view.SurfaceView)">setVideoSurfaceView</a></span>&#8203;(<a href="https://developer.android.com/reference/android/view/SurfaceView.html" title="class or interface in android.view" class="externalLink" target="_top">SurfaceView</a>&nbsp;surfaceView)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoSurfaceView(android.view.SurfaceView)">setVideoSurfaceView</a></span>&#8203;(<a href="https://developer.android.com/reference/android/view/SurfaceView.html" title="class or interface in android.view" class="externalLink" target="_top">SurfaceView</a>&nbsp;surfaceView)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#setVideoSurfaceView(android.view.SurfaceView)"><code>Player.setVideoSurfaceView(SurfaceView)</code></a> on the delegate.</div> <div class="block">Calls <a href="Player.html#setVideoSurfaceView(android.view.SurfaceView)"><code>Player.setVideoSurfaceView(SurfaceView)</code></a> on the delegate.</div>
</td> </td>
</tr> </tr>
<tr id="i118" class="altColor"> <tr id="i119" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoTextureView(android.view.TextureView)">setVideoTextureView</a></span>&#8203;(<a href="https://developer.android.com/reference/android/view/TextureView.html" title="class or interface in android.view" class="externalLink" target="_top">TextureView</a>&nbsp;textureView)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoTextureView(android.view.TextureView)">setVideoTextureView</a></span>&#8203;(<a href="https://developer.android.com/reference/android/view/TextureView.html" title="class or interface in android.view" class="externalLink" target="_top">TextureView</a>&nbsp;textureView)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#setVideoTextureView(android.view.TextureView)"><code>Player.setVideoTextureView(TextureView)</code></a> on the delegate.</div> <div class="block">Calls <a href="Player.html#setVideoTextureView(android.view.TextureView)"><code>Player.setVideoTextureView(TextureView)</code></a> on the delegate.</div>
</td> </td>
</tr> </tr>
<tr id="i119" class="rowColor"> <tr id="i120" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVolume(float)">setVolume</a></span>&#8203;(float&nbsp;volume)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVolume(float)">setVolume</a></span>&#8203;(float&nbsp;volume)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#setVolume(float)"><code>Player.setVolume(float)</code></a> on the delegate.</div> <div class="block">Calls <a href="Player.html#setVolume(float)"><code>Player.setVolume(float)</code></a> on the delegate.</div>
</td> </td>
</tr> </tr>
<tr id="i120" class="altColor"> <tr id="i121" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#stop()">stop</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#stop()">stop</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Calls <a href="Player.html#stop()"><code>Player.stop()</code></a> on the delegate.</div> <div class="block">Calls <a href="Player.html#stop()"><code>Player.stop()</code></a> on the delegate.</div>
</td> </td>
</tr> </tr>
<tr id="i121" class="rowColor"> <tr id="i122" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#stop(boolean)">stop</a></span>&#8203;(boolean&nbsp;reset)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#stop(boolean)">stop</a></span>&#8203;(boolean&nbsp;reset)</code></th>
<td class="colLast"> <td class="colLast">
@ -2842,6 +2849,22 @@ public&nbsp;boolean&nbsp;isCurrentWindowSeekable()</pre>
</dl> </dl>
</li> </li>
</ul> </ul>
<a id="getSurfaceSize()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSurfaceSize</h4>
<pre class="methodSignature">public&nbsp;<a href="util/Size.html" title="class in com.google.android.exoplayer2.util">Size</a>&nbsp;getSurfaceSize()</pre>
<div class="block">Calls <a href="Player.html#getSurfaceSize()"><code>Player.getSurfaceSize()</code></a> on the delegate and returns the result.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="Player.html#getSurfaceSize()">getSurfaceSize</a></code>&nbsp;in interface&nbsp;<code><a href="Player.html" title="interface in com.google.android.exoplayer2">Player</a></code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="Player.Listener.html#onSurfaceSizeChanged(int,int)"><code>Player.Listener.onSurfaceSizeChanged(int, int)</code></a></dd>
</dl>
</li>
</ul>
<a id="clearVideoSurface()"> <a id="clearVideoSurface()">
<!-- --> <!-- -->
</a> </a>

File diff suppressed because one or more lines are too long

View File

@ -252,7 +252,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setAdTagUri</h4> <h4>setAdTagUri</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.AdsConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.AdsConfiguration.Builder</a>&nbsp;setAdTagUri&#8203;(<a href="https://developer.android.com/reference/android/net/Uri.html" title="class or interface in android.net" class="externalLink" target="_top">Uri</a>&nbsp;adTagUri)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.AdsConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.AdsConfiguration.Builder</a>&nbsp;setAdTagUri&#8203;(<a href="https://developer.android.com/reference/android/net/Uri.html" title="class or interface in android.net" class="externalLink" target="_top">Uri</a>&nbsp;adTagUri)</pre>
<div class="block">Sets the ad tag URI to load.</div> <div class="block">Sets the ad tag URI to load.</div>
</li> </li>
</ul> </ul>
@ -262,7 +263,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setAdsId</h4> <h4>setAdsId</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.AdsConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.AdsConfiguration.Builder</a>&nbsp;setAdsId&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.AdsConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.AdsConfiguration.Builder</a>&nbsp;setAdsId&#8203;(@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>&nbsp;adsId)</pre> <a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a>&nbsp;adsId)</pre>
<div class="block">Sets the ads identifier. <div class="block">Sets the ads identifier.

View File

@ -556,7 +556,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setMediaId</h4> <h4>setMediaId</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setMediaId&#8203;(<a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a>&nbsp;mediaId)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setMediaId&#8203;(<a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a>&nbsp;mediaId)</pre>
<div class="block">Sets the optional media ID which identifies the media item. <div class="block">Sets the optional media ID which identifies the media item.
<p>By default <a href="MediaItem.html#DEFAULT_MEDIA_ID"><code>MediaItem.DEFAULT_MEDIA_ID</code></a> is used.</div> <p>By default <a href="MediaItem.html#DEFAULT_MEDIA_ID"><code>MediaItem.DEFAULT_MEDIA_ID</code></a> is used.</div>
@ -568,7 +569,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setUri</h4> <h4>setUri</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setUri&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setUri&#8203;(@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>&nbsp;uri)</pre> <a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a>&nbsp;uri)</pre>
<div class="block">Sets the optional URI. <div class="block">Sets the optional URI.
@ -582,7 +584,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setUri</h4> <h4>setUri</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setUri&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setUri&#8203;(@Nullable
<a href="https://developer.android.com/reference/android/net/Uri.html" title="class or interface in android.net" class="externalLink" target="_top">Uri</a>&nbsp;uri)</pre> <a href="https://developer.android.com/reference/android/net/Uri.html" title="class or interface in android.net" class="externalLink" target="_top">Uri</a>&nbsp;uri)</pre>
<div class="block">Sets the optional URI. <div class="block">Sets the optional URI.
@ -596,7 +599,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setMimeType</h4> <h4>setMimeType</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setMimeType&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setMimeType&#8203;(@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>&nbsp;mimeType)</pre> <a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a>&nbsp;mimeType)</pre>
<div class="block">Sets the optional MIME type. <div class="block">Sets the optional MIME type.
@ -615,7 +619,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setClippingConfiguration</h4> <h4>setClippingConfiguration</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setClippingConfiguration&#8203;(<a href="MediaItem.ClippingConfiguration.html" title="class in com.google.android.exoplayer2">MediaItem.ClippingConfiguration</a>&nbsp;clippingConfiguration)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setClippingConfiguration&#8203;(<a href="MediaItem.ClippingConfiguration.html" title="class in com.google.android.exoplayer2">MediaItem.ClippingConfiguration</a>&nbsp;clippingConfiguration)</pre>
<div class="block">Sets the <a href="MediaItem.ClippingConfiguration.html" title="class in com.google.android.exoplayer2"><code>MediaItem.ClippingConfiguration</code></a>, defaults to <a href="MediaItem.ClippingConfiguration.html#UNSET"><code>MediaItem.ClippingConfiguration.UNSET</code></a>.</div> <div class="block">Sets the <a href="MediaItem.ClippingConfiguration.html" title="class in com.google.android.exoplayer2"><code>MediaItem.ClippingConfiguration</code></a>, defaults to <a href="MediaItem.ClippingConfiguration.html#UNSET"><code>MediaItem.ClippingConfiguration.UNSET</code></a>.</div>
</li> </li>
</ul> </ul>
@ -625,7 +630,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setClipStartPositionMs</h4> <h4>setClipStartPositionMs</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setClipStartPositionMs&#8203;(@IntRange(from=0L) public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setClipStartPositionMs&#8203;(@IntRange(from=0L)
long&nbsp;startPositionMs)</pre> long&nbsp;startPositionMs)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
@ -639,7 +645,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setClipEndPositionMs</h4> <h4>setClipEndPositionMs</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setClipEndPositionMs&#8203;(long&nbsp;endPositionMs)</pre> public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setClipEndPositionMs&#8203;(long&nbsp;endPositionMs)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="#setClippingConfiguration(com.google.android.exoplayer2.MediaItem.ClippingConfiguration)"><code>setClippingConfiguration(ClippingConfiguration)</code></a> and <a href="MediaItem.ClippingConfiguration.Builder.html#setEndPositionMs(long)"><code>MediaItem.ClippingConfiguration.Builder.setEndPositionMs(long)</code></a> instead.</div> <div class="deprecationComment">Use <a href="#setClippingConfiguration(com.google.android.exoplayer2.MediaItem.ClippingConfiguration)"><code>setClippingConfiguration(ClippingConfiguration)</code></a> and <a href="MediaItem.ClippingConfiguration.Builder.html#setEndPositionMs(long)"><code>MediaItem.ClippingConfiguration.Builder.setEndPositionMs(long)</code></a> instead.</div>
@ -652,7 +659,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setClipRelativeToLiveWindow</h4> <h4>setClipRelativeToLiveWindow</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setClipRelativeToLiveWindow&#8203;(boolean&nbsp;relativeToLiveWindow)</pre> public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setClipRelativeToLiveWindow&#8203;(boolean&nbsp;relativeToLiveWindow)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="#setClippingConfiguration(com.google.android.exoplayer2.MediaItem.ClippingConfiguration)"><code>setClippingConfiguration(ClippingConfiguration)</code></a> and <a href="MediaItem.ClippingConfiguration.Builder.html#setRelativeToLiveWindow(boolean)"><code>MediaItem.ClippingConfiguration.Builder.setRelativeToLiveWindow(boolean)</code></a> instead.</div> <div class="deprecationComment">Use <a href="#setClippingConfiguration(com.google.android.exoplayer2.MediaItem.ClippingConfiguration)"><code>setClippingConfiguration(ClippingConfiguration)</code></a> and <a href="MediaItem.ClippingConfiguration.Builder.html#setRelativeToLiveWindow(boolean)"><code>MediaItem.ClippingConfiguration.Builder.setRelativeToLiveWindow(boolean)</code></a> instead.</div>
@ -665,7 +673,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setClipRelativeToDefaultPosition</h4> <h4>setClipRelativeToDefaultPosition</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setClipRelativeToDefaultPosition&#8203;(boolean&nbsp;relativeToDefaultPosition)</pre> public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setClipRelativeToDefaultPosition&#8203;(boolean&nbsp;relativeToDefaultPosition)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="#setClippingConfiguration(com.google.android.exoplayer2.MediaItem.ClippingConfiguration)"><code>setClippingConfiguration(ClippingConfiguration)</code></a> and <a href="MediaItem.ClippingConfiguration.Builder.html#setRelativeToDefaultPosition(boolean)"><code>MediaItem.ClippingConfiguration.Builder.setRelativeToDefaultPosition(boolean)</code></a> instead.</div> <div class="deprecationComment">Use <a href="#setClippingConfiguration(com.google.android.exoplayer2.MediaItem.ClippingConfiguration)"><code>setClippingConfiguration(ClippingConfiguration)</code></a> and <a href="MediaItem.ClippingConfiguration.Builder.html#setRelativeToDefaultPosition(boolean)"><code>MediaItem.ClippingConfiguration.Builder.setRelativeToDefaultPosition(boolean)</code></a> instead.</div>
@ -678,7 +687,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setClipStartsAtKeyFrame</h4> <h4>setClipStartsAtKeyFrame</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setClipStartsAtKeyFrame&#8203;(boolean&nbsp;startsAtKeyFrame)</pre> public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setClipStartsAtKeyFrame&#8203;(boolean&nbsp;startsAtKeyFrame)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="#setClippingConfiguration(com.google.android.exoplayer2.MediaItem.ClippingConfiguration)"><code>setClippingConfiguration(ClippingConfiguration)</code></a> and <a href="MediaItem.ClippingConfiguration.Builder.html#setStartsAtKeyFrame(boolean)"><code>MediaItem.ClippingConfiguration.Builder.setStartsAtKeyFrame(boolean)</code></a> instead.</div> <div class="deprecationComment">Use <a href="#setClippingConfiguration(com.google.android.exoplayer2.MediaItem.ClippingConfiguration)"><code>setClippingConfiguration(ClippingConfiguration)</code></a> and <a href="MediaItem.ClippingConfiguration.Builder.html#setStartsAtKeyFrame(boolean)"><code>MediaItem.ClippingConfiguration.Builder.setStartsAtKeyFrame(boolean)</code></a> instead.</div>
@ -691,7 +701,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setDrmConfiguration</h4> <h4>setDrmConfiguration</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setDrmConfiguration&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setDrmConfiguration&#8203;(@Nullable
<a href="MediaItem.DrmConfiguration.html" title="class in com.google.android.exoplayer2">MediaItem.DrmConfiguration</a>&nbsp;drmConfiguration)</pre> <a href="MediaItem.DrmConfiguration.html" title="class in com.google.android.exoplayer2">MediaItem.DrmConfiguration</a>&nbsp;drmConfiguration)</pre>
<div class="block">Sets the optional DRM configuration.</div> <div class="block">Sets the optional DRM configuration.</div>
</li> </li>
@ -702,7 +713,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setDrmLicenseUri</h4> <h4>setDrmLicenseUri</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setDrmLicenseUri&#8203;(@Nullable public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setDrmLicenseUri&#8203;(@Nullable
<a href="https://developer.android.com/reference/android/net/Uri.html" title="class or interface in android.net" class="externalLink" target="_top">Uri</a>&nbsp;licenseUri)</pre> <a href="https://developer.android.com/reference/android/net/Uri.html" title="class or interface in android.net" class="externalLink" target="_top">Uri</a>&nbsp;licenseUri)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
@ -716,7 +728,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setDrmLicenseUri</h4> <h4>setDrmLicenseUri</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setDrmLicenseUri&#8203;(@Nullable public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setDrmLicenseUri&#8203;(@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>&nbsp;licenseUri)</pre> <a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a>&nbsp;licenseUri)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
@ -730,7 +743,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setDrmLicenseRequestHeaders</h4> <h4>setDrmLicenseRequestHeaders</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setDrmLicenseRequestHeaders&#8203;(@Nullable public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setDrmLicenseRequestHeaders&#8203;(@Nullable
<a href="https://developer.android.com/reference/java/util/Map.html" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="https://developer.android.com/reference/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<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>&gt;&nbsp;licenseRequestHeaders)</pre> <a href="https://developer.android.com/reference/java/util/Map.html" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="https://developer.android.com/reference/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<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>&gt;&nbsp;licenseRequestHeaders)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
@ -745,7 +759,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setDrmUuid</h4> <h4>setDrmUuid</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setDrmUuid&#8203;(@Nullable public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setDrmUuid&#8203;(@Nullable
<a href="https://developer.android.com/reference/java/util/UUID.html" title="class or interface in java.util" class="externalLink" target="_top">UUID</a>&nbsp;uuid)</pre> <a href="https://developer.android.com/reference/java/util/UUID.html" title="class or interface in java.util" class="externalLink" target="_top">UUID</a>&nbsp;uuid)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
@ -760,7 +775,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setDrmMultiSession</h4> <h4>setDrmMultiSession</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setDrmMultiSession&#8203;(boolean&nbsp;multiSession)</pre> public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setDrmMultiSession&#8203;(boolean&nbsp;multiSession)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="#setDrmConfiguration(com.google.android.exoplayer2.MediaItem.DrmConfiguration)"><code>setDrmConfiguration(DrmConfiguration)</code></a> and <a href="MediaItem.DrmConfiguration.Builder.html#setMultiSession(boolean)"><code>MediaItem.DrmConfiguration.Builder.setMultiSession(boolean)</code></a> instead.</div> <div class="deprecationComment">Use <a href="#setDrmConfiguration(com.google.android.exoplayer2.MediaItem.DrmConfiguration)"><code>setDrmConfiguration(DrmConfiguration)</code></a> and <a href="MediaItem.DrmConfiguration.Builder.html#setMultiSession(boolean)"><code>MediaItem.DrmConfiguration.Builder.setMultiSession(boolean)</code></a> instead.</div>
@ -773,7 +789,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setDrmForceDefaultLicenseUri</h4> <h4>setDrmForceDefaultLicenseUri</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setDrmForceDefaultLicenseUri&#8203;(boolean&nbsp;forceDefaultLicenseUri)</pre> public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setDrmForceDefaultLicenseUri&#8203;(boolean&nbsp;forceDefaultLicenseUri)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="#setDrmConfiguration(com.google.android.exoplayer2.MediaItem.DrmConfiguration)"><code>setDrmConfiguration(DrmConfiguration)</code></a> and <a href="MediaItem.DrmConfiguration.Builder.html#setForceDefaultLicenseUri(boolean)"><code>MediaItem.DrmConfiguration.Builder.setForceDefaultLicenseUri(boolean)</code></a> instead.</div> <div class="deprecationComment">Use <a href="#setDrmConfiguration(com.google.android.exoplayer2.MediaItem.DrmConfiguration)"><code>setDrmConfiguration(DrmConfiguration)</code></a> and <a href="MediaItem.DrmConfiguration.Builder.html#setForceDefaultLicenseUri(boolean)"><code>MediaItem.DrmConfiguration.Builder.setForceDefaultLicenseUri(boolean)</code></a> instead.</div>
@ -786,7 +803,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setDrmPlayClearContentWithoutKey</h4> <h4>setDrmPlayClearContentWithoutKey</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setDrmPlayClearContentWithoutKey&#8203;(boolean&nbsp;playClearContentWithoutKey)</pre> public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setDrmPlayClearContentWithoutKey&#8203;(boolean&nbsp;playClearContentWithoutKey)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="#setDrmConfiguration(com.google.android.exoplayer2.MediaItem.DrmConfiguration)"><code>setDrmConfiguration(DrmConfiguration)</code></a> and <a href="MediaItem.DrmConfiguration.Builder.html#setPlayClearContentWithoutKey(boolean)"><code>MediaItem.DrmConfiguration.Builder.setPlayClearContentWithoutKey(boolean)</code></a> instead.</div> <div class="deprecationComment">Use <a href="#setDrmConfiguration(com.google.android.exoplayer2.MediaItem.DrmConfiguration)"><code>setDrmConfiguration(DrmConfiguration)</code></a> and <a href="MediaItem.DrmConfiguration.Builder.html#setPlayClearContentWithoutKey(boolean)"><code>MediaItem.DrmConfiguration.Builder.setPlayClearContentWithoutKey(boolean)</code></a> instead.</div>
@ -799,7 +817,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setDrmSessionForClearPeriods</h4> <h4>setDrmSessionForClearPeriods</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setDrmSessionForClearPeriods&#8203;(boolean&nbsp;sessionForClearPeriods)</pre> public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setDrmSessionForClearPeriods&#8203;(boolean&nbsp;sessionForClearPeriods)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="#setDrmConfiguration(com.google.android.exoplayer2.MediaItem.DrmConfiguration)"><code>setDrmConfiguration(DrmConfiguration)</code></a> and <a href="MediaItem.DrmConfiguration.Builder.html#setForceSessionsForAudioAndVideoTracks(boolean)"><code>MediaItem.DrmConfiguration.Builder.setForceSessionsForAudioAndVideoTracks(boolean)</code></a> instead.</div> <div class="deprecationComment">Use <a href="#setDrmConfiguration(com.google.android.exoplayer2.MediaItem.DrmConfiguration)"><code>setDrmConfiguration(DrmConfiguration)</code></a> and <a href="MediaItem.DrmConfiguration.Builder.html#setForceSessionsForAudioAndVideoTracks(boolean)"><code>MediaItem.DrmConfiguration.Builder.setForceSessionsForAudioAndVideoTracks(boolean)</code></a> instead.</div>
@ -812,7 +831,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setDrmSessionForClearTypes</h4> <h4>setDrmSessionForClearTypes</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setDrmSessionForClearTypes&#8203;(@Nullable public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setDrmSessionForClearTypes&#8203;(@Nullable
<a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a>&lt;<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?is-external=true" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>&gt;&nbsp;sessionForClearTypes)</pre> <a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a>&lt;<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?is-external=true" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>&gt;&nbsp;sessionForClearTypes)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
@ -827,7 +847,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setDrmKeySetId</h4> <h4>setDrmKeySetId</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setDrmKeySetId&#8203;(@Nullable public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setDrmKeySetId&#8203;(@Nullable
byte[]&nbsp;keySetId)</pre> byte[]&nbsp;keySetId)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
@ -841,7 +862,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setStreamKeys</h4> <h4>setStreamKeys</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setStreamKeys&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setStreamKeys&#8203;(@Nullable
<a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="offline/StreamKey.html" title="class in com.google.android.exoplayer2.offline" target="_top">StreamKey</a>&gt;&nbsp;streamKeys)</pre> <a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="offline/StreamKey.html" title="class in com.google.android.exoplayer2.offline" target="_top">StreamKey</a>&gt;&nbsp;streamKeys)</pre>
<div class="block">Sets the optional stream keys by which the manifest is filtered (only used for adaptive <div class="block">Sets the optional stream keys by which the manifest is filtered (only used for adaptive
streams). streams).
@ -858,7 +880,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setCustomCacheKey</h4> <h4>setCustomCacheKey</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setCustomCacheKey&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setCustomCacheKey&#8203;(@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>&nbsp;customCacheKey)</pre> <a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a>&nbsp;customCacheKey)</pre>
<div class="block">Sets the optional custom cache key (only used for progressive streams). <div class="block">Sets the optional custom cache key (only used for progressive streams).
@ -871,7 +894,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setSubtitles</h4> <h4>setSubtitles</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setSubtitles&#8203;(@Nullable public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setSubtitles&#8203;(@Nullable
<a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="MediaItem.Subtitle.html" title="class in com.google.android.exoplayer2" target="_top">MediaItem.Subtitle</a>&gt;&nbsp;subtitles)</pre> <a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="MediaItem.Subtitle.html" title="class in com.google.android.exoplayer2" target="_top">MediaItem.Subtitle</a>&gt;&nbsp;subtitles)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
@ -886,7 +910,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setSubtitleConfigurations</h4> <h4>setSubtitleConfigurations</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setSubtitleConfigurations&#8203;(<a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="MediaItem.SubtitleConfiguration.html" title="class in com.google.android.exoplayer2" target="_top">MediaItem.SubtitleConfiguration</a>&gt;&nbsp;subtitleConfigurations)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setSubtitleConfigurations&#8203;(<a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="MediaItem.SubtitleConfiguration.html" title="class in com.google.android.exoplayer2" target="_top">MediaItem.SubtitleConfiguration</a>&gt;&nbsp;subtitleConfigurations)</pre>
<div class="block">Sets the optional subtitles. <div class="block">Sets the optional subtitles.
<p>This method should only be called if <a href="#setUri(java.lang.String)"><code>setUri(java.lang.String)</code></a> is passed a non-null value.</div> <p>This method should only be called if <a href="#setUri(java.lang.String)"><code>setUri(java.lang.String)</code></a> is passed a non-null value.</div>
@ -898,7 +923,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setAdsConfiguration</h4> <h4>setAdsConfiguration</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setAdsConfiguration&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setAdsConfiguration&#8203;(@Nullable
<a href="MediaItem.AdsConfiguration.html" title="class in com.google.android.exoplayer2">MediaItem.AdsConfiguration</a>&nbsp;adsConfiguration)</pre> <a href="MediaItem.AdsConfiguration.html" title="class in com.google.android.exoplayer2">MediaItem.AdsConfiguration</a>&nbsp;adsConfiguration)</pre>
<div class="block">Sets the optional <a href="MediaItem.AdsConfiguration.html" title="class in com.google.android.exoplayer2"><code>MediaItem.AdsConfiguration</code></a>. <div class="block">Sets the optional <a href="MediaItem.AdsConfiguration.html" title="class in com.google.android.exoplayer2"><code>MediaItem.AdsConfiguration</code></a>.
@ -911,7 +937,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setAdTagUri</h4> <h4>setAdTagUri</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setAdTagUri&#8203;(@Nullable public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setAdTagUri&#8203;(@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>&nbsp;adTagUri)</pre> <a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a>&nbsp;adTagUri)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
@ -926,7 +953,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setAdTagUri</h4> <h4>setAdTagUri</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setAdTagUri&#8203;(@Nullable public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setAdTagUri&#8203;(@Nullable
<a href="https://developer.android.com/reference/android/net/Uri.html" title="class or interface in android.net" class="externalLink" target="_top">Uri</a>&nbsp;adTagUri)</pre> <a href="https://developer.android.com/reference/android/net/Uri.html" title="class or interface in android.net" class="externalLink" target="_top">Uri</a>&nbsp;adTagUri)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
@ -941,7 +969,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setAdTagUri</h4> <h4>setAdTagUri</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setAdTagUri&#8203;(@Nullable public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setAdTagUri&#8203;(@Nullable
<a href="https://developer.android.com/reference/android/net/Uri.html" title="class or interface in android.net" class="externalLink" target="_top">Uri</a>&nbsp;adTagUri, <a href="https://developer.android.com/reference/android/net/Uri.html" title="class or interface in android.net" class="externalLink" target="_top">Uri</a>&nbsp;adTagUri,
@Nullable @Nullable
@ -958,7 +987,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setLiveConfiguration</h4> <h4>setLiveConfiguration</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setLiveConfiguration&#8203;(<a href="MediaItem.LiveConfiguration.html" title="class in com.google.android.exoplayer2">MediaItem.LiveConfiguration</a>&nbsp;liveConfiguration)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setLiveConfiguration&#8203;(<a href="MediaItem.LiveConfiguration.html" title="class in com.google.android.exoplayer2">MediaItem.LiveConfiguration</a>&nbsp;liveConfiguration)</pre>
<div class="block">Sets the <a href="MediaItem.LiveConfiguration.html" title="class in com.google.android.exoplayer2"><code>MediaItem.LiveConfiguration</code></a>. Defaults to <a href="MediaItem.LiveConfiguration.html#UNSET"><code>MediaItem.LiveConfiguration.UNSET</code></a>.</div> <div class="block">Sets the <a href="MediaItem.LiveConfiguration.html" title="class in com.google.android.exoplayer2"><code>MediaItem.LiveConfiguration</code></a>. Defaults to <a href="MediaItem.LiveConfiguration.html#UNSET"><code>MediaItem.LiveConfiguration.UNSET</code></a>.</div>
</li> </li>
</ul> </ul>
@ -968,7 +998,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setLiveTargetOffsetMs</h4> <h4>setLiveTargetOffsetMs</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setLiveTargetOffsetMs&#8203;(long&nbsp;liveTargetOffsetMs)</pre> public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setLiveTargetOffsetMs&#8203;(long&nbsp;liveTargetOffsetMs)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="#setLiveConfiguration(com.google.android.exoplayer2.MediaItem.LiveConfiguration)"><code>setLiveConfiguration(LiveConfiguration)</code></a> and <a href="MediaItem.LiveConfiguration.Builder.html#setTargetOffsetMs(long)"><code>MediaItem.LiveConfiguration.Builder.setTargetOffsetMs(long)</code></a>.</div> <div class="deprecationComment">Use <a href="#setLiveConfiguration(com.google.android.exoplayer2.MediaItem.LiveConfiguration)"><code>setLiveConfiguration(LiveConfiguration)</code></a> and <a href="MediaItem.LiveConfiguration.Builder.html#setTargetOffsetMs(long)"><code>MediaItem.LiveConfiguration.Builder.setTargetOffsetMs(long)</code></a>.</div>
@ -981,7 +1012,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setLiveMinOffsetMs</h4> <h4>setLiveMinOffsetMs</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setLiveMinOffsetMs&#8203;(long&nbsp;liveMinOffsetMs)</pre> public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setLiveMinOffsetMs&#8203;(long&nbsp;liveMinOffsetMs)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="#setLiveConfiguration(com.google.android.exoplayer2.MediaItem.LiveConfiguration)"><code>setLiveConfiguration(LiveConfiguration)</code></a> and <a href="MediaItem.LiveConfiguration.Builder.html#setMinOffsetMs(long)"><code>MediaItem.LiveConfiguration.Builder.setMinOffsetMs(long)</code></a>.</div> <div class="deprecationComment">Use <a href="#setLiveConfiguration(com.google.android.exoplayer2.MediaItem.LiveConfiguration)"><code>setLiveConfiguration(LiveConfiguration)</code></a> and <a href="MediaItem.LiveConfiguration.Builder.html#setMinOffsetMs(long)"><code>MediaItem.LiveConfiguration.Builder.setMinOffsetMs(long)</code></a>.</div>
@ -994,7 +1026,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setLiveMaxOffsetMs</h4> <h4>setLiveMaxOffsetMs</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setLiveMaxOffsetMs&#8203;(long&nbsp;liveMaxOffsetMs)</pre> public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setLiveMaxOffsetMs&#8203;(long&nbsp;liveMaxOffsetMs)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="#setLiveConfiguration(com.google.android.exoplayer2.MediaItem.LiveConfiguration)"><code>setLiveConfiguration(LiveConfiguration)</code></a> and <a href="MediaItem.LiveConfiguration.Builder.html#setMaxOffsetMs(long)"><code>MediaItem.LiveConfiguration.Builder.setMaxOffsetMs(long)</code></a>.</div> <div class="deprecationComment">Use <a href="#setLiveConfiguration(com.google.android.exoplayer2.MediaItem.LiveConfiguration)"><code>setLiveConfiguration(LiveConfiguration)</code></a> and <a href="MediaItem.LiveConfiguration.Builder.html#setMaxOffsetMs(long)"><code>MediaItem.LiveConfiguration.Builder.setMaxOffsetMs(long)</code></a>.</div>
@ -1007,7 +1040,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setLiveMinPlaybackSpeed</h4> <h4>setLiveMinPlaybackSpeed</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setLiveMinPlaybackSpeed&#8203;(float&nbsp;minPlaybackSpeed)</pre> public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setLiveMinPlaybackSpeed&#8203;(float&nbsp;minPlaybackSpeed)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="#setLiveConfiguration(com.google.android.exoplayer2.MediaItem.LiveConfiguration)"><code>setLiveConfiguration(LiveConfiguration)</code></a> and <a href="MediaItem.LiveConfiguration.Builder.html#setMinPlaybackSpeed(float)"><code>MediaItem.LiveConfiguration.Builder.setMinPlaybackSpeed(float)</code></a>.</div> <div class="deprecationComment">Use <a href="#setLiveConfiguration(com.google.android.exoplayer2.MediaItem.LiveConfiguration)"><code>setLiveConfiguration(LiveConfiguration)</code></a> and <a href="MediaItem.LiveConfiguration.Builder.html#setMinPlaybackSpeed(float)"><code>MediaItem.LiveConfiguration.Builder.setMinPlaybackSpeed(float)</code></a>.</div>
@ -1020,7 +1054,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setLiveMaxPlaybackSpeed</h4> <h4>setLiveMaxPlaybackSpeed</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setLiveMaxPlaybackSpeed&#8203;(float&nbsp;maxPlaybackSpeed)</pre> public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setLiveMaxPlaybackSpeed&#8203;(float&nbsp;maxPlaybackSpeed)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="#setLiveConfiguration(com.google.android.exoplayer2.MediaItem.LiveConfiguration)"><code>setLiveConfiguration(LiveConfiguration)</code></a> and <a href="MediaItem.LiveConfiguration.Builder.html#setMaxPlaybackSpeed(float)"><code>MediaItem.LiveConfiguration.Builder.setMaxPlaybackSpeed(float)</code></a>.</div> <div class="deprecationComment">Use <a href="#setLiveConfiguration(com.google.android.exoplayer2.MediaItem.LiveConfiguration)"><code>setLiveConfiguration(LiveConfiguration)</code></a> and <a href="MediaItem.LiveConfiguration.Builder.html#setMaxPlaybackSpeed(float)"><code>MediaItem.LiveConfiguration.Builder.setMaxPlaybackSpeed(float)</code></a>.</div>
@ -1033,7 +1068,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setTag</h4> <h4>setTag</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setTag&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setTag&#8203;(@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>&nbsp;tag)</pre> <a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a>&nbsp;tag)</pre>
<div class="block">Sets the optional tag for custom attributes. The tag for the media source which will be <div class="block">Sets the optional tag for custom attributes. The tag for the media source which will be
published in the <code>com.google.android.exoplayer2.Timeline</code> of the source as <code> published in the <code>com.google.android.exoplayer2.Timeline</code> of the source as <code>
@ -1048,7 +1084,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setMediaMetadata</h4> <h4>setMediaMetadata</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setMediaMetadata&#8203;(<a href="MediaMetadata.html" title="class in com.google.android.exoplayer2">MediaMetadata</a>&nbsp;mediaMetadata)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setMediaMetadata&#8203;(<a href="MediaMetadata.html" title="class in com.google.android.exoplayer2">MediaMetadata</a>&nbsp;mediaMetadata)</pre>
<div class="block">Sets the media metadata.</div> <div class="block">Sets the media metadata.</div>
</li> </li>
</ul> </ul>
@ -1058,7 +1095,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setRequestMetadata</h4> <h4>setRequestMetadata</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setRequestMetadata&#8203;(<a href="MediaItem.RequestMetadata.html" title="class in com.google.android.exoplayer2">MediaItem.RequestMetadata</a>&nbsp;requestMetadata)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a>&nbsp;setRequestMetadata&#8203;(<a href="MediaItem.RequestMetadata.html" title="class in com.google.android.exoplayer2">MediaItem.RequestMetadata</a>&nbsp;requestMetadata)</pre>
<div class="block">Sets the request metadata.</div> <div class="block">Sets the request metadata.</div>
</li> </li>
</ul> </ul>

View File

@ -285,7 +285,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setStartPositionMs</h4> <h4>setStartPositionMs</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.ClippingConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.ClippingConfiguration.Builder</a>&nbsp;setStartPositionMs&#8203;(@IntRange(from=0L) <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.ClippingConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.ClippingConfiguration.Builder</a>&nbsp;setStartPositionMs&#8203;(@IntRange(from=0L)
long&nbsp;startPositionMs)</pre> long&nbsp;startPositionMs)</pre>
<div class="block">Sets the optional start position in milliseconds which must be a value larger than or equal <div class="block">Sets the optional start position in milliseconds which must be a value larger than or equal
to zero (Default: 0).</div> to zero (Default: 0).</div>
@ -297,7 +298,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setEndPositionMs</h4> <h4>setEndPositionMs</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.ClippingConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.ClippingConfiguration.Builder</a>&nbsp;setEndPositionMs&#8203;(long&nbsp;endPositionMs)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.ClippingConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.ClippingConfiguration.Builder</a>&nbsp;setEndPositionMs&#8203;(long&nbsp;endPositionMs)</pre>
<div class="block">Sets the optional end position in milliseconds which must be a value larger than or equal <div class="block">Sets the optional end position in milliseconds which must be a value larger than or equal
to zero, or <a href="C.html#TIME_END_OF_SOURCE"><code>C.TIME_END_OF_SOURCE</code></a> to end when playback reaches the end of media to zero, or <a href="C.html#TIME_END_OF_SOURCE"><code>C.TIME_END_OF_SOURCE</code></a> to end when playback reaches the end of media
(Default: <a href="C.html#TIME_END_OF_SOURCE"><code>C.TIME_END_OF_SOURCE</code></a>).</div> (Default: <a href="C.html#TIME_END_OF_SOURCE"><code>C.TIME_END_OF_SOURCE</code></a>).</div>
@ -309,7 +311,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setRelativeToLiveWindow</h4> <h4>setRelativeToLiveWindow</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.ClippingConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.ClippingConfiguration.Builder</a>&nbsp;setRelativeToLiveWindow&#8203;(boolean&nbsp;relativeToLiveWindow)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.ClippingConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.ClippingConfiguration.Builder</a>&nbsp;setRelativeToLiveWindow&#8203;(boolean&nbsp;relativeToLiveWindow)</pre>
<div class="block">Sets whether the start/end positions should move with the live window for live streams. If <div class="block">Sets whether the start/end positions should move with the live window for live streams. If
<code>false</code>, live streams end when playback reaches the end position in live window seen <code>false</code>, live streams end when playback reaches the end position in live window seen
when the media is first loaded (Default: <code>false</code>).</div> when the media is first loaded (Default: <code>false</code>).</div>
@ -321,7 +324,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setRelativeToDefaultPosition</h4> <h4>setRelativeToDefaultPosition</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.ClippingConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.ClippingConfiguration.Builder</a>&nbsp;setRelativeToDefaultPosition&#8203;(boolean&nbsp;relativeToDefaultPosition)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.ClippingConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.ClippingConfiguration.Builder</a>&nbsp;setRelativeToDefaultPosition&#8203;(boolean&nbsp;relativeToDefaultPosition)</pre>
<div class="block">Sets whether the start position and the end position are relative to the default position <div class="block">Sets whether the start position and the end position are relative to the default position
in the window (Default: <code>false</code>).</div> in the window (Default: <code>false</code>).</div>
</li> </li>
@ -332,7 +336,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setStartsAtKeyFrame</h4> <h4>setStartsAtKeyFrame</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.ClippingConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.ClippingConfiguration.Builder</a>&nbsp;setStartsAtKeyFrame&#8203;(boolean&nbsp;startsAtKeyFrame)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.ClippingConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.ClippingConfiguration.Builder</a>&nbsp;setStartsAtKeyFrame&#8203;(boolean&nbsp;startsAtKeyFrame)</pre>
<div class="block">Sets whether the start point is guaranteed to be a key frame. If <code>false</code>, the <div class="block">Sets whether the start point is guaranteed to be a key frame. If <code>false</code>, the
playback transition into the clip may not be seamless (Default: <code>false</code>).</div> playback transition into the clip may not be seamless (Default: <code>false</code>).</div>
</li> </li>

View File

@ -320,7 +320,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setScheme</h4> <h4>setScheme</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.DrmConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.DrmConfiguration.Builder</a>&nbsp;setScheme&#8203;(<a href="https://developer.android.com/reference/java/util/UUID.html" title="class or interface in java.util" class="externalLink" target="_top">UUID</a>&nbsp;scheme)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.DrmConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.DrmConfiguration.Builder</a>&nbsp;setScheme&#8203;(<a href="https://developer.android.com/reference/java/util/UUID.html" title="class or interface in java.util" class="externalLink" target="_top">UUID</a>&nbsp;scheme)</pre>
<div class="block">Sets the <a href="https://developer.android.com/reference/java/util/UUID.html" title="class or interface in java.util" class="externalLink" target="_top"><code>UUID</code></a> of the protection scheme.</div> <div class="block">Sets the <a href="https://developer.android.com/reference/java/util/UUID.html" title="class or interface in java.util" class="externalLink" target="_top"><code>UUID</code></a> of the protection scheme.</div>
</li> </li>
</ul> </ul>
@ -330,7 +331,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setLicenseUri</h4> <h4>setLicenseUri</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.DrmConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.DrmConfiguration.Builder</a>&nbsp;setLicenseUri&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.DrmConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.DrmConfiguration.Builder</a>&nbsp;setLicenseUri&#8203;(@Nullable
<a href="https://developer.android.com/reference/android/net/Uri.html" title="class or interface in android.net" class="externalLink" target="_top">Uri</a>&nbsp;licenseUri)</pre> <a href="https://developer.android.com/reference/android/net/Uri.html" title="class or interface in android.net" class="externalLink" target="_top">Uri</a>&nbsp;licenseUri)</pre>
<div class="block">Sets the optional default DRM license server URI.</div> <div class="block">Sets the optional default DRM license server URI.</div>
</li> </li>
@ -341,7 +343,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setLicenseUri</h4> <h4>setLicenseUri</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.DrmConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.DrmConfiguration.Builder</a>&nbsp;setLicenseUri&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.DrmConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.DrmConfiguration.Builder</a>&nbsp;setLicenseUri&#8203;(@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>&nbsp;licenseUri)</pre> <a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a>&nbsp;licenseUri)</pre>
<div class="block">Sets the optional default DRM license server URI.</div> <div class="block">Sets the optional default DRM license server URI.</div>
</li> </li>
@ -352,7 +355,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setLicenseRequestHeaders</h4> <h4>setLicenseRequestHeaders</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.DrmConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.DrmConfiguration.Builder</a>&nbsp;setLicenseRequestHeaders&#8203;(<a href="https://developer.android.com/reference/java/util/Map.html" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="https://developer.android.com/reference/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<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>&gt;&nbsp;licenseRequestHeaders)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.DrmConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.DrmConfiguration.Builder</a>&nbsp;setLicenseRequestHeaders&#8203;(<a href="https://developer.android.com/reference/java/util/Map.html" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="https://developer.android.com/reference/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<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>&gt;&nbsp;licenseRequestHeaders)</pre>
<div class="block">Sets the optional request headers attached to DRM license requests.</div> <div class="block">Sets the optional request headers attached to DRM license requests.</div>
</li> </li>
</ul> </ul>
@ -362,7 +366,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setMultiSession</h4> <h4>setMultiSession</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.DrmConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.DrmConfiguration.Builder</a>&nbsp;setMultiSession&#8203;(boolean&nbsp;multiSession)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.DrmConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.DrmConfiguration.Builder</a>&nbsp;setMultiSession&#8203;(boolean&nbsp;multiSession)</pre>
<div class="block">Sets whether multi session is enabled.</div> <div class="block">Sets whether multi session is enabled.</div>
</li> </li>
</ul> </ul>
@ -372,7 +377,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setForceDefaultLicenseUri</h4> <h4>setForceDefaultLicenseUri</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.DrmConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.DrmConfiguration.Builder</a>&nbsp;setForceDefaultLicenseUri&#8203;(boolean&nbsp;forceDefaultLicenseUri)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.DrmConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.DrmConfiguration.Builder</a>&nbsp;setForceDefaultLicenseUri&#8203;(boolean&nbsp;forceDefaultLicenseUri)</pre>
<div class="block">Sets whether to always use the default DRM license server URI even if the media specifies <div class="block">Sets whether to always use the default DRM license server URI even if the media specifies
its own DRM license server URI.</div> its own DRM license server URI.</div>
</li> </li>
@ -383,7 +389,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setPlayClearContentWithoutKey</h4> <h4>setPlayClearContentWithoutKey</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.DrmConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.DrmConfiguration.Builder</a>&nbsp;setPlayClearContentWithoutKey&#8203;(boolean&nbsp;playClearContentWithoutKey)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.DrmConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.DrmConfiguration.Builder</a>&nbsp;setPlayClearContentWithoutKey&#8203;(boolean&nbsp;playClearContentWithoutKey)</pre>
<div class="block">Sets whether clear samples within protected content should be played when keys for the <div class="block">Sets whether clear samples within protected content should be played when keys for the
encrypted part of the content have yet to be loaded.</div> encrypted part of the content have yet to be loaded.</div>
</li> </li>
@ -394,7 +401,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>forceSessionsForAudioAndVideoTracks</h4> <h4>forceSessionsForAudioAndVideoTracks</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> <pre class="methodSignature">@CanIgnoreReturnValue
<a href="https://developer.android.com/reference/java/lang/Deprecated.html" title="class or interface in java.lang" class="externalLink" target="_top">@Deprecated</a>
@InlineMe(replacement="this.setForceSessionsForAudioAndVideoTracks(forceSessionsForAudioAndVideoTracks)") @InlineMe(replacement="this.setForceSessionsForAudioAndVideoTracks(forceSessionsForAudioAndVideoTracks)")
public&nbsp;<a href="MediaItem.DrmConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.DrmConfiguration.Builder</a>&nbsp;forceSessionsForAudioAndVideoTracks&#8203;(boolean&nbsp;forceSessionsForAudioAndVideoTracks)</pre> public&nbsp;<a href="MediaItem.DrmConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.DrmConfiguration.Builder</a>&nbsp;forceSessionsForAudioAndVideoTracks&#8203;(boolean&nbsp;forceSessionsForAudioAndVideoTracks)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
@ -408,7 +416,8 @@ public&nbsp;<a href="MediaItem.DrmConfiguration.Builder.html" title="class in co
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setForceSessionsForAudioAndVideoTracks</h4> <h4>setForceSessionsForAudioAndVideoTracks</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.DrmConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.DrmConfiguration.Builder</a>&nbsp;setForceSessionsForAudioAndVideoTracks&#8203;(boolean&nbsp;forceSessionsForAudioAndVideoTracks)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.DrmConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.DrmConfiguration.Builder</a>&nbsp;setForceSessionsForAudioAndVideoTracks&#8203;(boolean&nbsp;forceSessionsForAudioAndVideoTracks)</pre>
<div class="block">Sets whether a DRM session should be used for clear tracks of type <a href="C.html#TRACK_TYPE_VIDEO"><code>C.TRACK_TYPE_VIDEO</code></a> and <a href="C.html#TRACK_TYPE_AUDIO"><code>C.TRACK_TYPE_AUDIO</code></a>. <div class="block">Sets whether a DRM session should be used for clear tracks of type <a href="C.html#TRACK_TYPE_VIDEO"><code>C.TRACK_TYPE_VIDEO</code></a> and <a href="C.html#TRACK_TYPE_AUDIO"><code>C.TRACK_TYPE_AUDIO</code></a>.
<p>This method overrides what has been set by previously calling <a href="#setForcedSessionTrackTypes(java.util.List)"><code>setForcedSessionTrackTypes(List)</code></a>.</div> <p>This method overrides what has been set by previously calling <a href="#setForcedSessionTrackTypes(java.util.List)"><code>setForcedSessionTrackTypes(List)</code></a>.</div>
@ -420,7 +429,8 @@ public&nbsp;<a href="MediaItem.DrmConfiguration.Builder.html" title="class in co
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setForcedSessionTrackTypes</h4> <h4>setForcedSessionTrackTypes</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.DrmConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.DrmConfiguration.Builder</a>&nbsp;setForcedSessionTrackTypes&#8203;(<a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a>&lt;<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?is-external=true" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>&gt;&nbsp;forcedSessionTrackTypes)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.DrmConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.DrmConfiguration.Builder</a>&nbsp;setForcedSessionTrackTypes&#8203;(<a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a>&lt;<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?is-external=true" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>&gt;&nbsp;forcedSessionTrackTypes)</pre>
<div class="block">Sets a list of <a href="C.TrackType.html" title="annotation in com.google.android.exoplayer2"><code>track type</code></a> constants for which to use a DRM session even <div class="block">Sets a list of <a href="C.TrackType.html" title="annotation in com.google.android.exoplayer2"><code>track type</code></a> constants for which to use a DRM session even
when the tracks are in the clear. when the tracks are in the clear.
@ -435,7 +445,8 @@ public&nbsp;<a href="MediaItem.DrmConfiguration.Builder.html" title="class in co
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setKeySetId</h4> <h4>setKeySetId</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.DrmConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.DrmConfiguration.Builder</a>&nbsp;setKeySetId&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.DrmConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.DrmConfiguration.Builder</a>&nbsp;setKeySetId&#8203;(@Nullable
byte[]&nbsp;keySetId)</pre> byte[]&nbsp;keySetId)</pre>
<div class="block">Sets the key set ID of the offline license. <div class="block">Sets the key set ID of the offline license.

View File

@ -271,7 +271,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setTargetOffsetMs</h4> <h4>setTargetOffsetMs</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.LiveConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.LiveConfiguration.Builder</a>&nbsp;setTargetOffsetMs&#8203;(long&nbsp;targetOffsetMs)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.LiveConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.LiveConfiguration.Builder</a>&nbsp;setTargetOffsetMs&#8203;(long&nbsp;targetOffsetMs)</pre>
<div class="block">Sets the target live offset, in milliseconds. <div class="block">Sets the target live offset, in milliseconds.
<p>See <code>Player#getCurrentLiveOffset()</code>. <p>See <code>Player#getCurrentLiveOffset()</code>.
@ -285,7 +286,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setMinOffsetMs</h4> <h4>setMinOffsetMs</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.LiveConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.LiveConfiguration.Builder</a>&nbsp;setMinOffsetMs&#8203;(long&nbsp;minOffsetMs)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.LiveConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.LiveConfiguration.Builder</a>&nbsp;setMinOffsetMs&#8203;(long&nbsp;minOffsetMs)</pre>
<div class="block">Sets the minimum allowed live offset, in milliseconds. <div class="block">Sets the minimum allowed live offset, in milliseconds.
<p>See <code>Player#getCurrentLiveOffset()</code>. <p>See <code>Player#getCurrentLiveOffset()</code>.
@ -299,7 +301,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setMaxOffsetMs</h4> <h4>setMaxOffsetMs</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.LiveConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.LiveConfiguration.Builder</a>&nbsp;setMaxOffsetMs&#8203;(long&nbsp;maxOffsetMs)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.LiveConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.LiveConfiguration.Builder</a>&nbsp;setMaxOffsetMs&#8203;(long&nbsp;maxOffsetMs)</pre>
<div class="block">Sets the maximum allowed live offset, in milliseconds. <div class="block">Sets the maximum allowed live offset, in milliseconds.
<p>See <code>Player#getCurrentLiveOffset()</code>. <p>See <code>Player#getCurrentLiveOffset()</code>.
@ -313,7 +316,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setMinPlaybackSpeed</h4> <h4>setMinPlaybackSpeed</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.LiveConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.LiveConfiguration.Builder</a>&nbsp;setMinPlaybackSpeed&#8203;(float&nbsp;minPlaybackSpeed)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.LiveConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.LiveConfiguration.Builder</a>&nbsp;setMinPlaybackSpeed&#8203;(float&nbsp;minPlaybackSpeed)</pre>
<div class="block">Sets the minimum playback speed. <div class="block">Sets the minimum playback speed.
<p>Defaults to <a href="C.html#RATE_UNSET"><code>C.RATE_UNSET</code></a>, indicating the media-defined default will be used.</div> <p>Defaults to <a href="C.html#RATE_UNSET"><code>C.RATE_UNSET</code></a>, indicating the media-defined default will be used.</div>
@ -325,7 +329,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setMaxPlaybackSpeed</h4> <h4>setMaxPlaybackSpeed</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.LiveConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.LiveConfiguration.Builder</a>&nbsp;setMaxPlaybackSpeed&#8203;(float&nbsp;maxPlaybackSpeed)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.LiveConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.LiveConfiguration.Builder</a>&nbsp;setMaxPlaybackSpeed&#8203;(float&nbsp;maxPlaybackSpeed)</pre>
<div class="block">Sets the maximum playback speed. <div class="block">Sets the maximum playback speed.
<p>Defaults to <a href="C.html#RATE_UNSET"><code>C.RATE_UNSET</code></a>, indicating the media-defined default will be used.</div> <p>Defaults to <a href="C.html#RATE_UNSET"><code>C.RATE_UNSET</code></a>, indicating the media-defined default will be used.</div>

View File

@ -257,7 +257,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setMediaUri</h4> <h4>setMediaUri</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.RequestMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.RequestMetadata.Builder</a>&nbsp;setMediaUri&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.RequestMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.RequestMetadata.Builder</a>&nbsp;setMediaUri&#8203;(@Nullable
<a href="https://developer.android.com/reference/android/net/Uri.html" title="class or interface in android.net" class="externalLink" target="_top">Uri</a>&nbsp;mediaUri)</pre> <a href="https://developer.android.com/reference/android/net/Uri.html" title="class or interface in android.net" class="externalLink" target="_top">Uri</a>&nbsp;mediaUri)</pre>
<div class="block">Sets the URI of the requested media, or null if not known or applicable.</div> <div class="block">Sets the URI of the requested media, or null if not known or applicable.</div>
</li> </li>
@ -268,7 +269,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setSearchQuery</h4> <h4>setSearchQuery</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.RequestMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.RequestMetadata.Builder</a>&nbsp;setSearchQuery&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.RequestMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.RequestMetadata.Builder</a>&nbsp;setSearchQuery&#8203;(@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>&nbsp;searchQuery)</pre> <a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a>&nbsp;searchQuery)</pre>
<div class="block">Sets the search query for the requested media, or null if not applicable.</div> <div class="block">Sets the search query for the requested media, or null if not applicable.</div>
</li> </li>
@ -279,7 +281,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setExtras</h4> <h4>setExtras</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.RequestMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.RequestMetadata.Builder</a>&nbsp;setExtras&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.RequestMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.RequestMetadata.Builder</a>&nbsp;setExtras&#8203;(@Nullable
<a href="https://developer.android.com/reference/android/os/Bundle.html" title="class or interface in android.os" class="externalLink" target="_top">Bundle</a>&nbsp;extras)</pre> <a href="https://developer.android.com/reference/android/os/Bundle.html" title="class or interface in android.os" class="externalLink" target="_top">Bundle</a>&nbsp;extras)</pre>
<div class="block">Sets optional extras <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>.</div> <div class="block">Sets optional extras <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>.</div>
</li> </li>

View File

@ -143,7 +143,7 @@ implements <a href="Bundleable.html" title="interface in com.google.android.exop
<div class="block">Metadata that helps the player to understand a playback request represented by a <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a>. <div class="block">Metadata that helps the player to understand a playback request represented by a <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a>.
<p>This metadata is most useful for cases where playback requests are forwarded to other player <p>This metadata is most useful for cases where playback requests are forwarded to other player
instances (e.g. from a <a href="https://developer.android.com/reference/android/media/session/MediaController.html" title="class or interface in android.media.session" class="externalLink" target="_top"><code>MediaController</code></a>) and the player creating instances (e.g. from a <code>androidx.media3.session.MediaController</code>) and the player creating
the request doesn't know the required <a href="MediaItem.LocalConfiguration.html" title="class in com.google.android.exoplayer2"><code>MediaItem.LocalConfiguration</code></a> for playback.</div> the request doesn't know the required <a href="MediaItem.LocalConfiguration.html" title="class in com.google.android.exoplayer2"><code>MediaItem.LocalConfiguration</code></a> for playback.</div>
</li> </li>
</ul> </ul>

View File

@ -289,7 +289,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setUri</h4> <h4>setUri</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.SubtitleConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.SubtitleConfiguration.Builder</a>&nbsp;setUri&#8203;(<a href="https://developer.android.com/reference/android/net/Uri.html" title="class or interface in android.net" class="externalLink" target="_top">Uri</a>&nbsp;uri)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.SubtitleConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.SubtitleConfiguration.Builder</a>&nbsp;setUri&#8203;(<a href="https://developer.android.com/reference/android/net/Uri.html" title="class or interface in android.net" class="externalLink" target="_top">Uri</a>&nbsp;uri)</pre>
<div class="block">Sets the <a href="https://developer.android.com/reference/android/net/Uri.html" title="class or interface in android.net" class="externalLink" target="_top"><code>Uri</code></a> to the subtitle file.</div> <div class="block">Sets the <a href="https://developer.android.com/reference/android/net/Uri.html" title="class or interface in android.net" class="externalLink" target="_top"><code>Uri</code></a> to the subtitle file.</div>
</li> </li>
</ul> </ul>
@ -299,7 +300,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setMimeType</h4> <h4>setMimeType</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.SubtitleConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.SubtitleConfiguration.Builder</a>&nbsp;setMimeType&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.SubtitleConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.SubtitleConfiguration.Builder</a>&nbsp;setMimeType&#8203;(@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>&nbsp;mimeType)</pre> <a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a>&nbsp;mimeType)</pre>
<div class="block">Sets the MIME type.</div> <div class="block">Sets the MIME type.</div>
</li> </li>
@ -310,7 +312,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setLanguage</h4> <h4>setLanguage</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.SubtitleConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.SubtitleConfiguration.Builder</a>&nbsp;setLanguage&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.SubtitleConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.SubtitleConfiguration.Builder</a>&nbsp;setLanguage&#8203;(@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>&nbsp;language)</pre> <a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a>&nbsp;language)</pre>
<div class="block">Sets the optional language of the subtitle file.</div> <div class="block">Sets the optional language of the subtitle file.</div>
</li> </li>
@ -321,7 +324,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setSelectionFlags</h4> <h4>setSelectionFlags</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.SubtitleConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.SubtitleConfiguration.Builder</a>&nbsp;setSelectionFlags&#8203;(<a href="C.SelectionFlags.html" title="annotation in com.google.android.exoplayer2">@SelectionFlags</a> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.SubtitleConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.SubtitleConfiguration.Builder</a>&nbsp;setSelectionFlags&#8203;(<a href="C.SelectionFlags.html" title="annotation in com.google.android.exoplayer2">@SelectionFlags</a>
@com.google.android.exoplayer2.C.SelectionFlags int&nbsp;selectionFlags)</pre> @com.google.android.exoplayer2.C.SelectionFlags int&nbsp;selectionFlags)</pre>
<div class="block">Sets the flags used for track selection.</div> <div class="block">Sets the flags used for track selection.</div>
</li> </li>
@ -332,7 +336,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setRoleFlags</h4> <h4>setRoleFlags</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.SubtitleConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.SubtitleConfiguration.Builder</a>&nbsp;setRoleFlags&#8203;(<a href="C.RoleFlags.html" title="annotation in com.google.android.exoplayer2">@RoleFlags</a> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.SubtitleConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.SubtitleConfiguration.Builder</a>&nbsp;setRoleFlags&#8203;(<a href="C.RoleFlags.html" title="annotation in com.google.android.exoplayer2">@RoleFlags</a>
@com.google.android.exoplayer2.C.RoleFlags int&nbsp;roleFlags)</pre> @com.google.android.exoplayer2.C.RoleFlags int&nbsp;roleFlags)</pre>
<div class="block">Sets the role flags. These are used for track selection.</div> <div class="block">Sets the role flags. These are used for track selection.</div>
</li> </li>
@ -343,7 +348,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setLabel</h4> <h4>setLabel</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.SubtitleConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.SubtitleConfiguration.Builder</a>&nbsp;setLabel&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.SubtitleConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.SubtitleConfiguration.Builder</a>&nbsp;setLabel&#8203;(@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>&nbsp;label)</pre> <a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a>&nbsp;label)</pre>
<div class="block">Sets the optional label for this subtitle track.</div> <div class="block">Sets the optional label for this subtitle track.</div>
</li> </li>
@ -354,7 +360,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setId</h4> <h4>setId</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.SubtitleConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.SubtitleConfiguration.Builder</a>&nbsp;setId&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.SubtitleConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.SubtitleConfiguration.Builder</a>&nbsp;setId&#8203;(@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>&nbsp;id)</pre> <a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a>&nbsp;id)</pre>
<div class="block">Sets the optional ID for this subtitle track.</div> <div class="block">Sets the optional ID for this subtitle track.</div>
</li> </li>

View File

@ -492,7 +492,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setTitle</h4> <h4>setTitle</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setTitle&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setTitle&#8203;(@Nullable
<a href="https://developer.android.com/reference/java/lang/CharSequence.html" title="class or interface in java.lang" class="externalLink" target="_top">CharSequence</a>&nbsp;title)</pre> <a href="https://developer.android.com/reference/java/lang/CharSequence.html" title="class or interface in java.lang" class="externalLink" target="_top">CharSequence</a>&nbsp;title)</pre>
<div class="block">Sets the title.</div> <div class="block">Sets the title.</div>
</li> </li>
@ -503,7 +504,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setArtist</h4> <h4>setArtist</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setArtist&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setArtist&#8203;(@Nullable
<a href="https://developer.android.com/reference/java/lang/CharSequence.html" title="class or interface in java.lang" class="externalLink" target="_top">CharSequence</a>&nbsp;artist)</pre> <a href="https://developer.android.com/reference/java/lang/CharSequence.html" title="class or interface in java.lang" class="externalLink" target="_top">CharSequence</a>&nbsp;artist)</pre>
<div class="block">Sets the artist.</div> <div class="block">Sets the artist.</div>
</li> </li>
@ -514,7 +516,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setAlbumTitle</h4> <h4>setAlbumTitle</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setAlbumTitle&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setAlbumTitle&#8203;(@Nullable
<a href="https://developer.android.com/reference/java/lang/CharSequence.html" title="class or interface in java.lang" class="externalLink" target="_top">CharSequence</a>&nbsp;albumTitle)</pre> <a href="https://developer.android.com/reference/java/lang/CharSequence.html" title="class or interface in java.lang" class="externalLink" target="_top">CharSequence</a>&nbsp;albumTitle)</pre>
<div class="block">Sets the album title.</div> <div class="block">Sets the album title.</div>
</li> </li>
@ -525,7 +528,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setAlbumArtist</h4> <h4>setAlbumArtist</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setAlbumArtist&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setAlbumArtist&#8203;(@Nullable
<a href="https://developer.android.com/reference/java/lang/CharSequence.html" title="class or interface in java.lang" class="externalLink" target="_top">CharSequence</a>&nbsp;albumArtist)</pre> <a href="https://developer.android.com/reference/java/lang/CharSequence.html" title="class or interface in java.lang" class="externalLink" target="_top">CharSequence</a>&nbsp;albumArtist)</pre>
<div class="block">Sets the album artist.</div> <div class="block">Sets the album artist.</div>
</li> </li>
@ -536,7 +540,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setDisplayTitle</h4> <h4>setDisplayTitle</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setDisplayTitle&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setDisplayTitle&#8203;(@Nullable
<a href="https://developer.android.com/reference/java/lang/CharSequence.html" title="class or interface in java.lang" class="externalLink" target="_top">CharSequence</a>&nbsp;displayTitle)</pre> <a href="https://developer.android.com/reference/java/lang/CharSequence.html" title="class or interface in java.lang" class="externalLink" target="_top">CharSequence</a>&nbsp;displayTitle)</pre>
<div class="block">Sets the display title.</div> <div class="block">Sets the display title.</div>
</li> </li>
@ -547,7 +552,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setSubtitle</h4> <h4>setSubtitle</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setSubtitle&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setSubtitle&#8203;(@Nullable
<a href="https://developer.android.com/reference/java/lang/CharSequence.html" title="class or interface in java.lang" class="externalLink" target="_top">CharSequence</a>&nbsp;subtitle)</pre> <a href="https://developer.android.com/reference/java/lang/CharSequence.html" title="class or interface in java.lang" class="externalLink" target="_top">CharSequence</a>&nbsp;subtitle)</pre>
<div class="block">Sets the subtitle. <div class="block">Sets the subtitle.
@ -560,7 +566,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setDescription</h4> <h4>setDescription</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setDescription&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setDescription&#8203;(@Nullable
<a href="https://developer.android.com/reference/java/lang/CharSequence.html" title="class or interface in java.lang" class="externalLink" target="_top">CharSequence</a>&nbsp;description)</pre> <a href="https://developer.android.com/reference/java/lang/CharSequence.html" title="class or interface in java.lang" class="externalLink" target="_top">CharSequence</a>&nbsp;description)</pre>
<div class="block">Sets the description.</div> <div class="block">Sets the description.</div>
</li> </li>
@ -571,7 +578,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setUserRating</h4> <h4>setUserRating</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setUserRating&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setUserRating&#8203;(@Nullable
<a href="Rating.html" title="class in com.google.android.exoplayer2">Rating</a>&nbsp;userRating)</pre> <a href="Rating.html" title="class in com.google.android.exoplayer2">Rating</a>&nbsp;userRating)</pre>
<div class="block">Sets the user <a href="Rating.html" title="class in com.google.android.exoplayer2"><code>Rating</code></a>.</div> <div class="block">Sets the user <a href="Rating.html" title="class in com.google.android.exoplayer2"><code>Rating</code></a>.</div>
</li> </li>
@ -582,7 +590,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setOverallRating</h4> <h4>setOverallRating</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setOverallRating&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setOverallRating&#8203;(@Nullable
<a href="Rating.html" title="class in com.google.android.exoplayer2">Rating</a>&nbsp;overallRating)</pre> <a href="Rating.html" title="class in com.google.android.exoplayer2">Rating</a>&nbsp;overallRating)</pre>
<div class="block">Sets the overall <a href="Rating.html" title="class in com.google.android.exoplayer2"><code>Rating</code></a>.</div> <div class="block">Sets the overall <a href="Rating.html" title="class in com.google.android.exoplayer2"><code>Rating</code></a>.</div>
</li> </li>
@ -593,7 +602,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setArtworkData</h4> <h4>setArtworkData</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setArtworkData&#8203;(@Nullable public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setArtworkData&#8203;(@Nullable
byte[]&nbsp;artworkData)</pre> byte[]&nbsp;artworkData)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
@ -607,7 +617,8 @@ public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.andr
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setArtworkData</h4> <h4>setArtworkData</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setArtworkData&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setArtworkData&#8203;(@Nullable
byte[]&nbsp;artworkData, byte[]&nbsp;artworkData,
@Nullable <a href="MediaMetadata.PictureType.html" title="annotation in com.google.android.exoplayer2">@PictureType</a> @Nullable <a href="MediaMetadata.PictureType.html" title="annotation in com.google.android.exoplayer2">@PictureType</a>
<a href="MediaMetadata.PictureType.html" title="annotation in com.google.android.exoplayer2">@PictureType</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>&nbsp;artworkDataType)</pre> <a href="MediaMetadata.PictureType.html" title="annotation in com.google.android.exoplayer2">@PictureType</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>&nbsp;artworkDataType)</pre>
@ -620,7 +631,8 @@ public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.andr
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>maybeSetArtworkData</h4> <h4>maybeSetArtworkData</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;maybeSetArtworkData&#8203;(byte[]&nbsp;artworkData, <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;maybeSetArtworkData&#8203;(byte[]&nbsp;artworkData,
<a href="MediaMetadata.PictureType.html" title="annotation in com.google.android.exoplayer2">@PictureType</a> <a href="MediaMetadata.PictureType.html" title="annotation in com.google.android.exoplayer2">@PictureType</a>
@com.google.android.exoplayer2.MediaMetadata.PictureType int&nbsp;artworkDataType)</pre> @com.google.android.exoplayer2.MediaMetadata.PictureType int&nbsp;artworkDataType)</pre>
<div class="block">Sets the artwork data as a compressed byte array in the event that the associated <a href="MediaMetadata.PictureType.html" title="annotation in com.google.android.exoplayer2"><code>MediaMetadata.PictureType</code></a> is <a href="MediaMetadata.html#PICTURE_TYPE_FRONT_COVER"><code>MediaMetadata.PICTURE_TYPE_FRONT_COVER</code></a>, the existing <a href="MediaMetadata.PictureType.html" title="annotation in com.google.android.exoplayer2"><code>MediaMetadata.PictureType</code></a> is not <div class="block">Sets the artwork data as a compressed byte array in the event that the associated <a href="MediaMetadata.PictureType.html" title="annotation in com.google.android.exoplayer2"><code>MediaMetadata.PictureType</code></a> is <a href="MediaMetadata.html#PICTURE_TYPE_FRONT_COVER"><code>MediaMetadata.PICTURE_TYPE_FRONT_COVER</code></a>, the existing <a href="MediaMetadata.PictureType.html" title="annotation in com.google.android.exoplayer2"><code>MediaMetadata.PictureType</code></a> is not
@ -636,7 +648,8 @@ public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.andr
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setArtworkUri</h4> <h4>setArtworkUri</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setArtworkUri&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setArtworkUri&#8203;(@Nullable
<a href="https://developer.android.com/reference/android/net/Uri.html" title="class or interface in android.net" class="externalLink" target="_top">Uri</a>&nbsp;artworkUri)</pre> <a href="https://developer.android.com/reference/android/net/Uri.html" title="class or interface in android.net" class="externalLink" target="_top">Uri</a>&nbsp;artworkUri)</pre>
<div class="block">Sets the artwork <a href="https://developer.android.com/reference/android/net/Uri.html" title="class or interface in android.net" class="externalLink" target="_top"><code>Uri</code></a>.</div> <div class="block">Sets the artwork <a href="https://developer.android.com/reference/android/net/Uri.html" title="class or interface in android.net" class="externalLink" target="_top"><code>Uri</code></a>.</div>
</li> </li>
@ -647,7 +660,8 @@ public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.andr
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setTrackNumber</h4> <h4>setTrackNumber</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setTrackNumber&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setTrackNumber&#8203;(@Nullable
<a href="https://developer.android.com/reference/java/lang/Integer.html" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>&nbsp;trackNumber)</pre> <a href="https://developer.android.com/reference/java/lang/Integer.html" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>&nbsp;trackNumber)</pre>
<div class="block">Sets the track number.</div> <div class="block">Sets the track number.</div>
</li> </li>
@ -658,7 +672,8 @@ public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.andr
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setTotalTrackCount</h4> <h4>setTotalTrackCount</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setTotalTrackCount&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setTotalTrackCount&#8203;(@Nullable
<a href="https://developer.android.com/reference/java/lang/Integer.html" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>&nbsp;totalTrackCount)</pre> <a href="https://developer.android.com/reference/java/lang/Integer.html" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>&nbsp;totalTrackCount)</pre>
<div class="block">Sets the total number of tracks.</div> <div class="block">Sets the total number of tracks.</div>
</li> </li>
@ -669,7 +684,8 @@ public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.andr
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setFolderType</h4> <h4>setFolderType</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setFolderType&#8203;(@Nullable <a href="MediaMetadata.FolderType.html" title="annotation in com.google.android.exoplayer2">@FolderType</a> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setFolderType&#8203;(@Nullable <a href="MediaMetadata.FolderType.html" title="annotation in com.google.android.exoplayer2">@FolderType</a>
<a href="MediaMetadata.FolderType.html" title="annotation in com.google.android.exoplayer2">@FolderType</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>&nbsp;folderType)</pre> <a href="MediaMetadata.FolderType.html" title="annotation in com.google.android.exoplayer2">@FolderType</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>&nbsp;folderType)</pre>
<div class="block">Sets the <a href="MediaMetadata.FolderType.html" title="annotation in com.google.android.exoplayer2"><code>MediaMetadata.FolderType</code></a>.</div> <div class="block">Sets the <a href="MediaMetadata.FolderType.html" title="annotation in com.google.android.exoplayer2"><code>MediaMetadata.FolderType</code></a>.</div>
</li> </li>
@ -680,7 +696,8 @@ public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.andr
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setIsPlayable</h4> <h4>setIsPlayable</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setIsPlayable&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setIsPlayable&#8203;(@Nullable
<a href="https://developer.android.com/reference/java/lang/Boolean.html" title="class or interface in java.lang" class="externalLink" target="_top">Boolean</a>&nbsp;isPlayable)</pre> <a href="https://developer.android.com/reference/java/lang/Boolean.html" title="class or interface in java.lang" class="externalLink" target="_top">Boolean</a>&nbsp;isPlayable)</pre>
<div class="block">Sets whether the media is playable.</div> <div class="block">Sets whether the media is playable.</div>
</li> </li>
@ -691,7 +708,8 @@ public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.andr
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setYear</h4> <h4>setYear</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setYear&#8203;(@Nullable public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setYear&#8203;(@Nullable
<a href="https://developer.android.com/reference/java/lang/Integer.html" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>&nbsp;year)</pre> <a href="https://developer.android.com/reference/java/lang/Integer.html" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>&nbsp;year)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
@ -705,7 +723,8 @@ public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.andr
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setRecordingYear</h4> <h4>setRecordingYear</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setRecordingYear&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setRecordingYear&#8203;(@Nullable
<a href="https://developer.android.com/reference/java/lang/Integer.html" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>&nbsp;recordingYear)</pre> <a href="https://developer.android.com/reference/java/lang/Integer.html" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>&nbsp;recordingYear)</pre>
<div class="block">Sets the year of the recording date.</div> <div class="block">Sets the year of the recording date.</div>
</li> </li>
@ -716,7 +735,8 @@ public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.andr
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setRecordingMonth</h4> <h4>setRecordingMonth</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setRecordingMonth&#8203;(@Nullable @IntRange(from=1L,to=12L) <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setRecordingMonth&#8203;(@Nullable @IntRange(from=1L,to=12L)
<a href="https://developer.android.com/reference/java/lang/Integer.html" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>&nbsp;recordingMonth)</pre> <a href="https://developer.android.com/reference/java/lang/Integer.html" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>&nbsp;recordingMonth)</pre>
<div class="block">Sets the month of the recording date. <div class="block">Sets the month of the recording date.
@ -729,7 +749,8 @@ public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.andr
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setRecordingDay</h4> <h4>setRecordingDay</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setRecordingDay&#8203;(@Nullable @IntRange(from=1L,to=31L) <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setRecordingDay&#8203;(@Nullable @IntRange(from=1L,to=31L)
<a href="https://developer.android.com/reference/java/lang/Integer.html" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>&nbsp;recordingDay)</pre> <a href="https://developer.android.com/reference/java/lang/Integer.html" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>&nbsp;recordingDay)</pre>
<div class="block">Sets the day of the recording date. <div class="block">Sets the day of the recording date.
@ -742,7 +763,8 @@ public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.andr
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setReleaseYear</h4> <h4>setReleaseYear</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setReleaseYear&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setReleaseYear&#8203;(@Nullable
<a href="https://developer.android.com/reference/java/lang/Integer.html" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>&nbsp;releaseYear)</pre> <a href="https://developer.android.com/reference/java/lang/Integer.html" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>&nbsp;releaseYear)</pre>
<div class="block">Sets the year of the release date.</div> <div class="block">Sets the year of the release date.</div>
</li> </li>
@ -753,7 +775,8 @@ public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.andr
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setReleaseMonth</h4> <h4>setReleaseMonth</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setReleaseMonth&#8203;(@Nullable @IntRange(from=1L,to=12L) <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setReleaseMonth&#8203;(@Nullable @IntRange(from=1L,to=12L)
<a href="https://developer.android.com/reference/java/lang/Integer.html" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>&nbsp;releaseMonth)</pre> <a href="https://developer.android.com/reference/java/lang/Integer.html" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>&nbsp;releaseMonth)</pre>
<div class="block">Sets the month of the release date. <div class="block">Sets the month of the release date.
@ -766,7 +789,8 @@ public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.andr
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setReleaseDay</h4> <h4>setReleaseDay</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setReleaseDay&#8203;(@Nullable @IntRange(from=1L,to=31L) <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setReleaseDay&#8203;(@Nullable @IntRange(from=1L,to=31L)
<a href="https://developer.android.com/reference/java/lang/Integer.html" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>&nbsp;releaseDay)</pre> <a href="https://developer.android.com/reference/java/lang/Integer.html" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>&nbsp;releaseDay)</pre>
<div class="block">Sets the day of the release date. <div class="block">Sets the day of the release date.
@ -779,7 +803,8 @@ public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.andr
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setWriter</h4> <h4>setWriter</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setWriter&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setWriter&#8203;(@Nullable
<a href="https://developer.android.com/reference/java/lang/CharSequence.html" title="class or interface in java.lang" class="externalLink" target="_top">CharSequence</a>&nbsp;writer)</pre> <a href="https://developer.android.com/reference/java/lang/CharSequence.html" title="class or interface in java.lang" class="externalLink" target="_top">CharSequence</a>&nbsp;writer)</pre>
<div class="block">Sets the writer.</div> <div class="block">Sets the writer.</div>
</li> </li>
@ -790,7 +815,8 @@ public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.andr
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setComposer</h4> <h4>setComposer</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setComposer&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setComposer&#8203;(@Nullable
<a href="https://developer.android.com/reference/java/lang/CharSequence.html" title="class or interface in java.lang" class="externalLink" target="_top">CharSequence</a>&nbsp;composer)</pre> <a href="https://developer.android.com/reference/java/lang/CharSequence.html" title="class or interface in java.lang" class="externalLink" target="_top">CharSequence</a>&nbsp;composer)</pre>
<div class="block">Sets the composer.</div> <div class="block">Sets the composer.</div>
</li> </li>
@ -801,7 +827,8 @@ public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.andr
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setConductor</h4> <h4>setConductor</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setConductor&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setConductor&#8203;(@Nullable
<a href="https://developer.android.com/reference/java/lang/CharSequence.html" title="class or interface in java.lang" class="externalLink" target="_top">CharSequence</a>&nbsp;conductor)</pre> <a href="https://developer.android.com/reference/java/lang/CharSequence.html" title="class or interface in java.lang" class="externalLink" target="_top">CharSequence</a>&nbsp;conductor)</pre>
<div class="block">Sets the conductor.</div> <div class="block">Sets the conductor.</div>
</li> </li>
@ -812,7 +839,8 @@ public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.andr
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setDiscNumber</h4> <h4>setDiscNumber</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setDiscNumber&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setDiscNumber&#8203;(@Nullable
<a href="https://developer.android.com/reference/java/lang/Integer.html" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>&nbsp;discNumber)</pre> <a href="https://developer.android.com/reference/java/lang/Integer.html" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>&nbsp;discNumber)</pre>
<div class="block">Sets the disc number.</div> <div class="block">Sets the disc number.</div>
</li> </li>
@ -823,7 +851,8 @@ public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.andr
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setTotalDiscCount</h4> <h4>setTotalDiscCount</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setTotalDiscCount&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setTotalDiscCount&#8203;(@Nullable
<a href="https://developer.android.com/reference/java/lang/Integer.html" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>&nbsp;totalDiscCount)</pre> <a href="https://developer.android.com/reference/java/lang/Integer.html" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>&nbsp;totalDiscCount)</pre>
<div class="block">Sets the total number of discs.</div> <div class="block">Sets the total number of discs.</div>
</li> </li>
@ -834,7 +863,8 @@ public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.andr
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setGenre</h4> <h4>setGenre</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setGenre&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setGenre&#8203;(@Nullable
<a href="https://developer.android.com/reference/java/lang/CharSequence.html" title="class or interface in java.lang" class="externalLink" target="_top">CharSequence</a>&nbsp;genre)</pre> <a href="https://developer.android.com/reference/java/lang/CharSequence.html" title="class or interface in java.lang" class="externalLink" target="_top">CharSequence</a>&nbsp;genre)</pre>
<div class="block">Sets the genre.</div> <div class="block">Sets the genre.</div>
</li> </li>
@ -845,7 +875,8 @@ public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.andr
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setCompilation</h4> <h4>setCompilation</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setCompilation&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setCompilation&#8203;(@Nullable
<a href="https://developer.android.com/reference/java/lang/CharSequence.html" title="class or interface in java.lang" class="externalLink" target="_top">CharSequence</a>&nbsp;compilation)</pre> <a href="https://developer.android.com/reference/java/lang/CharSequence.html" title="class or interface in java.lang" class="externalLink" target="_top">CharSequence</a>&nbsp;compilation)</pre>
<div class="block">Sets the compilation.</div> <div class="block">Sets the compilation.</div>
</li> </li>
@ -856,7 +887,8 @@ public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.andr
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setStation</h4> <h4>setStation</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setStation&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setStation&#8203;(@Nullable
<a href="https://developer.android.com/reference/java/lang/CharSequence.html" title="class or interface in java.lang" class="externalLink" target="_top">CharSequence</a>&nbsp;station)</pre> <a href="https://developer.android.com/reference/java/lang/CharSequence.html" title="class or interface in java.lang" class="externalLink" target="_top">CharSequence</a>&nbsp;station)</pre>
<div class="block">Sets the name of the station streaming the media.</div> <div class="block">Sets the name of the station streaming the media.</div>
</li> </li>
@ -867,7 +899,8 @@ public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.andr
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setExtras</h4> <h4>setExtras</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setExtras&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;setExtras&#8203;(@Nullable
<a href="https://developer.android.com/reference/android/os/Bundle.html" title="class or interface in android.os" class="externalLink" target="_top">Bundle</a>&nbsp;extras)</pre> <a href="https://developer.android.com/reference/android/os/Bundle.html" title="class or interface in android.os" class="externalLink" target="_top">Bundle</a>&nbsp;extras)</pre>
<div class="block">Sets the extras <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>.</div> <div class="block">Sets the extras <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>.</div>
</li> </li>
@ -878,7 +911,8 @@ public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.andr
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>populateFromMetadata</h4> <h4>populateFromMetadata</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;populateFromMetadata&#8203;(<a href="metadata/Metadata.html" title="class in com.google.android.exoplayer2.metadata">Metadata</a>&nbsp;metadata)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;populateFromMetadata&#8203;(<a href="metadata/Metadata.html" title="class in com.google.android.exoplayer2.metadata">Metadata</a>&nbsp;metadata)</pre>
<div class="block">Sets all fields supported by the <a href="metadata/Metadata.Entry.html" title="interface in com.google.android.exoplayer2.metadata"><code>entries</code></a> within the <a href="metadata/Metadata.html" title="class in com.google.android.exoplayer2.metadata"><code>Metadata</code></a>. <div class="block">Sets all fields supported by the <a href="metadata/Metadata.Entry.html" title="interface in com.google.android.exoplayer2.metadata"><code>entries</code></a> within the <a href="metadata/Metadata.html" title="class in com.google.android.exoplayer2.metadata"><code>Metadata</code></a>.
<p>Fields are only set if the <a href="metadata/Metadata.Entry.html" title="interface in com.google.android.exoplayer2.metadata"><code>Metadata.Entry</code></a> has an implementation for <a href="metadata/Metadata.Entry.html#populateMediaMetadata(com.google.android.exoplayer2.MediaMetadata.Builder)"><code>Metadata.Entry.populateMediaMetadata(Builder)</code></a>. <p>Fields are only set if the <a href="metadata/Metadata.Entry.html" title="interface in com.google.android.exoplayer2.metadata"><code>Metadata.Entry</code></a> has an implementation for <a href="metadata/Metadata.Entry.html#populateMediaMetadata(com.google.android.exoplayer2.MediaMetadata.Builder)"><code>Metadata.Entry.populateMediaMetadata(Builder)</code></a>.
@ -893,7 +927,8 @@ public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.andr
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>populateFromMetadata</h4> <h4>populateFromMetadata</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;populateFromMetadata&#8203;(<a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="metadata/Metadata.html" title="class in com.google.android.exoplayer2.metadata" target="_top">Metadata</a>&gt;&nbsp;metadataList)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;populateFromMetadata&#8203;(<a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="metadata/Metadata.html" title="class in com.google.android.exoplayer2.metadata" target="_top">Metadata</a>&gt;&nbsp;metadataList)</pre>
<div class="block">Sets all fields supported by the <a href="metadata/Metadata.Entry.html" title="interface in com.google.android.exoplayer2.metadata"><code>entries</code></a> within the list of <a href="metadata/Metadata.html" title="class in com.google.android.exoplayer2.metadata"><code>Metadata</code></a>. <div class="block">Sets all fields supported by the <a href="metadata/Metadata.Entry.html" title="interface in com.google.android.exoplayer2.metadata"><code>entries</code></a> within the list of <a href="metadata/Metadata.html" title="class in com.google.android.exoplayer2.metadata"><code>Metadata</code></a>.
<p>Fields are only set if the <a href="metadata/Metadata.Entry.html" title="interface in com.google.android.exoplayer2.metadata"><code>Metadata.Entry</code></a> has an implementation for <a href="metadata/Metadata.Entry.html#populateMediaMetadata(com.google.android.exoplayer2.MediaMetadata.Builder)"><code>Metadata.Entry.populateMediaMetadata(Builder)</code></a>. <p>Fields are only set if the <a href="metadata/Metadata.Entry.html" title="interface in com.google.android.exoplayer2.metadata"><code>Metadata.Entry</code></a> has an implementation for <a href="metadata/Metadata.Entry.html#populateMediaMetadata(com.google.android.exoplayer2.MediaMetadata.Builder)"><code>Metadata.Entry.populateMediaMetadata(Builder)</code></a>.
@ -907,7 +942,8 @@ public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.andr
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>populate</h4> <h4>populate</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;populate&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a>&nbsp;populate&#8203;(@Nullable
<a href="MediaMetadata.html" title="class in com.google.android.exoplayer2">MediaMetadata</a>&nbsp;mediaMetadata)</pre> <a href="MediaMetadata.html" title="class in com.google.android.exoplayer2">MediaMetadata</a>&nbsp;mediaMetadata)</pre>
<div class="block">Populates all the fields from <code>mediaMetadata</code>, provided they are non-null.</div> <div class="block">Populates all the fields from <code>mediaMetadata</code>, provided they are non-null.</div>
</li> </li>

View File

@ -180,14 +180,14 @@ implements <a href="Renderer.html" title="interface in com.google.android.exopla
<!-- --> <!-- -->
</a> </a>
<h3>Fields inherited from interface&nbsp;com.google.android.exoplayer2.<a href="Renderer.html" title="interface in com.google.android.exoplayer2">Renderer</a></h3> <h3>Fields inherited from interface&nbsp;com.google.android.exoplayer2.<a href="Renderer.html" title="interface in com.google.android.exoplayer2">Renderer</a></h3>
<code><a href="Renderer.html#MSG_CUSTOM_BASE">MSG_CUSTOM_BASE</a>, <a href="Renderer.html#MSG_SET_AUDIO_ATTRIBUTES">MSG_SET_AUDIO_ATTRIBUTES</a>, <a href="Renderer.html#MSG_SET_AUDIO_SESSION_ID">MSG_SET_AUDIO_SESSION_ID</a>, <a href="Renderer.html#MSG_SET_AUX_EFFECT_INFO">MSG_SET_AUX_EFFECT_INFO</a>, <a href="Renderer.html#MSG_SET_CAMERA_MOTION_LISTENER">MSG_SET_CAMERA_MOTION_LISTENER</a>, <a href="Renderer.html#MSG_SET_CHANGE_FRAME_RATE_STRATEGY">MSG_SET_CHANGE_FRAME_RATE_STRATEGY</a>, <a href="Renderer.html#MSG_SET_SCALING_MODE">MSG_SET_SCALING_MODE</a>, <a href="Renderer.html#MSG_SET_SKIP_SILENCE_ENABLED">MSG_SET_SKIP_SILENCE_ENABLED</a>, <a href="Renderer.html#MSG_SET_VIDEO_FRAME_METADATA_LISTENER">MSG_SET_VIDEO_FRAME_METADATA_LISTENER</a>, <a href="Renderer.html#MSG_SET_VIDEO_OUTPUT">MSG_SET_VIDEO_OUTPUT</a>, <a href="Renderer.html#MSG_SET_VOLUME">MSG_SET_VOLUME</a>, <a href="Renderer.html#MSG_SET_WAKEUP_LISTENER">MSG_SET_WAKEUP_LISTENER</a>, <a href="Renderer.html#STATE_DISABLED">STATE_DISABLED</a>, <a href="Renderer.html#STATE_ENABLED">STATE_ENABLED</a>, <a href="Renderer.html#STATE_STARTED">STATE_STARTED</a></code></li> <code><a href="Renderer.html#MSG_CUSTOM_BASE">MSG_CUSTOM_BASE</a>, <a href="Renderer.html#MSG_SET_AUDIO_ATTRIBUTES">MSG_SET_AUDIO_ATTRIBUTES</a>, <a href="Renderer.html#MSG_SET_AUDIO_SESSION_ID">MSG_SET_AUDIO_SESSION_ID</a>, <a href="Renderer.html#MSG_SET_AUX_EFFECT_INFO">MSG_SET_AUX_EFFECT_INFO</a>, <a href="Renderer.html#MSG_SET_CAMERA_MOTION_LISTENER">MSG_SET_CAMERA_MOTION_LISTENER</a>, <a href="Renderer.html#MSG_SET_CHANGE_FRAME_RATE_STRATEGY">MSG_SET_CHANGE_FRAME_RATE_STRATEGY</a>, <a href="Renderer.html#MSG_SET_PREFERRED_AUDIO_DEVICE">MSG_SET_PREFERRED_AUDIO_DEVICE</a>, <a href="Renderer.html#MSG_SET_SCALING_MODE">MSG_SET_SCALING_MODE</a>, <a href="Renderer.html#MSG_SET_SKIP_SILENCE_ENABLED">MSG_SET_SKIP_SILENCE_ENABLED</a>, <a href="Renderer.html#MSG_SET_VIDEO_FRAME_METADATA_LISTENER">MSG_SET_VIDEO_FRAME_METADATA_LISTENER</a>, <a href="Renderer.html#MSG_SET_VIDEO_OUTPUT">MSG_SET_VIDEO_OUTPUT</a>, <a href="Renderer.html#MSG_SET_VOLUME">MSG_SET_VOLUME</a>, <a href="Renderer.html#MSG_SET_WAKEUP_LISTENER">MSG_SET_WAKEUP_LISTENER</a>, <a href="Renderer.html#STATE_DISABLED">STATE_DISABLED</a>, <a href="Renderer.html#STATE_ENABLED">STATE_ENABLED</a>, <a href="Renderer.html#STATE_STARTED">STATE_STARTED</a></code></li>
</ul> </ul>
<ul class="blockList"> <ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.com.google.android.exoplayer2.RendererCapabilities"> <li class="blockList"><a id="fields.inherited.from.class.com.google.android.exoplayer2.RendererCapabilities">
<!-- --> <!-- -->
</a> </a>
<h3>Fields inherited from interface&nbsp;com.google.android.exoplayer2.<a href="RendererCapabilities.html" title="interface in com.google.android.exoplayer2">RendererCapabilities</a></h3> <h3>Fields inherited from interface&nbsp;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#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> <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_FALLBACK_MIMETYPE">DECODER_SUPPORT_FALLBACK_MIMETYPE</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> </ul>
</li> </li>
</ul> </ul>

View File

@ -294,7 +294,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>add</h4> <h4>add</h4>
<pre class="methodSignature">public&nbsp;<a href="Player.Commands.Builder.html" title="class in com.google.android.exoplayer2">Player.Commands.Builder</a>&nbsp;add&#8203;(<a href="Player.Command.html" title="annotation in com.google.android.exoplayer2">@Command</a> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Player.Commands.Builder.html" title="class in com.google.android.exoplayer2">Player.Commands.Builder</a>&nbsp;add&#8203;(<a href="Player.Command.html" title="annotation in com.google.android.exoplayer2">@Command</a>
@com.google.android.exoplayer2.Player.Command int&nbsp;command)</pre> @com.google.android.exoplayer2.Player.Command int&nbsp;command)</pre>
<div class="block">Adds a <a href="Player.Command.html" title="annotation in com.google.android.exoplayer2"><code>Player.Command</code></a>.</div> <div class="block">Adds a <a href="Player.Command.html" title="annotation in com.google.android.exoplayer2"><code>Player.Command</code></a>.</div>
<dl> <dl>
@ -313,7 +314,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>addIf</h4> <h4>addIf</h4>
<pre class="methodSignature">public&nbsp;<a href="Player.Commands.Builder.html" title="class in com.google.android.exoplayer2">Player.Commands.Builder</a>&nbsp;addIf&#8203;(<a href="Player.Command.html" title="annotation in com.google.android.exoplayer2">@Command</a> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Player.Commands.Builder.html" title="class in com.google.android.exoplayer2">Player.Commands.Builder</a>&nbsp;addIf&#8203;(<a href="Player.Command.html" title="annotation in com.google.android.exoplayer2">@Command</a>
@com.google.android.exoplayer2.Player.Command int&nbsp;command, @com.google.android.exoplayer2.Player.Command int&nbsp;command,
boolean&nbsp;condition)</pre> boolean&nbsp;condition)</pre>
<div class="block">Adds a <a href="Player.Command.html" title="annotation in com.google.android.exoplayer2"><code>Player.Command</code></a> if the provided condition is true. Does nothing otherwise.</div> <div class="block">Adds a <a href="Player.Command.html" title="annotation in com.google.android.exoplayer2"><code>Player.Command</code></a> if the provided condition is true. Does nothing otherwise.</div>
@ -334,7 +336,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>addAll</h4> <h4>addAll</h4>
<pre class="methodSignature">public&nbsp;<a href="Player.Commands.Builder.html" title="class in com.google.android.exoplayer2">Player.Commands.Builder</a>&nbsp;addAll&#8203;(<a href="Player.Command.html" title="annotation in com.google.android.exoplayer2">@Command</a> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Player.Commands.Builder.html" title="class in com.google.android.exoplayer2">Player.Commands.Builder</a>&nbsp;addAll&#8203;(<a href="Player.Command.html" title="annotation in com.google.android.exoplayer2">@Command</a>
@com.google.android.exoplayer2.Player.Command int...&nbsp;commands)</pre> @com.google.android.exoplayer2.Player.Command int...&nbsp;commands)</pre>
<div class="block">Adds <a href="Player.Command.html" title="annotation in com.google.android.exoplayer2"><code>commands</code></a>.</div> <div class="block">Adds <a href="Player.Command.html" title="annotation in com.google.android.exoplayer2"><code>commands</code></a>.</div>
<dl> <dl>
@ -353,7 +356,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>addAll</h4> <h4>addAll</h4>
<pre class="methodSignature">public&nbsp;<a href="Player.Commands.Builder.html" title="class in com.google.android.exoplayer2">Player.Commands.Builder</a>&nbsp;addAll&#8203;(<a href="Player.Commands.html" title="class in com.google.android.exoplayer2">Player.Commands</a>&nbsp;commands)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Player.Commands.Builder.html" title="class in com.google.android.exoplayer2">Player.Commands.Builder</a>&nbsp;addAll&#8203;(<a href="Player.Commands.html" title="class in com.google.android.exoplayer2">Player.Commands</a>&nbsp;commands)</pre>
<div class="block">Adds <a href="Player.Commands.html" title="class in com.google.android.exoplayer2"><code>Player.Commands</code></a>.</div> <div class="block">Adds <a href="Player.Commands.html" title="class in com.google.android.exoplayer2"><code>Player.Commands</code></a>.</div>
<dl> <dl>
<dt><span class="paramLabel">Parameters:</span></dt> <dt><span class="paramLabel">Parameters:</span></dt>
@ -371,7 +375,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>addAllCommands</h4> <h4>addAllCommands</h4>
<pre class="methodSignature">public&nbsp;<a href="Player.Commands.Builder.html" title="class in com.google.android.exoplayer2">Player.Commands.Builder</a>&nbsp;addAllCommands()</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Player.Commands.Builder.html" title="class in com.google.android.exoplayer2">Player.Commands.Builder</a>&nbsp;addAllCommands()</pre>
<div class="block">Adds all existing <a href="Player.Command.html" title="annotation in com.google.android.exoplayer2"><code>commands</code></a>.</div> <div class="block">Adds all existing <a href="Player.Command.html" title="annotation in com.google.android.exoplayer2"><code>commands</code></a>.</div>
<dl> <dl>
<dt><span class="returnLabel">Returns:</span></dt> <dt><span class="returnLabel">Returns:</span></dt>
@ -387,7 +392,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>remove</h4> <h4>remove</h4>
<pre class="methodSignature">public&nbsp;<a href="Player.Commands.Builder.html" title="class in com.google.android.exoplayer2">Player.Commands.Builder</a>&nbsp;remove&#8203;(<a href="Player.Command.html" title="annotation in com.google.android.exoplayer2">@Command</a> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Player.Commands.Builder.html" title="class in com.google.android.exoplayer2">Player.Commands.Builder</a>&nbsp;remove&#8203;(<a href="Player.Command.html" title="annotation in com.google.android.exoplayer2">@Command</a>
@com.google.android.exoplayer2.Player.Command int&nbsp;command)</pre> @com.google.android.exoplayer2.Player.Command int&nbsp;command)</pre>
<div class="block">Removes a <a href="Player.Command.html" title="annotation in com.google.android.exoplayer2"><code>Player.Command</code></a>.</div> <div class="block">Removes a <a href="Player.Command.html" title="annotation in com.google.android.exoplayer2"><code>Player.Command</code></a>.</div>
<dl> <dl>
@ -406,7 +412,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>removeIf</h4> <h4>removeIf</h4>
<pre class="methodSignature">public&nbsp;<a href="Player.Commands.Builder.html" title="class in com.google.android.exoplayer2">Player.Commands.Builder</a>&nbsp;removeIf&#8203;(<a href="Player.Command.html" title="annotation in com.google.android.exoplayer2">@Command</a> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Player.Commands.Builder.html" title="class in com.google.android.exoplayer2">Player.Commands.Builder</a>&nbsp;removeIf&#8203;(<a href="Player.Command.html" title="annotation in com.google.android.exoplayer2">@Command</a>
@com.google.android.exoplayer2.Player.Command int&nbsp;command, @com.google.android.exoplayer2.Player.Command int&nbsp;command,
boolean&nbsp;condition)</pre> boolean&nbsp;condition)</pre>
<div class="block">Removes a <a href="Player.Command.html" title="annotation in com.google.android.exoplayer2"><code>Player.Command</code></a> if the provided condition is true. Does nothing otherwise.</div> <div class="block">Removes a <a href="Player.Command.html" title="annotation in com.google.android.exoplayer2"><code>Player.Command</code></a> if the provided condition is true. Does nothing otherwise.</div>
@ -427,7 +434,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>removeAll</h4> <h4>removeAll</h4>
<pre class="methodSignature">public&nbsp;<a href="Player.Commands.Builder.html" title="class in com.google.android.exoplayer2">Player.Commands.Builder</a>&nbsp;removeAll&#8203;(<a href="Player.Command.html" title="annotation in com.google.android.exoplayer2">@Command</a> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Player.Commands.Builder.html" title="class in com.google.android.exoplayer2">Player.Commands.Builder</a>&nbsp;removeAll&#8203;(<a href="Player.Command.html" title="annotation in com.google.android.exoplayer2">@Command</a>
@com.google.android.exoplayer2.Player.Command int...&nbsp;commands)</pre> @com.google.android.exoplayer2.Player.Command int...&nbsp;commands)</pre>
<div class="block">Removes <a href="Player.Command.html" title="annotation in com.google.android.exoplayer2"><code>commands</code></a>.</div> <div class="block">Removes <a href="Player.Command.html" title="annotation in com.google.android.exoplayer2"><code>commands</code></a>.</div>
<dl> <dl>

View File

@ -25,7 +25,7 @@
catch(err) { catch(err) {
} }
//--> //-->
var data = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6,"i23":6,"i24":6,"i25":6,"i26":6,"i27":6,"i28":6,"i29":6,"i30":6,"i31":6,"i32":38,"i33":6,"i34":6,"i35":6,"i36":6,"i37":6,"i38":6,"i39":6,"i40":6,"i41":38,"i42":6,"i43":6,"i44":6,"i45":6,"i46":6,"i47":6,"i48":6,"i49":38,"i50":6,"i51":6,"i52":6,"i53":6,"i54":6,"i55":6,"i56":6,"i57":6,"i58":38,"i59":6,"i60":38,"i61":38,"i62":6,"i63":38,"i64":6,"i65":6,"i66":6,"i67":6,"i68":6,"i69":38,"i70":38,"i71":38,"i72":6,"i73":6,"i74":6,"i75":6,"i76":6,"i77":6,"i78":38,"i79":6,"i80":6,"i81":6,"i82":38,"i83":6,"i84":6,"i85":6,"i86":6,"i87":6,"i88":6,"i89":6,"i90":6,"i91":6,"i92":6,"i93":6,"i94":6,"i95":38,"i96":6,"i97":6,"i98":38,"i99":6,"i100":6,"i101":6,"i102":6,"i103":6,"i104":6,"i105":6,"i106":6,"i107":6,"i108":6,"i109":6,"i110":6,"i111":6,"i112":6,"i113":6,"i114":6,"i115":6,"i116":6,"i117":6,"i118":6,"i119":6,"i120":38}; var data = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6,"i23":6,"i24":6,"i25":6,"i26":6,"i27":6,"i28":6,"i29":6,"i30":6,"i31":6,"i32":38,"i33":6,"i34":6,"i35":6,"i36":6,"i37":6,"i38":6,"i39":6,"i40":6,"i41":38,"i42":6,"i43":6,"i44":6,"i45":6,"i46":6,"i47":6,"i48":6,"i49":38,"i50":6,"i51":6,"i52":6,"i53":6,"i54":6,"i55":6,"i56":6,"i57":6,"i58":6,"i59":38,"i60":6,"i61":38,"i62":38,"i63":6,"i64":38,"i65":6,"i66":6,"i67":6,"i68":6,"i69":6,"i70":38,"i71":38,"i72":38,"i73":6,"i74":6,"i75":6,"i76":6,"i77":6,"i78":6,"i79":38,"i80":6,"i81":6,"i82":6,"i83":38,"i84":6,"i85":6,"i86":6,"i87":6,"i88":6,"i89":6,"i90":6,"i91":6,"i92":6,"i93":6,"i94":6,"i95":6,"i96":38,"i97":6,"i98":6,"i99":38,"i100":6,"i101":6,"i102":6,"i103":6,"i104":6,"i105":6,"i106":6,"i107":6,"i108":6,"i109":6,"i110":6,"i111":6,"i112":6,"i113":6,"i114":6,"i115":6,"i116":6,"i117":6,"i118":6,"i119":6,"i120":6,"i121":38};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],32:["t6","Deprecated Methods"]}; var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],32:["t6","Deprecated Methods"]};
var altColor = "altColor"; var altColor = "altColor";
var rowColor = "rowColor"; var rowColor = "rowColor";
@ -126,7 +126,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</dl> </dl>
<dl> <dl>
<dt>All Known Implementing Classes:</dt> <dt>All Known Implementing Classes:</dt>
<dd><code><a href="BasePlayer.html" title="class in com.google.android.exoplayer2">BasePlayer</a></code>, <code><a href="ext/cast/CastPlayer.html" title="class in com.google.android.exoplayer2.ext.cast">CastPlayer</a></code>, <code><a href="ForwardingPlayer.html" title="class in com.google.android.exoplayer2">ForwardingPlayer</a></code>, <code><a href="SimpleExoPlayer.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer</a></code>, <code><a href="testutil/StubExoPlayer.html" title="class in com.google.android.exoplayer2.testutil">StubExoPlayer</a></code>, <code><a href="testutil/StubPlayer.html" title="class in com.google.android.exoplayer2.testutil">StubPlayer</a></code></dd> <dd><code><a href="BasePlayer.html" title="class in com.google.android.exoplayer2">BasePlayer</a></code>, <code><a href="ext/cast/CastPlayer.html" title="class in com.google.android.exoplayer2.ext.cast">CastPlayer</a></code>, <code><a href="ForwardingPlayer.html" title="class in com.google.android.exoplayer2">ForwardingPlayer</a></code>, <code><a href="LegacyMediaPlayerWrapper.html" title="class in com.google.android.exoplayer2">LegacyMediaPlayerWrapper</a></code>, <code><a href="SimpleBasePlayer.html" title="class in com.google.android.exoplayer2">SimpleBasePlayer</a></code>, <code><a href="SimpleExoPlayer.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer</a></code>, <code><a href="testutil/StubExoPlayer.html" title="class in com.google.android.exoplayer2.testutil">StubExoPlayer</a></code>, <code><a href="testutil/StubPlayer.html" title="class in com.google.android.exoplayer2.testutil">StubPlayer</a></code></dd>
</dl> </dl>
<hr> <hr>
<pre>public interface <span class="typeNameLabel">Player</span></pre> <pre>public interface <span class="typeNameLabel">Player</span></pre>
@ -1360,34 +1360,41 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</td> </td>
</tr> </tr>
<tr id="i54" class="altColor"> <tr id="i54" class="altColor">
<td class="colFirst"><code><a href="util/Size.html" title="class in com.google.android.exoplayer2.util">Size</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSurfaceSize()">getSurfaceSize</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets the size of the surface on which the video is rendered.</div>
</td>
</tr>
<tr id="i55" class="rowColor">
<td class="colFirst"><code>long</code></td> <td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTotalBufferedDuration()">getTotalBufferedDuration</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTotalBufferedDuration()">getTotalBufferedDuration</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Returns an estimate of the total buffered duration from the current position, in milliseconds.</div> <div class="block">Returns an estimate of the total buffered duration from the current position, in milliseconds.</div>
</td> </td>
</tr> </tr>
<tr id="i55" class="rowColor"> <tr id="i56" class="altColor">
<td class="colFirst"><code><a href="trackselection/TrackSelectionParameters.html" title="class in com.google.android.exoplayer2.trackselection">TrackSelectionParameters</a></code></td> <td class="colFirst"><code><a href="trackselection/TrackSelectionParameters.html" title="class in com.google.android.exoplayer2.trackselection">TrackSelectionParameters</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTrackSelectionParameters()">getTrackSelectionParameters</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTrackSelectionParameters()">getTrackSelectionParameters</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Returns the parameters constraining the track selection.</div> <div class="block">Returns the parameters constraining the track selection.</div>
</td> </td>
</tr> </tr>
<tr id="i56" class="altColor"> <tr id="i57" class="rowColor">
<td class="colFirst"><code><a href="video/VideoSize.html" title="class in com.google.android.exoplayer2.video">VideoSize</a></code></td> <td class="colFirst"><code><a href="video/VideoSize.html" title="class in com.google.android.exoplayer2.video">VideoSize</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVideoSize()">getVideoSize</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVideoSize()">getVideoSize</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Gets the size of the video.</div> <div class="block">Gets the size of the video.</div>
</td> </td>
</tr> </tr>
<tr id="i57" class="rowColor"> <tr id="i58" class="altColor">
<td class="colFirst"><code>float</code></td> <td class="colFirst"><code>float</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVolume()">getVolume</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVolume()">getVolume</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Returns the audio volume, with 0 being silence and 1 being unity gain (signal unchanged).</div> <div class="block">Returns the audio volume, with 0 being silence and 1 being unity gain (signal unchanged).</div>
</td> </td>
</tr> </tr>
<tr id="i58" class="altColor"> <tr id="i59" class="rowColor">
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasNext()">hasNext</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasNext()">hasNext</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -1396,7 +1403,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</div> </div>
</td> </td>
</tr> </tr>
<tr id="i59" class="rowColor"> <tr id="i60" class="altColor">
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasNextMediaItem()">hasNextMediaItem</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasNextMediaItem()">hasNextMediaItem</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -1404,7 +1411,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
and whether shuffle mode is enabled.</div> and whether shuffle mode is enabled.</div>
</td> </td>
</tr> </tr>
<tr id="i60" class="altColor"> <tr id="i61" class="rowColor">
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasNextWindow()">hasNextWindow</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasNextWindow()">hasNextWindow</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -1413,7 +1420,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</div> </div>
</td> </td>
</tr> </tr>
<tr id="i61" class="rowColor"> <tr id="i62" class="altColor">
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasPrevious()">hasPrevious</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasPrevious()">hasPrevious</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -1422,7 +1429,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</div> </div>
</td> </td>
</tr> </tr>
<tr id="i62" class="altColor"> <tr id="i63" class="rowColor">
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasPreviousMediaItem()">hasPreviousMediaItem</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasPreviousMediaItem()">hasPreviousMediaItem</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -1430,7 +1437,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
whether shuffle mode is enabled.</div> whether shuffle mode is enabled.</div>
</td> </td>
</tr> </tr>
<tr id="i63" class="rowColor"> <tr id="i64" class="altColor">
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasPreviousWindow()">hasPreviousWindow</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasPreviousWindow()">hasPreviousWindow</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -1439,21 +1446,21 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</div> </div>
</td> </td>
</tr> </tr>
<tr id="i64" class="altColor"> <tr id="i65" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#increaseDeviceVolume()">increaseDeviceVolume</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#increaseDeviceVolume()">increaseDeviceVolume</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Increases the volume of the device.</div> <div class="block">Increases the volume of the device.</div>
</td> </td>
</tr> </tr>
<tr id="i65" class="rowColor"> <tr id="i66" class="altColor">
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCommandAvailable(@com.google.android.exoplayer2.Player.Commandint)">isCommandAvailable</a></span>&#8203;(@com.google.android.exoplayer2.Player.Command int&nbsp;command)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCommandAvailable(@com.google.android.exoplayer2.Player.Commandint)">isCommandAvailable</a></span>&#8203;(@com.google.android.exoplayer2.Player.Command int&nbsp;command)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Returns whether the provided <a href="Player.Command.html" title="annotation in com.google.android.exoplayer2"><code>Player.Command</code></a> is available.</div> <div class="block">Returns whether the provided <a href="Player.Command.html" title="annotation in com.google.android.exoplayer2"><code>Player.Command</code></a> is available.</div>
</td> </td>
</tr> </tr>
<tr id="i66" class="altColor"> <tr id="i67" class="rowColor">
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCurrentMediaItemDynamic()">isCurrentMediaItemDynamic</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCurrentMediaItemDynamic()">isCurrentMediaItemDynamic</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -1461,7 +1468,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
is updated), or <code>false</code> if the <a href="Timeline.html" title="class in com.google.android.exoplayer2"><code>Timeline</code></a> is empty.</div> is updated), or <code>false</code> if the <a href="Timeline.html" title="class in com.google.android.exoplayer2"><code>Timeline</code></a> is empty.</div>
</td> </td>
</tr> </tr>
<tr id="i67" class="rowColor"> <tr id="i68" class="altColor">
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCurrentMediaItemLive()">isCurrentMediaItemLive</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCurrentMediaItemLive()">isCurrentMediaItemLive</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -1469,14 +1476,14 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
is empty.</div> is empty.</div>
</td> </td>
</tr> </tr>
<tr id="i68" class="altColor"> <tr id="i69" class="rowColor">
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCurrentMediaItemSeekable()">isCurrentMediaItemSeekable</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCurrentMediaItemSeekable()">isCurrentMediaItemSeekable</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Returns whether the current <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a> is seekable, or <code>false</code> if the <a href="Timeline.html" title="class in com.google.android.exoplayer2"><code>Timeline</code></a> is empty.</div> <div class="block">Returns whether the current <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a> is seekable, or <code>false</code> if the <a href="Timeline.html" title="class in com.google.android.exoplayer2"><code>Timeline</code></a> is empty.</div>
</td> </td>
</tr> </tr>
<tr id="i69" class="rowColor"> <tr id="i70" class="altColor">
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCurrentWindowDynamic()">isCurrentWindowDynamic</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCurrentWindowDynamic()">isCurrentWindowDynamic</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -1485,7 +1492,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</div> </div>
</td> </td>
</tr> </tr>
<tr id="i70" class="altColor"> <tr id="i71" class="rowColor">
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCurrentWindowLive()">isCurrentWindowLive</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCurrentWindowLive()">isCurrentWindowLive</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -1494,7 +1501,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</div> </div>
</td> </td>
</tr> </tr>
<tr id="i71" class="rowColor"> <tr id="i72" class="altColor">
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCurrentWindowSeekable()">isCurrentWindowSeekable</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCurrentWindowSeekable()">isCurrentWindowSeekable</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -1503,35 +1510,35 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</div> </div>
</td> </td>
</tr> </tr>
<tr id="i72" class="altColor"> <tr id="i73" class="rowColor">
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isDeviceMuted()">isDeviceMuted</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isDeviceMuted()">isDeviceMuted</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Gets whether the device is muted or not.</div> <div class="block">Gets whether the device is muted or not.</div>
</td> </td>
</tr> </tr>
<tr id="i73" class="rowColor"> <tr id="i74" class="altColor">
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isLoading()">isLoading</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isLoading()">isLoading</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Whether the player is currently loading the source.</div> <div class="block">Whether the player is currently loading the source.</div>
</td> </td>
</tr> </tr>
<tr id="i74" class="altColor"> <tr id="i75" class="rowColor">
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isPlaying()">isPlaying</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isPlaying()">isPlaying</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Returns whether the player is playing, i.e.</div> <div class="block">Returns whether the player is playing, i.e.</div>
</td> </td>
</tr> </tr>
<tr id="i75" class="rowColor"> <tr id="i76" class="altColor">
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isPlayingAd()">isPlayingAd</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isPlayingAd()">isPlayingAd</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Returns whether the player is currently playing an ad.</div> <div class="block">Returns whether the player is currently playing an ad.</div>
</td> </td>
</tr> </tr>
<tr id="i76" class="altColor"> <tr id="i77" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#moveMediaItem(int,int)">moveMediaItem</a></span>&#8203;(int&nbsp;currentIndex, <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#moveMediaItem(int,int)">moveMediaItem</a></span>&#8203;(int&nbsp;currentIndex,
int&nbsp;newIndex)</code></th> int&nbsp;newIndex)</code></th>
@ -1539,7 +1546,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<div class="block">Moves the media item at the current index to the new index.</div> <div class="block">Moves the media item at the current index to the new index.</div>
</td> </td>
</tr> </tr>
<tr id="i77" class="rowColor"> <tr id="i78" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#moveMediaItems(int,int,int)">moveMediaItems</a></span>&#8203;(int&nbsp;fromIndex, <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#moveMediaItems(int,int,int)">moveMediaItems</a></span>&#8203;(int&nbsp;fromIndex,
int&nbsp;toIndex, int&nbsp;toIndex,
@ -1548,7 +1555,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<div class="block">Moves the media item range to the new index.</div> <div class="block">Moves the media item range to the new index.</div>
</td> </td>
</tr> </tr>
<tr id="i78" class="altColor"> <tr id="i79" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#next()">next</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#next()">next</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -1557,28 +1564,28 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</div> </div>
</td> </td>
</tr> </tr>
<tr id="i79" class="rowColor"> <tr id="i80" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#pause()">pause</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#pause()">pause</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Pauses playback.</div> <div class="block">Pauses playback.</div>
</td> </td>
</tr> </tr>
<tr id="i80" class="altColor"> <tr id="i81" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#play()">play</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#play()">play</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Resumes playback as soon as <a href="#getPlaybackState()"><code>getPlaybackState()</code></a> == <a href="#STATE_READY"><code>STATE_READY</code></a>.</div> <div class="block">Resumes playback as soon as <a href="#getPlaybackState()"><code>getPlaybackState()</code></a> == <a href="#STATE_READY"><code>STATE_READY</code></a>.</div>
</td> </td>
</tr> </tr>
<tr id="i81" class="rowColor"> <tr id="i82" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#prepare()">prepare</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#prepare()">prepare</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Prepares the player.</div> <div class="block">Prepares the player.</div>
</td> </td>
</tr> </tr>
<tr id="i82" class="altColor"> <tr id="i83" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#previous()">previous</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#previous()">previous</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -1587,28 +1594,28 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</div> </div>
</td> </td>
</tr> </tr>
<tr id="i83" class="rowColor"> <tr id="i84" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#release()">release</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#release()">release</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Releases the player.</div> <div class="block">Releases the player.</div>
</td> </td>
</tr> </tr>
<tr id="i84" class="altColor"> <tr id="i85" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeListener(com.google.android.exoplayer2.Player.Listener)">removeListener</a></span>&#8203;(<a href="Player.Listener.html" title="interface in com.google.android.exoplayer2">Player.Listener</a>&nbsp;listener)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeListener(com.google.android.exoplayer2.Player.Listener)">removeListener</a></span>&#8203;(<a href="Player.Listener.html" title="interface in com.google.android.exoplayer2">Player.Listener</a>&nbsp;listener)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Unregister a listener registered through <a href="#addListener(com.google.android.exoplayer2.Player.Listener)"><code>addListener(Listener)</code></a>.</div> <div class="block">Unregister a listener registered through <a href="#addListener(com.google.android.exoplayer2.Player.Listener)"><code>addListener(Listener)</code></a>.</div>
</td> </td>
</tr> </tr>
<tr id="i85" class="rowColor"> <tr id="i86" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeMediaItem(int)">removeMediaItem</a></span>&#8203;(int&nbsp;index)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeMediaItem(int)">removeMediaItem</a></span>&#8203;(int&nbsp;index)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Removes the media item at the given index of the playlist.</div> <div class="block">Removes the media item at the given index of the playlist.</div>
</td> </td>
</tr> </tr>
<tr id="i86" class="altColor"> <tr id="i87" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeMediaItems(int,int)">removeMediaItems</a></span>&#8203;(int&nbsp;fromIndex, <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeMediaItems(int,int)">removeMediaItems</a></span>&#8203;(int&nbsp;fromIndex,
int&nbsp;toIndex)</code></th> int&nbsp;toIndex)</code></th>
@ -1616,14 +1623,14 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<div class="block">Removes a range of media items from the playlist.</div> <div class="block">Removes a range of media items from the playlist.</div>
</td> </td>
</tr> </tr>
<tr id="i87" class="rowColor"> <tr id="i88" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekBack()">seekBack</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekBack()">seekBack</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Seeks back in the current <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a> by <a href="#getSeekBackIncrement()"><code>getSeekBackIncrement()</code></a> milliseconds.</div> <div class="block">Seeks back in the current <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a> by <a href="#getSeekBackIncrement()"><code>getSeekBackIncrement()</code></a> milliseconds.</div>
</td> </td>
</tr> </tr>
<tr id="i88" class="altColor"> <tr id="i89" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekForward()">seekForward</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekForward()">seekForward</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -1631,7 +1638,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
milliseconds.</div> milliseconds.</div>
</td> </td>
</tr> </tr>
<tr id="i89" class="rowColor"> <tr id="i90" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekTo(int,long)">seekTo</a></span>&#8203;(int&nbsp;mediaItemIndex, <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekTo(int,long)">seekTo</a></span>&#8203;(int&nbsp;mediaItemIndex,
long&nbsp;positionMs)</code></th> long&nbsp;positionMs)</code></th>
@ -1639,35 +1646,35 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<div class="block">Seeks to a position specified in milliseconds in the specified <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a>.</div> <div class="block">Seeks to a position specified in milliseconds in the specified <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a>.</div>
</td> </td>
</tr> </tr>
<tr id="i90" class="altColor"> <tr id="i91" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekTo(long)">seekTo</a></span>&#8203;(long&nbsp;positionMs)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekTo(long)">seekTo</a></span>&#8203;(long&nbsp;positionMs)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Seeks to a position specified in milliseconds in the current <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a>.</div> <div class="block">Seeks to a position specified in milliseconds in the current <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a>.</div>
</td> </td>
</tr> </tr>
<tr id="i91" class="rowColor"> <tr id="i92" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToDefaultPosition()">seekToDefaultPosition</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToDefaultPosition()">seekToDefaultPosition</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Seeks to the default position associated with the current <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a>.</div> <div class="block">Seeks to the default position associated with the current <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a>.</div>
</td> </td>
</tr> </tr>
<tr id="i92" class="altColor"> <tr id="i93" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToDefaultPosition(int)">seekToDefaultPosition</a></span>&#8203;(int&nbsp;mediaItemIndex)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToDefaultPosition(int)">seekToDefaultPosition</a></span>&#8203;(int&nbsp;mediaItemIndex)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Seeks to the default position associated with the specified <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a>.</div> <div class="block">Seeks to the default position associated with the specified <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a>.</div>
</td> </td>
</tr> </tr>
<tr id="i93" class="rowColor"> <tr id="i94" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToNext()">seekToNext</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToNext()">seekToNext</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Seeks to a later position in the current or next <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a> (if available).</div> <div class="block">Seeks to a later position in the current or next <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a> (if available).</div>
</td> </td>
</tr> </tr>
<tr id="i94" class="altColor"> <tr id="i95" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToNextMediaItem()">seekToNextMediaItem</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToNextMediaItem()">seekToNextMediaItem</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -1675,7 +1682,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
repeat mode and whether shuffle mode is enabled.</div> repeat mode and whether shuffle mode is enabled.</div>
</td> </td>
</tr> </tr>
<tr id="i95" class="rowColor"> <tr id="i96" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToNextWindow()">seekToNextWindow</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToNextWindow()">seekToNextWindow</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -1684,14 +1691,14 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</div> </div>
</td> </td>
</tr> </tr>
<tr id="i96" class="altColor"> <tr id="i97" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToPrevious()">seekToPrevious</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToPrevious()">seekToPrevious</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Seeks to an earlier position in the current or previous <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a> (if available).</div> <div class="block">Seeks to an earlier position in the current or previous <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a> (if available).</div>
</td> </td>
</tr> </tr>
<tr id="i97" class="rowColor"> <tr id="i98" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToPreviousMediaItem()">seekToPreviousMediaItem</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToPreviousMediaItem()">seekToPreviousMediaItem</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -1699,7 +1706,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
current repeat mode and whether shuffle mode is enabled.</div> current repeat mode and whether shuffle mode is enabled.</div>
</td> </td>
</tr> </tr>
<tr id="i98" class="altColor"> <tr id="i99" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToPreviousWindow()">seekToPreviousWindow</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToPreviousWindow()">seekToPreviousWindow</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -1708,21 +1715,21 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</div> </div>
</td> </td>
</tr> </tr>
<tr id="i99" class="rowColor"> <tr id="i100" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDeviceMuted(boolean)">setDeviceMuted</a></span>&#8203;(boolean&nbsp;muted)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDeviceMuted(boolean)">setDeviceMuted</a></span>&#8203;(boolean&nbsp;muted)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Sets the mute state of the device.</div> <div class="block">Sets the mute state of the device.</div>
</td> </td>
</tr> </tr>
<tr id="i100" class="altColor"> <tr id="i101" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDeviceVolume(int)">setDeviceVolume</a></span>&#8203;(int&nbsp;volume)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDeviceVolume(int)">setDeviceVolume</a></span>&#8203;(int&nbsp;volume)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Sets the volume of the device.</div> <div class="block">Sets the volume of the device.</div>
</td> </td>
</tr> </tr>
<tr id="i101" class="rowColor"> <tr id="i102" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaItem(com.google.android.exoplayer2.MediaItem)">setMediaItem</a></span>&#8203;(<a href="MediaItem.html" title="class in com.google.android.exoplayer2">MediaItem</a>&nbsp;mediaItem)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaItem(com.google.android.exoplayer2.MediaItem)">setMediaItem</a></span>&#8203;(<a href="MediaItem.html" title="class in com.google.android.exoplayer2">MediaItem</a>&nbsp;mediaItem)</code></th>
<td class="colLast"> <td class="colLast">
@ -1730,7 +1737,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
default position.</div> default position.</div>
</td> </td>
</tr> </tr>
<tr id="i102" class="altColor"> <tr id="i103" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaItem(com.google.android.exoplayer2.MediaItem,boolean)">setMediaItem</a></span>&#8203;(<a href="MediaItem.html" title="class in com.google.android.exoplayer2">MediaItem</a>&nbsp;mediaItem, <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaItem(com.google.android.exoplayer2.MediaItem,boolean)">setMediaItem</a></span>&#8203;(<a href="MediaItem.html" title="class in com.google.android.exoplayer2">MediaItem</a>&nbsp;mediaItem,
boolean&nbsp;resetPosition)</code></th> boolean&nbsp;resetPosition)</code></th>
@ -1738,7 +1745,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<div class="block">Clears the playlist and adds the specified <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a>.</div> <div class="block">Clears the playlist and adds the specified <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a>.</div>
</td> </td>
</tr> </tr>
<tr id="i103" class="rowColor"> <tr id="i104" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaItem(com.google.android.exoplayer2.MediaItem,long)">setMediaItem</a></span>&#8203;(<a href="MediaItem.html" title="class in com.google.android.exoplayer2">MediaItem</a>&nbsp;mediaItem, <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaItem(com.google.android.exoplayer2.MediaItem,long)">setMediaItem</a></span>&#8203;(<a href="MediaItem.html" title="class in com.google.android.exoplayer2">MediaItem</a>&nbsp;mediaItem,
long&nbsp;startPositionMs)</code></th> long&nbsp;startPositionMs)</code></th>
@ -1746,7 +1753,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<div class="block">Clears the playlist and adds the specified <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a>.</div> <div class="block">Clears the playlist and adds the specified <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a>.</div>
</td> </td>
</tr> </tr>
<tr id="i104" class="altColor"> <tr id="i105" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaItems(java.util.List)">setMediaItems</a></span>&#8203;(<a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="MediaItem.html" title="class in com.google.android.exoplayer2" target="_top">MediaItem</a>&gt;&nbsp;mediaItems)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaItems(java.util.List)">setMediaItems</a></span>&#8203;(<a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="MediaItem.html" title="class in com.google.android.exoplayer2" target="_top">MediaItem</a>&gt;&nbsp;mediaItems)</code></th>
<td class="colLast"> <td class="colLast">
@ -1754,7 +1761,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
the default position.</div> the default position.</div>
</td> </td>
</tr> </tr>
<tr id="i105" class="rowColor"> <tr id="i106" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaItems(java.util.List,boolean)">setMediaItems</a></span>&#8203;(<a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="MediaItem.html" title="class in com.google.android.exoplayer2" target="_top">MediaItem</a>&gt;&nbsp;mediaItems, <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaItems(java.util.List,boolean)">setMediaItems</a></span>&#8203;(<a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="MediaItem.html" title="class in com.google.android.exoplayer2" target="_top">MediaItem</a>&gt;&nbsp;mediaItems,
boolean&nbsp;resetPosition)</code></th> boolean&nbsp;resetPosition)</code></th>
@ -1762,7 +1769,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<div class="block">Clears the playlist and adds the specified <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItems</code></a>.</div> <div class="block">Clears the playlist and adds the specified <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItems</code></a>.</div>
</td> </td>
</tr> </tr>
<tr id="i106" class="altColor"> <tr id="i107" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaItems(java.util.List,int,long)">setMediaItems</a></span>&#8203;(<a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="MediaItem.html" title="class in com.google.android.exoplayer2" target="_top">MediaItem</a>&gt;&nbsp;mediaItems, <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaItems(java.util.List,int,long)">setMediaItems</a></span>&#8203;(<a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="MediaItem.html" title="class in com.google.android.exoplayer2" target="_top">MediaItem</a>&gt;&nbsp;mediaItems,
int&nbsp;startIndex, int&nbsp;startIndex,
@ -1771,63 +1778,63 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<div class="block">Clears the playlist and adds the specified <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItems</code></a>.</div> <div class="block">Clears the playlist and adds the specified <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItems</code></a>.</div>
</td> </td>
</tr> </tr>
<tr id="i107" class="rowColor"> <tr id="i108" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPlaybackParameters(com.google.android.exoplayer2.PlaybackParameters)">setPlaybackParameters</a></span>&#8203;(<a href="PlaybackParameters.html" title="class in com.google.android.exoplayer2">PlaybackParameters</a>&nbsp;playbackParameters)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPlaybackParameters(com.google.android.exoplayer2.PlaybackParameters)">setPlaybackParameters</a></span>&#8203;(<a href="PlaybackParameters.html" title="class in com.google.android.exoplayer2">PlaybackParameters</a>&nbsp;playbackParameters)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Attempts to set the playback parameters.</div> <div class="block">Attempts to set the playback parameters.</div>
</td> </td>
</tr> </tr>
<tr id="i108" class="altColor"> <tr id="i109" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPlaybackSpeed(float)">setPlaybackSpeed</a></span>&#8203;(float&nbsp;speed)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPlaybackSpeed(float)">setPlaybackSpeed</a></span>&#8203;(float&nbsp;speed)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Changes the rate at which playback occurs.</div> <div class="block">Changes the rate at which playback occurs.</div>
</td> </td>
</tr> </tr>
<tr id="i109" class="rowColor"> <tr id="i110" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPlaylistMetadata(com.google.android.exoplayer2.MediaMetadata)">setPlaylistMetadata</a></span>&#8203;(<a href="MediaMetadata.html" title="class in com.google.android.exoplayer2">MediaMetadata</a>&nbsp;mediaMetadata)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPlaylistMetadata(com.google.android.exoplayer2.MediaMetadata)">setPlaylistMetadata</a></span>&#8203;(<a href="MediaMetadata.html" title="class in com.google.android.exoplayer2">MediaMetadata</a>&nbsp;mediaMetadata)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Sets the playlist <a href="MediaMetadata.html" title="class in com.google.android.exoplayer2"><code>MediaMetadata</code></a>.</div> <div class="block">Sets the playlist <a href="MediaMetadata.html" title="class in com.google.android.exoplayer2"><code>MediaMetadata</code></a>.</div>
</td> </td>
</tr> </tr>
<tr id="i110" class="altColor"> <tr id="i111" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPlayWhenReady(boolean)">setPlayWhenReady</a></span>&#8203;(boolean&nbsp;playWhenReady)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPlayWhenReady(boolean)">setPlayWhenReady</a></span>&#8203;(boolean&nbsp;playWhenReady)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Sets whether playback should proceed when <a href="#getPlaybackState()"><code>getPlaybackState()</code></a> == <a href="#STATE_READY"><code>STATE_READY</code></a>.</div> <div class="block">Sets whether playback should proceed when <a href="#getPlaybackState()"><code>getPlaybackState()</code></a> == <a href="#STATE_READY"><code>STATE_READY</code></a>.</div>
</td> </td>
</tr> </tr>
<tr id="i111" class="rowColor"> <tr id="i112" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setRepeatMode(@com.google.android.exoplayer2.Player.RepeatModeint)">setRepeatMode</a></span>&#8203;(@com.google.android.exoplayer2.Player.RepeatMode int&nbsp;repeatMode)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setRepeatMode(@com.google.android.exoplayer2.Player.RepeatModeint)">setRepeatMode</a></span>&#8203;(@com.google.android.exoplayer2.Player.RepeatMode int&nbsp;repeatMode)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Sets the <a href="Player.RepeatMode.html" title="annotation in com.google.android.exoplayer2"><code>Player.RepeatMode</code></a> to be used for playback.</div> <div class="block">Sets the <a href="Player.RepeatMode.html" title="annotation in com.google.android.exoplayer2"><code>Player.RepeatMode</code></a> to be used for playback.</div>
</td> </td>
</tr> </tr>
<tr id="i112" class="altColor"> <tr id="i113" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setShuffleModeEnabled(boolean)">setShuffleModeEnabled</a></span>&#8203;(boolean&nbsp;shuffleModeEnabled)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setShuffleModeEnabled(boolean)">setShuffleModeEnabled</a></span>&#8203;(boolean&nbsp;shuffleModeEnabled)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Sets whether shuffling of media items is enabled.</div> <div class="block">Sets whether shuffling of media items is enabled.</div>
</td> </td>
</tr> </tr>
<tr id="i113" class="rowColor"> <tr id="i114" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setTrackSelectionParameters(com.google.android.exoplayer2.trackselection.TrackSelectionParameters)">setTrackSelectionParameters</a></span>&#8203;(<a href="trackselection/TrackSelectionParameters.html" title="class in com.google.android.exoplayer2.trackselection">TrackSelectionParameters</a>&nbsp;parameters)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setTrackSelectionParameters(com.google.android.exoplayer2.trackselection.TrackSelectionParameters)">setTrackSelectionParameters</a></span>&#8203;(<a href="trackselection/TrackSelectionParameters.html" title="class in com.google.android.exoplayer2.trackselection">TrackSelectionParameters</a>&nbsp;parameters)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Sets the parameters constraining the track selection.</div> <div class="block">Sets the parameters constraining the track selection.</div>
</td> </td>
</tr> </tr>
<tr id="i114" class="altColor"> <tr id="i115" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoSurface(android.view.Surface)">setVideoSurface</a></span>&#8203;(<a href="https://developer.android.com/reference/android/view/Surface.html" title="class or interface in android.view" class="externalLink" target="_top">Surface</a>&nbsp;surface)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoSurface(android.view.Surface)">setVideoSurface</a></span>&#8203;(<a href="https://developer.android.com/reference/android/view/Surface.html" title="class or interface in android.view" class="externalLink" target="_top">Surface</a>&nbsp;surface)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Sets 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> onto which video will be rendered.</div> <div class="block">Sets 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> onto which video will be rendered.</div>
</td> </td>
</tr> </tr>
<tr id="i115" class="rowColor"> <tr id="i116" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoSurfaceHolder(android.view.SurfaceHolder)">setVideoSurfaceHolder</a></span>&#8203;(<a href="https://developer.android.com/reference/android/view/SurfaceHolder.html" title="class or interface in android.view" class="externalLink" target="_top">SurfaceHolder</a>&nbsp;surfaceHolder)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoSurfaceHolder(android.view.SurfaceHolder)">setVideoSurfaceHolder</a></span>&#8203;(<a href="https://developer.android.com/reference/android/view/SurfaceHolder.html" title="class or interface in android.view" class="externalLink" target="_top">SurfaceHolder</a>&nbsp;surfaceHolder)</code></th>
<td class="colLast"> <td class="colLast">
@ -1835,21 +1842,21 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
rendered.</div> rendered.</div>
</td> </td>
</tr> </tr>
<tr id="i116" class="altColor"> <tr id="i117" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoSurfaceView(android.view.SurfaceView)">setVideoSurfaceView</a></span>&#8203;(<a href="https://developer.android.com/reference/android/view/SurfaceView.html" title="class or interface in android.view" class="externalLink" target="_top">SurfaceView</a>&nbsp;surfaceView)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoSurfaceView(android.view.SurfaceView)">setVideoSurfaceView</a></span>&#8203;(<a href="https://developer.android.com/reference/android/view/SurfaceView.html" title="class or interface in android.view" class="externalLink" target="_top">SurfaceView</a>&nbsp;surfaceView)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Sets the <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> onto which video will be rendered.</div> <div class="block">Sets the <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> onto which video will be rendered.</div>
</td> </td>
</tr> </tr>
<tr id="i117" class="rowColor"> <tr id="i118" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoTextureView(android.view.TextureView)">setVideoTextureView</a></span>&#8203;(<a href="https://developer.android.com/reference/android/view/TextureView.html" title="class or interface in android.view" class="externalLink" target="_top">TextureView</a>&nbsp;textureView)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoTextureView(android.view.TextureView)">setVideoTextureView</a></span>&#8203;(<a href="https://developer.android.com/reference/android/view/TextureView.html" title="class or interface in android.view" class="externalLink" target="_top">TextureView</a>&nbsp;textureView)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Sets the <a href="https://developer.android.com/reference/android/view/TextureView.html" title="class or interface in android.view" class="externalLink" target="_top"><code>TextureView</code></a> onto which video will be rendered.</div> <div class="block">Sets the <a href="https://developer.android.com/reference/android/view/TextureView.html" title="class or interface in android.view" class="externalLink" target="_top"><code>TextureView</code></a> onto which video will be rendered.</div>
</td> </td>
</tr> </tr>
<tr id="i118" class="altColor"> <tr id="i119" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVolume(float)">setVolume</a></span>&#8203;(float&nbsp;volume)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVolume(float)">setVolume</a></span>&#8203;(float&nbsp;volume)</code></th>
<td class="colLast"> <td class="colLast">
@ -1857,14 +1864,14 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
unchanged), inclusive.</div> unchanged), inclusive.</div>
</td> </td>
</tr> </tr>
<tr id="i119" class="rowColor"> <tr id="i120" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#stop()">stop</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#stop()">stop</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Stops playback without resetting the playlist.</div> <div class="block">Stops playback without resetting the playlist.</div>
</td> </td>
</tr> </tr>
<tr id="i120" class="altColor"> <tr id="i121" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#stop(boolean)">stop</a></span>&#8203;(boolean&nbsp;reset)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#stop(boolean)">stop</a></span>&#8203;(boolean&nbsp;reset)</code></th>
<td class="colLast"> <td class="colLast">
@ -4933,6 +4940,20 @@ float&nbsp;getVolume()</pre>
</dl> </dl>
</li> </li>
</ul> </ul>
<a id="getSurfaceSize()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSurfaceSize</h4>
<pre class="methodSignature"><a href="util/Size.html" title="class in com.google.android.exoplayer2.util">Size</a>&nbsp;getSurfaceSize()</pre>
<div class="block">Gets the size of the surface on which the video is rendered.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="Player.Listener.html#onSurfaceSizeChanged(int,int)"><code>Player.Listener.onSurfaceSizeChanged(int, int)</code></a></dd>
</dl>
</li>
</ul>
<a id="getCurrentCues()"> <a id="getCurrentCues()">
<!-- --> <!-- -->
</a> </a>

View File

@ -452,7 +452,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setType</h4> <h4>setType</h4>
<pre class="methodSignature">public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exoplayer2">PlayerMessage</a>&nbsp;setType&#8203;(int&nbsp;messageType)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exoplayer2">PlayerMessage</a>&nbsp;setType&#8203;(int&nbsp;messageType)</pre>
<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> <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> <dl>
<dt><span class="paramLabel">Parameters:</span></dt> <dt><span class="paramLabel">Parameters:</span></dt>
@ -480,7 +481,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setPayload</h4> <h4>setPayload</h4>
<pre class="methodSignature">public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exoplayer2">PlayerMessage</a>&nbsp;setPayload&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exoplayer2">PlayerMessage</a>&nbsp;setPayload&#8203;(@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>&nbsp;payload)</pre> <a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a>&nbsp;payload)</pre>
<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> <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> <dl>
@ -510,7 +512,8 @@ public&nbsp;<a href="https://developer.android.com/reference/java/lang/Object.ht
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setHandler</h4> <h4>setHandler</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exoplayer2">PlayerMessage</a>&nbsp;setHandler&#8203;(<a href="https://developer.android.com/reference/android/os/Handler.html" title="class or interface in android.os" class="externalLink" target="_top">Handler</a>&nbsp;handler)</pre> public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exoplayer2">PlayerMessage</a>&nbsp;setHandler&#8203;(<a href="https://developer.android.com/reference/android/os/Handler.html" title="class or interface in android.os" class="externalLink" target="_top">Handler</a>&nbsp;handler)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="#setLooper(android.os.Looper)"><code>setLooper(Looper)</code></a> instead.</div> <div class="deprecationComment">Use <a href="#setLooper(android.os.Looper)"><code>setLooper(Looper)</code></a> instead.</div>
@ -523,7 +526,8 @@ public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exop
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setLooper</h4> <h4>setLooper</h4>
<pre class="methodSignature">public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exoplayer2">PlayerMessage</a>&nbsp;setLooper&#8203;(<a href="https://developer.android.com/reference/android/os/Looper.html" title="class or interface in android.os" class="externalLink" target="_top">Looper</a>&nbsp;looper)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exoplayer2">PlayerMessage</a>&nbsp;setLooper&#8203;(<a href="https://developer.android.com/reference/android/os/Looper.html" title="class or interface in android.os" class="externalLink" target="_top">Looper</a>&nbsp;looper)</pre>
<div class="block">Sets the <a href="https://developer.android.com/reference/android/os/Looper.html" title="class or interface in android.os" class="externalLink" target="_top"><code>Looper</code></a> the message is delivered on.</div> <div class="block">Sets the <a href="https://developer.android.com/reference/android/os/Looper.html" title="class or interface in android.os" class="externalLink" target="_top"><code>Looper</code></a> the message is delivered on.</div>
<dl> <dl>
<dt><span class="paramLabel">Parameters:</span></dt> <dt><span class="paramLabel">Parameters:</span></dt>
@ -564,7 +568,8 @@ public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exop
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setPosition</h4> <h4>setPosition</h4>
<pre class="methodSignature">public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exoplayer2">PlayerMessage</a>&nbsp;setPosition&#8203;(long&nbsp;positionMs)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exoplayer2">PlayerMessage</a>&nbsp;setPosition&#8203;(long&nbsp;positionMs)</pre>
<div class="block">Sets a position in the current media item at which the message will be delivered.</div> <div class="block">Sets a position in the current media item at which the message will be delivered.</div>
<dl> <dl>
<dt><span class="paramLabel">Parameters:</span></dt> <dt><span class="paramLabel">Parameters:</span></dt>
@ -584,7 +589,8 @@ public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exop
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setPosition</h4> <h4>setPosition</h4>
<pre class="methodSignature">public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exoplayer2">PlayerMessage</a>&nbsp;setPosition&#8203;(int&nbsp;mediaItemIndex, <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exoplayer2">PlayerMessage</a>&nbsp;setPosition&#8203;(int&nbsp;mediaItemIndex,
long&nbsp;positionMs)</pre> long&nbsp;positionMs)</pre>
<div class="block">Sets a position in a media item at which the message will be delivered.</div> <div class="block">Sets a position in a media item at which the message will be delivered.</div>
<dl> <dl>
@ -618,7 +624,8 @@ public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exop
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setDeleteAfterDelivery</h4> <h4>setDeleteAfterDelivery</h4>
<pre class="methodSignature">public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exoplayer2">PlayerMessage</a>&nbsp;setDeleteAfterDelivery&#8203;(boolean&nbsp;deleteAfterDelivery)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exoplayer2">PlayerMessage</a>&nbsp;setDeleteAfterDelivery&#8203;(boolean&nbsp;deleteAfterDelivery)</pre>
<div class="block">Sets whether the message will be deleted after delivery. If false, the message will be resent <div class="block">Sets whether the message will be deleted after delivery. If false, the message will be resent
if playback reaches the specified position again. Only allowed to be false if a position is set if playback reaches the specified position again. Only allowed to be false if a position is set
with <a href="#setPosition(long)"><code>setPosition(long)</code></a>.</div> with <a href="#setPosition(long)"><code>setPosition(long)</code></a>.</div>
@ -648,7 +655,8 @@ public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exop
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>send</h4> <h4>send</h4>
<pre class="methodSignature">public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exoplayer2">PlayerMessage</a>&nbsp;send()</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exoplayer2">PlayerMessage</a>&nbsp;send()</pre>
<div class="block">Sends the message. If the target throws an <a href="ExoPlaybackException.html" title="class in com.google.android.exoplayer2"><code>ExoPlaybackException</code></a> then it is propagated <div class="block">Sends the message. If the target throws an <a href="ExoPlaybackException.html" title="class in com.google.android.exoplayer2"><code>ExoPlaybackException</code></a> then it is propagated
out of the player as an error using <a href="Player.Listener.html#onPlayerError(com.google.android.exoplayer2.PlaybackException)"><code>Player.Listener.onPlayerError(PlaybackException)</code></a>.</div> out of the player as an error using <a href="Player.Listener.html#onPlayerError(com.google.android.exoplayer2.PlaybackException)"><code>Player.Listener.onPlayerError(PlaybackException)</code></a>.</div>
<dl> <dl>
@ -665,7 +673,8 @@ public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exop
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>cancel</h4> <h4>cancel</h4>
<pre class="methodSignature">public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exoplayer2">PlayerMessage</a>&nbsp;cancel()</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exoplayer2">PlayerMessage</a>&nbsp;cancel()</pre>
<div class="block">Cancels the message delivery.</div> <div class="block">Cancels the message delivery.</div>
<dl> <dl>
<dt><span class="returnLabel">Returns:</span></dt> <dt><span class="returnLabel">Returns:</span></dt>

View File

@ -244,41 +244,48 @@ extends <a href="PlayerMessage.Target.html" title="interface in com.google.andro
</tr> </tr>
<tr class="altColor"> <tr class="altColor">
<td class="colFirst"><code>static int</code></td> <td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MSG_SET_PREFERRED_AUDIO_DEVICE">MSG_SET_PREFERRED_AUDIO_DEVICE</a></span></code></th>
<td class="colLast">
<div class="block">The type of a message that can be passed to audio 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_SCALING_MODE">MSG_SET_SCALING_MODE</a></span></code></th> <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"> <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 <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(PlayerMessage.Target)</code></a>.</div> <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(PlayerMessage.Target)</code></a>.</div>
</td> </td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<td class="colFirst"><code>static int</code></td> <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> <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"> <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(PlayerMessage.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> </td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<td class="colFirst"><code>static int</code></td> <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> <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"> <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(PlayerMessage.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> </td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<td class="colFirst"><code>static int</code></td> <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> <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"> <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(PlayerMessage.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> </td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<td class="colFirst"><code>static int</code></td> <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> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MSG_SET_VOLUME">MSG_SET_VOLUME</a></span></code></th>
<td class="colLast"> <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(PlayerMessage.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> </td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<td class="colFirst"><code>static int</code></td> <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> <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"> <td class="colLast">
@ -286,21 +293,21 @@ extends <a href="PlayerMessage.Target.html" title="interface in com.google.andro
waking up another component.</div> waking up another component.</div>
</td> </td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<td class="colFirst"><code>static int</code></td> <td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#STATE_DISABLED">STATE_DISABLED</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#STATE_DISABLED">STATE_DISABLED</a></span></code></th>
<td class="colLast"> <td class="colLast">
<div class="block">The renderer is disabled.</div> <div class="block">The renderer is disabled.</div>
</td> </td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<td class="colFirst"><code>static int</code></td> <td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#STATE_ENABLED">STATE_ENABLED</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#STATE_ENABLED">STATE_ENABLED</a></span></code></th>
<td class="colLast"> <td class="colLast">
<div class="block">The renderer is enabled but not started.</div> <div class="block">The renderer is enabled but not started.</div>
</td> </td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<td class="colFirst"><code>static int</code></td> <td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#STATE_STARTED">STATE_STARTED</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#STATE_STARTED">STATE_STARTED</a></span></code></th>
<td class="colLast"> <td class="colLast">
@ -712,6 +719,21 @@ extends <a href="PlayerMessage.Target.html" title="interface in com.google.andro
</dl> </dl>
</li> </li>
</ul> </ul>
<a id="MSG_SET_PREFERRED_AUDIO_DEVICE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MSG_SET_PREFERRED_AUDIO_DEVICE</h4>
<pre>static final&nbsp;int MSG_SET_PREFERRED_AUDIO_DEVICE</pre>
<div class="block">The type of a message that can be passed to audio 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/android/media/AudioDeviceInfo.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioDeviceInfo</code></a> instance representing the preferred audio device, or null to
restore the default.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#com.google.android.exoplayer2.Renderer.MSG_SET_PREFERRED_AUDIO_DEVICE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="MSG_CUSTOM_BASE"> <a id="MSG_CUSTOM_BASE">
<!-- --> <!-- -->
</a> </a>

View File

@ -117,7 +117,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<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/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/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> 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>. <div class="block">Level of decoder support. One of <a href="RendererCapabilities.html#DECODER_SUPPORT_FALLBACK_MIMETYPE"><code>RendererCapabilities.DECODER_SUPPORT_FALLBACK_MIMETYPE</code></a>, <a href="RendererCapabilities.html#DECODER_SUPPORT_FALLBACK"><code>RendererCapabilities.DECODER_SUPPORT_FALLBACK</code></a>, and <a href="RendererCapabilities.html#DECODER_SUPPORT_PRIMARY"><code>RendererCapabilities.DECODER_SUPPORT_PRIMARY</code></a>.
<p>For video renderers, the level of support is indicated for non-tunneled output.</div> <p>For video renderers, the level of support is indicated for non-tunneled output.</div>
</li> </li>

View File

@ -247,12 +247,20 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</tr> </tr>
<tr class="rowColor"> <tr class="rowColor">
<td class="colFirst"><code>static int</code></td> <td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DECODER_SUPPORT_FALLBACK_MIMETYPE">DECODER_SUPPORT_FALLBACK_MIMETYPE</a></span></code></th>
<td class="colLast">
<div class="block">The renderer will use a decoder for fallback mimetype if possible as format's MIME type is
unsupported</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="#DECODER_SUPPORT_PRIMARY">DECODER_SUPPORT_PRIMARY</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DECODER_SUPPORT_PRIMARY">DECODER_SUPPORT_PRIMARY</a></span></code></th>
<td class="colLast"> <td class="colLast">
<div class="block">The renderer is able to use the primary decoder for the format's MIME type.</div> <div class="block">The renderer is able to use the primary decoder for the format's MIME type.</div>
</td> </td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<td class="colFirst"><code>static int</code></td> <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> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#FORMAT_EXCEEDS_CAPABILITIES">FORMAT_EXCEEDS_CAPABILITIES</a></span></code></th>
<td class="colLast"> <td class="colLast">
@ -261,7 +269,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</div> </div>
</td> </td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<td class="colFirst"><code>static int</code></td> <td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#FORMAT_HANDLED">FORMAT_HANDLED</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#FORMAT_HANDLED">FORMAT_HANDLED</a></span></code></th>
<td class="colLast"> <td class="colLast">
@ -270,14 +278,14 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</div> </div>
</td> </td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<td class="colFirst"><code>static int</code></td> <td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#FORMAT_SUPPORT_MASK">FORMAT_SUPPORT_MASK</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#FORMAT_SUPPORT_MASK">FORMAT_SUPPORT_MASK</a></span></code></th>
<td class="colLast"> <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="C.FormatSupport.html" title="annotation in com.google.android.exoplayer2"><code>C.FormatSupport</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 the <a href="C.FormatSupport.html" title="annotation in com.google.android.exoplayer2"><code>C.FormatSupport</code></a> only.</div>
</td> </td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<td class="colFirst"><code>static int</code></td> <td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#FORMAT_UNSUPPORTED_DRM">FORMAT_UNSUPPORTED_DRM</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#FORMAT_UNSUPPORTED_DRM">FORMAT_UNSUPPORTED_DRM</a></span></code></th>
<td class="colLast"> <td class="colLast">
@ -286,7 +294,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</div> </div>
</td> </td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<td class="colFirst"><code>static int</code></td> <td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#FORMAT_UNSUPPORTED_SUBTYPE">FORMAT_UNSUPPORTED_SUBTYPE</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#FORMAT_UNSUPPORTED_SUBTYPE">FORMAT_UNSUPPORTED_SUBTYPE</a></span></code></th>
<td class="colLast"> <td class="colLast">
@ -295,7 +303,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</div> </div>
</td> </td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<td class="colFirst"><code>static int</code></td> <td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#FORMAT_UNSUPPORTED_TYPE">FORMAT_UNSUPPORTED_TYPE</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#FORMAT_UNSUPPORTED_TYPE">FORMAT_UNSUPPORTED_TYPE</a></span></code></th>
<td class="colLast"> <td class="colLast">
@ -304,49 +312,49 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</div> </div>
</td> </td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<td class="colFirst"><code>static int</code></td> <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> <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"> <td class="colLast">
<div class="block">The renderer is not able to use hardware acceleration.</div> <div class="block">The renderer is not able to use hardware acceleration.</div>
</td> </td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<td class="colFirst"><code>static int</code></td> <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> <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"> <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> <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> </td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<td class="colFirst"><code>static int</code></td> <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> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#HARDWARE_ACCELERATION_SUPPORTED">HARDWARE_ACCELERATION_SUPPORTED</a></span></code></th>
<td class="colLast"> <td class="colLast">
<div class="block">The renderer is able to use hardware acceleration.</div> <div class="block">The renderer is able to use hardware acceleration.</div>
</td> </td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<td class="colFirst"><code>static int</code></td> <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> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MODE_SUPPORT_MASK">MODE_SUPPORT_MASK</a></span></code></th>
<td class="colLast"> <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> <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> </td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<td class="colFirst"><code>static int</code></td> <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> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#TUNNELING_NOT_SUPPORTED">TUNNELING_NOT_SUPPORTED</a></span></code></th>
<td class="colLast"> <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> <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>
</td> </td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<td class="colFirst"><code>static int</code></td> <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> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#TUNNELING_SUPPORT_MASK">TUNNELING_SUPPORT_MASK</a></span></code></th>
<td class="colLast"> <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.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> </td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<td class="colFirst"><code>static int</code></td> <td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#TUNNELING_SUPPORTED">TUNNELING_SUPPORTED</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#TUNNELING_SUPPORTED">TUNNELING_SUPPORTED</a></span></code></th>
<td class="colLast"> <td class="colLast">
@ -733,6 +741,21 @@ static final&nbsp;int FORMAT_UNSUPPORTED_TYPE</pre>
</dl> </dl>
</li> </li>
</ul> </ul>
<a id="DECODER_SUPPORT_FALLBACK_MIMETYPE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DECODER_SUPPORT_FALLBACK_MIMETYPE</h4>
<pre>static final&nbsp;int DECODER_SUPPORT_FALLBACK_MIMETYPE</pre>
<div class="block">The renderer will use a decoder for fallback mimetype if possible as format's MIME type is
unsupported</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#com.google.android.exoplayer2.RendererCapabilities.DECODER_SUPPORT_FALLBACK_MIMETYPE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="DECODER_SUPPORT_PRIMARY"> <a id="DECODER_SUPPORT_PRIMARY">
<!-- --> <!-- -->
</a> </a>

View File

@ -0,0 +1,366 @@
<!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>SimpleBasePlayer.State.Builder (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="SimpleBasePlayer.State.Builder (ExoPlayer library)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
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&nbsp;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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</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>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2</a></div>
<h2 title="Class SimpleBasePlayer.State.Builder" class="title">Class SimpleBasePlayer.State.Builder</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>com.google.android.exoplayer2.SimpleBasePlayer.State.Builder</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>Enclosing class:</dt>
<dd><a href="SimpleBasePlayer.State.html" title="class in com.google.android.exoplayer2">SimpleBasePlayer.State</a></dd>
</dl>
<hr>
<pre>public static final class <span class="typeNameLabel">SimpleBasePlayer.State.Builder</span>
extends <a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></pre>
<div class="block">A builder for <a href="SimpleBasePlayer.State.html" title="class in com.google.android.exoplayer2"><code>SimpleBasePlayer.State</code></a> objects.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">Builder</a></span>()</code></th>
<td class="colLast">
<div class="block">Creates the builder.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="SimpleBasePlayer.State.html" title="class in com.google.android.exoplayer2">SimpleBasePlayer.State</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#build()">build</a></span>()</code></th>
<td class="colLast">
<div class="block">Builds the <a href="SimpleBasePlayer.State.html" title="class in com.google.android.exoplayer2"><code>SimpleBasePlayer.State</code></a>.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="SimpleBasePlayer.State.Builder.html" title="class in com.google.android.exoplayer2">SimpleBasePlayer.State.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setAvailableCommands(com.google.android.exoplayer2.Player.Commands)">setAvailableCommands</a></span>&#8203;(<a href="Player.Commands.html" title="class in com.google.android.exoplayer2">Player.Commands</a>&nbsp;availableCommands)</code></th>
<td class="colLast">
<div class="block">Sets the available <a href="Player.Commands.html" title="class in com.google.android.exoplayer2"><code>Player.Commands</code></a>.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="SimpleBasePlayer.State.Builder.html" title="class in com.google.android.exoplayer2">SimpleBasePlayer.State.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPlayWhenReady(boolean,@com.google.android.exoplayer2.Player.PlayWhenReadyChangeReasonint)">setPlayWhenReady</a></span>&#8203;(boolean&nbsp;playWhenReady,
@com.google.android.exoplayer2.Player.PlayWhenReadyChangeReason int&nbsp;playWhenReadyChangeReason)</code></th>
<td class="colLast">
<div class="block">Sets whether playback should proceed when ready and not suppressed.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></h3>
<code><a href="https://developer.android.com/reference/java/lang/Object.html#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink" target="_top">wait</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>Builder</h4>
<pre>public&nbsp;Builder()</pre>
<div class="block">Creates the builder.</div>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="setAvailableCommands(com.google.android.exoplayer2.Player.Commands)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAvailableCommands</h4>
<pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="SimpleBasePlayer.State.Builder.html" title="class in com.google.android.exoplayer2">SimpleBasePlayer.State.Builder</a>&nbsp;setAvailableCommands&#8203;(<a href="Player.Commands.html" title="class in com.google.android.exoplayer2">Player.Commands</a>&nbsp;availableCommands)</pre>
<div class="block">Sets the available <a href="Player.Commands.html" title="class in com.google.android.exoplayer2"><code>Player.Commands</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>availableCommands</code> - The available <a href="Player.Commands.html" title="class in com.google.android.exoplayer2"><code>Player.Commands</code></a>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This builder.</dd>
</dl>
</li>
</ul>
<a id="setPlayWhenReady(boolean,@com.google.android.exoplayer2.Player.PlayWhenReadyChangeReasonint)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPlayWhenReady</h4>
<pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="SimpleBasePlayer.State.Builder.html" title="class in com.google.android.exoplayer2">SimpleBasePlayer.State.Builder</a>&nbsp;setPlayWhenReady&#8203;(boolean&nbsp;playWhenReady,
<a href="Player.PlayWhenReadyChangeReason.html" title="annotation in com.google.android.exoplayer2">@PlayWhenReadyChangeReason</a>
@com.google.android.exoplayer2.Player.PlayWhenReadyChangeReason int&nbsp;playWhenReadyChangeReason)</pre>
<div class="block">Sets whether playback should proceed when ready and not suppressed.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>playWhenReady</code> - Whether playback should proceed when ready and not suppressed.</dd>
<dd><code>playWhenReadyChangeReason</code> - The <a href="Player.PlayWhenReadyChangeReason.html" title="annotation in com.google.android.exoplayer2">reason</a> for
changing the value.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This builder.</dd>
</dl>
</li>
</ul>
<a id="build()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>build</h4>
<pre class="methodSignature">public&nbsp;<a href="SimpleBasePlayer.State.html" title="class in com.google.android.exoplayer2">SimpleBasePlayer.State</a>&nbsp;build()</pre>
<div class="block">Builds the <a href="SimpleBasePlayer.State.html" title="class in com.google.android.exoplayer2"><code>SimpleBasePlayer.State</code></a>.</div>
</li>
</ul>
</li>
</ul>
</section>
</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&nbsp;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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

View File

@ -0,0 +1,412 @@
<!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>SimpleBasePlayer.State (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="SimpleBasePlayer.State (ExoPlayer library)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
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&nbsp;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:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</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>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2</a></div>
<h2 title="Class SimpleBasePlayer.State" class="title">Class SimpleBasePlayer.State</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>com.google.android.exoplayer2.SimpleBasePlayer.State</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>Enclosing class:</dt>
<dd><a href="SimpleBasePlayer.html" title="class in com.google.android.exoplayer2">SimpleBasePlayer</a></dd>
</dl>
<hr>
<pre>protected static final class <span class="typeNameLabel">SimpleBasePlayer.State</span>
extends <a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></pre>
<div class="block">An immutable state description of the player.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="SimpleBasePlayer.State.Builder.html" title="class in com.google.android.exoplayer2">SimpleBasePlayer.State.Builder</a></span></code></th>
<td class="colLast">
<div class="block">A builder for <a href="SimpleBasePlayer.State.html" title="class in com.google.android.exoplayer2"><code>SimpleBasePlayer.State</code></a> objects.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="Player.Commands.html" title="class in com.google.android.exoplayer2">Player.Commands</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#availableCommands">availableCommands</a></span></code></th>
<td class="colLast">
<div class="block">The available <a href="Player.Commands.html" title="class in com.google.android.exoplayer2"><code>Player.Commands</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#playWhenReady">playWhenReady</a></span></code></th>
<td class="colLast">
<div class="block">Whether playback should proceed when ready and not suppressed.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>@com.google.android.exoplayer2.Player.PlayWhenReadyChangeReason int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#playWhenReadyChangeReason">playWhenReadyChangeReason</a></span></code></th>
<td class="colLast">
<div class="block">The last reason for changing <a href="#playWhenReady"><code>playWhenReady</code></a>.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="SimpleBasePlayer.State.Builder.html" title="class in com.google.android.exoplayer2">SimpleBasePlayer.State.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#buildUpon()">buildUpon</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns a <a href="SimpleBasePlayer.State.Builder.html" title="class in com.google.android.exoplayer2"><code>SimpleBasePlayer.State.Builder</code></a> pre-populated with the current state values.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#equals(java.lang.Object)">equals</a></span>&#8203;(<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a>&nbsp;o)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i2" 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">&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></h3>
<code><a href="https://developer.android.com/reference/java/lang/Object.html#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink" target="_top">wait</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a id="availableCommands">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>availableCommands</h4>
<pre>public final&nbsp;<a href="Player.Commands.html" title="class in com.google.android.exoplayer2">Player.Commands</a> availableCommands</pre>
<div class="block">The available <a href="Player.Commands.html" title="class in com.google.android.exoplayer2"><code>Player.Commands</code></a>.</div>
</li>
</ul>
<a id="playWhenReady">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>playWhenReady</h4>
<pre>public final&nbsp;boolean playWhenReady</pre>
<div class="block">Whether playback should proceed when ready and not suppressed.</div>
</li>
</ul>
<a id="playWhenReadyChangeReason">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>playWhenReadyChangeReason</h4>
<pre><a href="Player.PlayWhenReadyChangeReason.html" title="annotation in com.google.android.exoplayer2">@PlayWhenReadyChangeReason</a>
public final&nbsp;@com.google.android.exoplayer2.Player.PlayWhenReadyChangeReason int playWhenReadyChangeReason</pre>
<div class="block">The last reason for changing <a href="#playWhenReady"><code>playWhenReady</code></a>.</div>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="buildUpon()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>buildUpon</h4>
<pre class="methodSignature">public&nbsp;<a href="SimpleBasePlayer.State.Builder.html" title="class in com.google.android.exoplayer2">SimpleBasePlayer.State.Builder</a>&nbsp;buildUpon()</pre>
<div class="block">Returns a <a href="SimpleBasePlayer.State.Builder.html" title="class in com.google.android.exoplayer2"><code>SimpleBasePlayer.State.Builder</code></a> pre-populated with the current state values.</div>
</li>
</ul>
<a id="equals(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>equals</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;equals&#8203;(@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>&nbsp;o)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://developer.android.com/reference/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></code></dd>
</dl>
</li>
</ul>
<a id="hashCode()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>hashCode</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;hashCode()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://developer.android.com/reference/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</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&nbsp;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:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

File diff suppressed because one or more lines are too long

View File

@ -567,7 +567,8 @@ public&nbsp;Builder&#8203;(<a href="https://developer.android.com/reference/andr
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>experimentalSetForegroundModeTimeoutMs</h4> <h4>experimentalSetForegroundModeTimeoutMs</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;experimentalSetForegroundModeTimeoutMs&#8203;(long&nbsp;timeoutMs)</pre> public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;experimentalSetForegroundModeTimeoutMs&#8203;(long&nbsp;timeoutMs)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#experimentalSetForegroundModeTimeoutMs(long)"><code>ExoPlayer.Builder.experimentalSetForegroundModeTimeoutMs(long)</code></a> <div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#experimentalSetForegroundModeTimeoutMs(long)"><code>ExoPlayer.Builder.experimentalSetForegroundModeTimeoutMs(long)</code></a>
@ -581,7 +582,8 @@ public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.an
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setTrackSelector</h4> <h4>setTrackSelector</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;setTrackSelector&#8203;(<a href="trackselection/TrackSelector.html" title="class in com.google.android.exoplayer2.trackselection">TrackSelector</a>&nbsp;trackSelector)</pre> public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;setTrackSelector&#8203;(<a href="trackselection/TrackSelector.html" title="class in com.google.android.exoplayer2.trackselection">TrackSelector</a>&nbsp;trackSelector)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#setTrackSelector(com.google.android.exoplayer2.trackselection.TrackSelector)"><code>ExoPlayer.Builder.setTrackSelector(TrackSelector)</code></a> instead.</div> <div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#setTrackSelector(com.google.android.exoplayer2.trackselection.TrackSelector)"><code>ExoPlayer.Builder.setTrackSelector(TrackSelector)</code></a> instead.</div>
@ -594,7 +596,8 @@ public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.an
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setMediaSourceFactory</h4> <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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;setMediaSourceFactory&#8203;(<a href="source/MediaSource.Factory.html" title="interface in com.google.android.exoplayer2.source">MediaSource.Factory</a>&nbsp;mediaSourceFactory)</pre> public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;setMediaSourceFactory&#8203;(<a href="source/MediaSource.Factory.html" title="interface in com.google.android.exoplayer2.source">MediaSource.Factory</a>&nbsp;mediaSourceFactory)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<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 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>
@ -607,7 +610,8 @@ public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.an
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setLoadControl</h4> <h4>setLoadControl</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;setLoadControl&#8203;(<a href="LoadControl.html" title="interface in com.google.android.exoplayer2">LoadControl</a>&nbsp;loadControl)</pre> public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;setLoadControl&#8203;(<a href="LoadControl.html" title="interface in com.google.android.exoplayer2">LoadControl</a>&nbsp;loadControl)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#setLoadControl(com.google.android.exoplayer2.LoadControl)"><code>ExoPlayer.Builder.setLoadControl(LoadControl)</code></a> instead.</div> <div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#setLoadControl(com.google.android.exoplayer2.LoadControl)"><code>ExoPlayer.Builder.setLoadControl(LoadControl)</code></a> instead.</div>
@ -620,7 +624,8 @@ public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.an
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setBandwidthMeter</h4> <h4>setBandwidthMeter</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;setBandwidthMeter&#8203;(<a href="upstream/BandwidthMeter.html" title="interface in com.google.android.exoplayer2.upstream">BandwidthMeter</a>&nbsp;bandwidthMeter)</pre> public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;setBandwidthMeter&#8203;(<a href="upstream/BandwidthMeter.html" title="interface in com.google.android.exoplayer2.upstream">BandwidthMeter</a>&nbsp;bandwidthMeter)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#setBandwidthMeter(com.google.android.exoplayer2.upstream.BandwidthMeter)"><code>ExoPlayer.Builder.setBandwidthMeter(BandwidthMeter)</code></a> instead.</div> <div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#setBandwidthMeter(com.google.android.exoplayer2.upstream.BandwidthMeter)"><code>ExoPlayer.Builder.setBandwidthMeter(BandwidthMeter)</code></a> instead.</div>
@ -633,7 +638,8 @@ public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.an
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setLooper</h4> <h4>setLooper</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;setLooper&#8203;(<a href="https://developer.android.com/reference/android/os/Looper.html" title="class or interface in android.os" class="externalLink" target="_top">Looper</a>&nbsp;looper)</pre> public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;setLooper&#8203;(<a href="https://developer.android.com/reference/android/os/Looper.html" title="class or interface in android.os" class="externalLink" target="_top">Looper</a>&nbsp;looper)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#setLooper(android.os.Looper)"><code>ExoPlayer.Builder.setLooper(Looper)</code></a> instead.</div> <div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#setLooper(android.os.Looper)"><code>ExoPlayer.Builder.setLooper(Looper)</code></a> instead.</div>
@ -646,7 +652,8 @@ public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.an
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setAnalyticsCollector</h4> <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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;setAnalyticsCollector&#8203;(<a href="analytics/AnalyticsCollector.html" title="interface in com.google.android.exoplayer2.analytics">AnalyticsCollector</a>&nbsp;analyticsCollector)</pre> public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;setAnalyticsCollector&#8203;(<a href="analytics/AnalyticsCollector.html" title="interface in com.google.android.exoplayer2.analytics">AnalyticsCollector</a>&nbsp;analyticsCollector)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <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 class="deprecationComment">Use <a href="ExoPlayer.Builder.html#setAnalyticsCollector(com.google.android.exoplayer2.analytics.AnalyticsCollector)"><code>ExoPlayer.Builder.setAnalyticsCollector(AnalyticsCollector)</code></a> instead.</div>
@ -659,7 +666,8 @@ public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.an
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setPriorityTaskManager</h4> <h4>setPriorityTaskManager</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;setPriorityTaskManager&#8203;(@Nullable public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;setPriorityTaskManager&#8203;(@Nullable
<a href="util/PriorityTaskManager.html" title="class in com.google.android.exoplayer2.util">PriorityTaskManager</a>&nbsp;priorityTaskManager)</pre> <a href="util/PriorityTaskManager.html" title="class in com.google.android.exoplayer2.util">PriorityTaskManager</a>&nbsp;priorityTaskManager)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
@ -674,7 +682,8 @@ public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.an
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setAudioAttributes</h4> <h4>setAudioAttributes</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;setAudioAttributes&#8203;(<a href="audio/AudioAttributes.html" title="class in com.google.android.exoplayer2.audio">AudioAttributes</a>&nbsp;audioAttributes, public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;setAudioAttributes&#8203;(<a href="audio/AudioAttributes.html" title="class in com.google.android.exoplayer2.audio">AudioAttributes</a>&nbsp;audioAttributes,
boolean&nbsp;handleAudioFocus)</pre> boolean&nbsp;handleAudioFocus)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
@ -689,7 +698,8 @@ public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.an
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setWakeMode</h4> <h4>setWakeMode</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;setWakeMode&#8203;(<a href="C.WakeMode.html" title="annotation in com.google.android.exoplayer2">@WakeMode</a> public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;setWakeMode&#8203;(<a href="C.WakeMode.html" title="annotation in com.google.android.exoplayer2">@WakeMode</a>
@com.google.android.exoplayer2.C.WakeMode int&nbsp;wakeMode)</pre> @com.google.android.exoplayer2.C.WakeMode int&nbsp;wakeMode)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
@ -703,7 +713,8 @@ public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.an
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setHandleAudioBecomingNoisy</h4> <h4>setHandleAudioBecomingNoisy</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;setHandleAudioBecomingNoisy&#8203;(boolean&nbsp;handleAudioBecomingNoisy)</pre> public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;setHandleAudioBecomingNoisy&#8203;(boolean&nbsp;handleAudioBecomingNoisy)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#setHandleAudioBecomingNoisy(boolean)"><code>ExoPlayer.Builder.setHandleAudioBecomingNoisy(boolean)</code></a> instead.</div> <div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#setHandleAudioBecomingNoisy(boolean)"><code>ExoPlayer.Builder.setHandleAudioBecomingNoisy(boolean)</code></a> instead.</div>
@ -716,7 +727,8 @@ public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.an
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setSkipSilenceEnabled</h4> <h4>setSkipSilenceEnabled</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;setSkipSilenceEnabled&#8203;(boolean&nbsp;skipSilenceEnabled)</pre> public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;setSkipSilenceEnabled&#8203;(boolean&nbsp;skipSilenceEnabled)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#setSkipSilenceEnabled(boolean)"><code>ExoPlayer.Builder.setSkipSilenceEnabled(boolean)</code></a> instead.</div> <div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#setSkipSilenceEnabled(boolean)"><code>ExoPlayer.Builder.setSkipSilenceEnabled(boolean)</code></a> instead.</div>
@ -729,7 +741,8 @@ public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.an
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setVideoScalingMode</h4> <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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;setVideoScalingMode&#8203;(<a href="C.VideoScalingMode.html" title="annotation in com.google.android.exoplayer2">@VideoScalingMode</a> public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;setVideoScalingMode&#8203;(<a href="C.VideoScalingMode.html" title="annotation in com.google.android.exoplayer2">@VideoScalingMode</a>
@com.google.android.exoplayer2.C.VideoScalingMode int&nbsp;videoScalingMode)</pre> @com.google.android.exoplayer2.C.VideoScalingMode int&nbsp;videoScalingMode)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
@ -743,7 +756,8 @@ public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.an
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setVideoChangeFrameRateStrategy</h4> <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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;setVideoChangeFrameRateStrategy&#8203;(<a href="C.VideoChangeFrameRateStrategy.html" title="annotation in com.google.android.exoplayer2">@VideoChangeFrameRateStrategy</a> public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;setVideoChangeFrameRateStrategy&#8203;(<a href="C.VideoChangeFrameRateStrategy.html" title="annotation in com.google.android.exoplayer2">@VideoChangeFrameRateStrategy</a>
@com.google.android.exoplayer2.C.VideoChangeFrameRateStrategy int&nbsp;videoChangeFrameRateStrategy)</pre> @com.google.android.exoplayer2.C.VideoChangeFrameRateStrategy int&nbsp;videoChangeFrameRateStrategy)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
@ -757,7 +771,8 @@ public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.an
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setUseLazyPreparation</h4> <h4>setUseLazyPreparation</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;setUseLazyPreparation&#8203;(boolean&nbsp;useLazyPreparation)</pre> public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;setUseLazyPreparation&#8203;(boolean&nbsp;useLazyPreparation)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#setUseLazyPreparation(boolean)"><code>ExoPlayer.Builder.setUseLazyPreparation(boolean)</code></a> instead.</div> <div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#setUseLazyPreparation(boolean)"><code>ExoPlayer.Builder.setUseLazyPreparation(boolean)</code></a> instead.</div>
@ -770,7 +785,8 @@ public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.an
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setSeekParameters</h4> <h4>setSeekParameters</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;setSeekParameters&#8203;(<a href="SeekParameters.html" title="class in com.google.android.exoplayer2">SeekParameters</a>&nbsp;seekParameters)</pre> public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;setSeekParameters&#8203;(<a href="SeekParameters.html" title="class in com.google.android.exoplayer2">SeekParameters</a>&nbsp;seekParameters)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#setSeekParameters(com.google.android.exoplayer2.SeekParameters)"><code>ExoPlayer.Builder.setSeekParameters(SeekParameters)</code></a> instead.</div> <div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#setSeekParameters(com.google.android.exoplayer2.SeekParameters)"><code>ExoPlayer.Builder.setSeekParameters(SeekParameters)</code></a> instead.</div>
@ -783,7 +799,8 @@ public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.an
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setSeekBackIncrementMs</h4> <h4>setSeekBackIncrementMs</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;setSeekBackIncrementMs&#8203;(@IntRange(from=1L) public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;setSeekBackIncrementMs&#8203;(@IntRange(from=1L)
long&nbsp;seekBackIncrementMs)</pre> long&nbsp;seekBackIncrementMs)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
@ -797,7 +814,8 @@ public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.an
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setSeekForwardIncrementMs</h4> <h4>setSeekForwardIncrementMs</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;setSeekForwardIncrementMs&#8203;(@IntRange(from=1L) public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;setSeekForwardIncrementMs&#8203;(@IntRange(from=1L)
long&nbsp;seekForwardIncrementMs)</pre> long&nbsp;seekForwardIncrementMs)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
@ -811,7 +829,8 @@ public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.an
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setReleaseTimeoutMs</h4> <h4>setReleaseTimeoutMs</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;setReleaseTimeoutMs&#8203;(long&nbsp;releaseTimeoutMs)</pre> public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;setReleaseTimeoutMs&#8203;(long&nbsp;releaseTimeoutMs)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#setReleaseTimeoutMs(long)"><code>ExoPlayer.Builder.setReleaseTimeoutMs(long)</code></a> instead.</div> <div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#setReleaseTimeoutMs(long)"><code>ExoPlayer.Builder.setReleaseTimeoutMs(long)</code></a> instead.</div>
@ -824,7 +843,8 @@ public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.an
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setDetachSurfaceTimeoutMs</h4> <h4>setDetachSurfaceTimeoutMs</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;setDetachSurfaceTimeoutMs&#8203;(long&nbsp;detachSurfaceTimeoutMs)</pre> public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;setDetachSurfaceTimeoutMs&#8203;(long&nbsp;detachSurfaceTimeoutMs)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#setDetachSurfaceTimeoutMs(long)"><code>ExoPlayer.Builder.setDetachSurfaceTimeoutMs(long)</code></a> instead.</div> <div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#setDetachSurfaceTimeoutMs(long)"><code>ExoPlayer.Builder.setDetachSurfaceTimeoutMs(long)</code></a> instead.</div>
@ -837,7 +857,8 @@ public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.an
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setPauseAtEndOfMediaItems</h4> <h4>setPauseAtEndOfMediaItems</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;setPauseAtEndOfMediaItems&#8203;(boolean&nbsp;pauseAtEndOfMediaItems)</pre> public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;setPauseAtEndOfMediaItems&#8203;(boolean&nbsp;pauseAtEndOfMediaItems)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#setPauseAtEndOfMediaItems(boolean)"><code>ExoPlayer.Builder.setPauseAtEndOfMediaItems(boolean)</code></a> instead.</div> <div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#setPauseAtEndOfMediaItems(boolean)"><code>ExoPlayer.Builder.setPauseAtEndOfMediaItems(boolean)</code></a> instead.</div>
@ -850,7 +871,8 @@ public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.an
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setLivePlaybackSpeedControl</h4> <h4>setLivePlaybackSpeedControl</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;setLivePlaybackSpeedControl&#8203;(<a href="LivePlaybackSpeedControl.html" title="interface in com.google.android.exoplayer2">LivePlaybackSpeedControl</a>&nbsp;livePlaybackSpeedControl)</pre> public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;setLivePlaybackSpeedControl&#8203;(<a href="LivePlaybackSpeedControl.html" title="interface in com.google.android.exoplayer2">LivePlaybackSpeedControl</a>&nbsp;livePlaybackSpeedControl)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#setLivePlaybackSpeedControl(com.google.android.exoplayer2.LivePlaybackSpeedControl)"><code>ExoPlayer.Builder.setLivePlaybackSpeedControl(LivePlaybackSpeedControl)</code></a> instead.</div> <div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#setLivePlaybackSpeedControl(com.google.android.exoplayer2.LivePlaybackSpeedControl)"><code>ExoPlayer.Builder.setLivePlaybackSpeedControl(LivePlaybackSpeedControl)</code></a> instead.</div>
@ -863,7 +885,8 @@ public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.an
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setClock</h4> <h4>setClock</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> <pre class="methodSignature">@CanIgnoreReturnValue
<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&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;setClock&#8203;(<a href="util/Clock.html" title="interface in com.google.android.exoplayer2.util">Clock</a>&nbsp;clock)</pre> public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a>&nbsp;setClock&#8203;(<a href="util/Clock.html" title="interface in com.google.android.exoplayer2.util">Clock</a>&nbsp;clock)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#setClock(com.google.android.exoplayer2.util.Clock)"><code>ExoPlayer.Builder.setClock(Clock)</code></a> instead.</div> <div class="deprecationComment">Use <a href="ExoPlayer.Builder.html#setClock(com.google.android.exoplayer2.util.Clock)"><code>ExoPlayer.Builder.setClock(Clock)</code></a> instead.</div>

View File

@ -25,7 +25,7 @@
catch(err) { catch(err) {
} }
//--> //-->
var data = {"i0":42,"i1":42,"i2":42,"i3":42,"i4":42,"i5":42,"i6":42,"i7":42,"i8":42,"i9":42,"i10":42,"i11":42,"i12":42,"i13":42,"i14":42,"i15":42,"i16":42,"i17":42,"i18":42,"i19":42,"i20":42,"i21":42,"i22":42,"i23":42,"i24":42,"i25":42,"i26":42,"i27":42,"i28":42,"i29":42,"i30":42,"i31":42,"i32":42,"i33":42,"i34":42,"i35":42,"i36":42,"i37":42,"i38":42,"i39":42,"i40":42,"i41":42,"i42":42,"i43":42,"i44":42,"i45":42,"i46":42,"i47":42,"i48":42,"i49":42,"i50":42,"i51":42,"i52":42,"i53":42,"i54":42,"i55":42,"i56":42,"i57":42,"i58":42,"i59":42,"i60":42,"i61":42,"i62":42,"i63":42,"i64":42,"i65":42,"i66":42,"i67":42,"i68":42,"i69":42,"i70":42,"i71":42,"i72":42,"i73":42,"i74":42,"i75":42,"i76":42,"i77":42,"i78":42,"i79":42,"i80":42,"i81":42,"i82":42,"i83":42,"i84":42,"i85":42,"i86":42,"i87":42,"i88":42,"i89":42,"i90":42,"i91":42,"i92":42,"i93":42,"i94":42,"i95":42,"i96":42,"i97":42,"i98":42,"i99":42,"i100":42,"i101":42,"i102":42,"i103":42,"i104":42,"i105":42,"i106":42,"i107":42,"i108":42,"i109":42,"i110":42,"i111":42,"i112":42,"i113":42,"i114":42,"i115":42,"i116":42,"i117":42,"i118":42,"i119":42,"i120":42,"i121":42,"i122":42,"i123":42,"i124":42,"i125":42,"i126":42,"i127":42,"i128":42,"i129":42}; var data = {"i0":42,"i1":42,"i2":42,"i3":42,"i4":42,"i5":42,"i6":42,"i7":42,"i8":42,"i9":42,"i10":42,"i11":42,"i12":42,"i13":42,"i14":42,"i15":42,"i16":42,"i17":42,"i18":42,"i19":42,"i20":42,"i21":42,"i22":42,"i23":42,"i24":42,"i25":42,"i26":42,"i27":42,"i28":42,"i29":42,"i30":42,"i31":42,"i32":42,"i33":42,"i34":42,"i35":42,"i36":42,"i37":42,"i38":42,"i39":42,"i40":42,"i41":42,"i42":42,"i43":42,"i44":42,"i45":42,"i46":42,"i47":42,"i48":42,"i49":42,"i50":42,"i51":42,"i52":42,"i53":42,"i54":42,"i55":42,"i56":42,"i57":42,"i58":42,"i59":42,"i60":42,"i61":42,"i62":42,"i63":42,"i64":42,"i65":42,"i66":42,"i67":42,"i68":42,"i69":42,"i70":42,"i71":42,"i72":42,"i73":42,"i74":42,"i75":42,"i76":42,"i77":42,"i78":42,"i79":42,"i80":42,"i81":42,"i82":42,"i83":42,"i84":42,"i85":42,"i86":42,"i87":42,"i88":42,"i89":42,"i90":42,"i91":42,"i92":42,"i93":42,"i94":42,"i95":42,"i96":42,"i97":42,"i98":42,"i99":42,"i100":42,"i101":42,"i102":42,"i103":42,"i104":42,"i105":42,"i106":42,"i107":42,"i108":42,"i109":42,"i110":42,"i111":42,"i112":42,"i113":42,"i114":42,"i115":42,"i116":42,"i117":42,"i118":42,"i119":42,"i120":42,"i121":42,"i122":42,"i123":42,"i124":42,"i125":42,"i126":42,"i127":42,"i128":42,"i129":42,"i130":42,"i131":42,"i132":42};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]}; var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
var altColor = "altColor"; var altColor = "altColor";
var rowColor = "rowColor"; var rowColor = "rowColor";
@ -823,6 +823,14 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
</td> </td>
</tr> </tr>
<tr id="i65" class="rowColor"> <tr id="i65" class="rowColor">
<td class="colFirst"><code><a href="util/Size.html" title="class in com.google.android.exoplayer2.util">Size</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSurfaceSize()">getSurfaceSize</a></span>()</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Gets the size of the surface on which the video is rendered.</div>
</td>
</tr>
<tr id="i66" class="altColor">
<td class="colFirst"><code><a href="ExoPlayer.TextComponent.html" title="interface in com.google.android.exoplayer2">ExoPlayer.TextComponent</a></code></td> <td class="colFirst"><code><a href="ExoPlayer.TextComponent.html" title="interface in com.google.android.exoplayer2">ExoPlayer.TextComponent</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTextComponent()">getTextComponent</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTextComponent()">getTextComponent</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -832,7 +840,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
</div> </div>
</td> </td>
</tr> </tr>
<tr id="i66" class="altColor"> <tr id="i67" class="rowColor">
<td class="colFirst"><code>long</code></td> <td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTotalBufferedDuration()">getTotalBufferedDuration</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTotalBufferedDuration()">getTotalBufferedDuration</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -840,7 +848,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Returns an estimate of the total buffered duration from the current position, in milliseconds.</div> <div class="block">Returns an estimate of the total buffered duration from the current position, in milliseconds.</div>
</td> </td>
</tr> </tr>
<tr id="i67" class="rowColor"> <tr id="i68" class="altColor">
<td class="colFirst"><code><a href="trackselection/TrackSelectionParameters.html" title="class in com.google.android.exoplayer2.trackselection">TrackSelectionParameters</a></code></td> <td class="colFirst"><code><a href="trackselection/TrackSelectionParameters.html" title="class in com.google.android.exoplayer2.trackselection">TrackSelectionParameters</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTrackSelectionParameters()">getTrackSelectionParameters</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTrackSelectionParameters()">getTrackSelectionParameters</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -848,7 +856,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Returns the parameters constraining the track selection.</div> <div class="block">Returns the parameters constraining the track selection.</div>
</td> </td>
</tr> </tr>
<tr id="i68" class="altColor"> <tr id="i69" class="rowColor">
<td class="colFirst"><code><a href="trackselection/TrackSelector.html" title="class in com.google.android.exoplayer2.trackselection">TrackSelector</a></code></td> <td class="colFirst"><code><a href="trackselection/TrackSelector.html" title="class in com.google.android.exoplayer2.trackselection">TrackSelector</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTrackSelector()">getTrackSelector</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTrackSelector()">getTrackSelector</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -856,7 +864,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Returns the track selector that this player uses, or null if track selection is not supported.</div> <div class="block">Returns the track selector that this player uses, or null if track selection is not supported.</div>
</td> </td>
</tr> </tr>
<tr id="i69" class="rowColor"> <tr id="i70" class="altColor">
<td class="colFirst"><code>@com.google.android.exoplayer2.C.VideoChangeFrameRateStrategy 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> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVideoChangeFrameRateStrategy()">getVideoChangeFrameRateStrategy</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -864,7 +872,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Returns the <a href="C.VideoChangeFrameRateStrategy.html" title="annotation in com.google.android.exoplayer2"><code>C.VideoChangeFrameRateStrategy</code></a>.</div> <div class="block">Returns the <a href="C.VideoChangeFrameRateStrategy.html" title="annotation in com.google.android.exoplayer2"><code>C.VideoChangeFrameRateStrategy</code></a>.</div>
</td> </td>
</tr> </tr>
<tr id="i70" class="altColor"> <tr id="i71" class="rowColor">
<td class="colFirst"><code><a href="ExoPlayer.VideoComponent.html" title="interface in com.google.android.exoplayer2">ExoPlayer.VideoComponent</a></code></td> <td class="colFirst"><code><a href="ExoPlayer.VideoComponent.html" title="interface in com.google.android.exoplayer2">ExoPlayer.VideoComponent</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVideoComponent()">getVideoComponent</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVideoComponent()">getVideoComponent</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -874,7 +882,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
</div> </div>
</td> </td>
</tr> </tr>
<tr id="i71" class="rowColor"> <tr id="i72" class="altColor">
<td class="colFirst"><code><a href="decoder/DecoderCounters.html" title="class in com.google.android.exoplayer2.decoder">DecoderCounters</a></code></td> <td class="colFirst"><code><a href="decoder/DecoderCounters.html" title="class in com.google.android.exoplayer2.decoder">DecoderCounters</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVideoDecoderCounters()">getVideoDecoderCounters</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVideoDecoderCounters()">getVideoDecoderCounters</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -882,7 +890,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Returns <a href="decoder/DecoderCounters.html" title="class in com.google.android.exoplayer2.decoder"><code>DecoderCounters</code></a> for video, or null if no video is being played.</div> <div class="block">Returns <a href="decoder/DecoderCounters.html" title="class in com.google.android.exoplayer2.decoder"><code>DecoderCounters</code></a> for video, or null if no video is being played.</div>
</td> </td>
</tr> </tr>
<tr id="i72" class="altColor"> <tr id="i73" class="rowColor">
<td class="colFirst"><code><a href="Format.html" title="class in com.google.android.exoplayer2">Format</a></code></td> <td class="colFirst"><code><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="#getVideoFormat()">getVideoFormat</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVideoFormat()">getVideoFormat</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -890,7 +898,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Returns the video format currently being played, or null if no video is being played.</div> <div class="block">Returns the video format currently being played, or null if no video is being played.</div>
</td> </td>
</tr> </tr>
<tr id="i73" class="rowColor"> <tr id="i74" class="altColor">
<td class="colFirst"><code>@com.google.android.exoplayer2.C.VideoScalingMode 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> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVideoScalingMode()">getVideoScalingMode</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -898,7 +906,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Returns the <a href="C.VideoScalingMode.html" title="annotation in com.google.android.exoplayer2"><code>C.VideoScalingMode</code></a>.</div> <div class="block">Returns the <a href="C.VideoScalingMode.html" title="annotation in com.google.android.exoplayer2"><code>C.VideoScalingMode</code></a>.</div>
</td> </td>
</tr> </tr>
<tr id="i74" class="altColor"> <tr id="i75" class="rowColor">
<td class="colFirst"><code><a href="video/VideoSize.html" title="class in com.google.android.exoplayer2.video">VideoSize</a></code></td> <td class="colFirst"><code><a href="video/VideoSize.html" title="class in com.google.android.exoplayer2.video">VideoSize</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVideoSize()">getVideoSize</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVideoSize()">getVideoSize</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -906,7 +914,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Gets the size of the video.</div> <div class="block">Gets the size of the video.</div>
</td> </td>
</tr> </tr>
<tr id="i75" class="rowColor"> <tr id="i76" class="altColor">
<td class="colFirst"><code>float</code></td> <td class="colFirst"><code>float</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVolume()">getVolume</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVolume()">getVolume</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -914,7 +922,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Returns the audio volume, with 0 being silence and 1 being unity gain (signal unchanged).</div> <div class="block">Returns the audio volume, with 0 being silence and 1 being unity gain (signal unchanged).</div>
</td> </td>
</tr> </tr>
<tr id="i76" class="altColor"> <tr id="i77" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#increaseDeviceVolume()">increaseDeviceVolume</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#increaseDeviceVolume()">increaseDeviceVolume</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -922,7 +930,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Increases the volume of the device.</div> <div class="block">Increases the volume of the device.</div>
</td> </td>
</tr> </tr>
<tr id="i77" class="rowColor"> <tr id="i78" class="altColor">
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isDeviceMuted()">isDeviceMuted</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isDeviceMuted()">isDeviceMuted</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -930,7 +938,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Gets whether the device is muted or not.</div> <div class="block">Gets whether the device is muted or not.</div>
</td> </td>
</tr> </tr>
<tr id="i78" class="altColor"> <tr id="i79" class="rowColor">
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isLoading()">isLoading</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isLoading()">isLoading</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -938,7 +946,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Whether the player is currently loading the source.</div> <div class="block">Whether the player is currently loading the source.</div>
</td> </td>
</tr> </tr>
<tr id="i79" class="rowColor"> <tr id="i80" class="altColor">
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isPlayingAd()">isPlayingAd</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isPlayingAd()">isPlayingAd</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -946,7 +954,16 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Returns whether the player is currently playing an ad.</div> <div class="block">Returns whether the player is currently playing an ad.</div>
</td> </td>
</tr> </tr>
<tr id="i80" class="altColor"> <tr id="i81" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isTunnelingEnabled()">isTunnelingEnabled</a></span>()</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns whether <a href="https://source.android.com/devices/tv/multimedia-tunneling">tunneling</a> is enabled for
the currently selected tracks.</div>
</td>
</tr>
<tr id="i82" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#moveMediaItems(int,int,int)">moveMediaItems</a></span>&#8203;(int&nbsp;fromIndex, <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#moveMediaItems(int,int,int)">moveMediaItems</a></span>&#8203;(int&nbsp;fromIndex,
int&nbsp;toIndex, int&nbsp;toIndex,
@ -956,7 +973,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Moves the media item range to the new index.</div> <div class="block">Moves the media item range to the new index.</div>
</td> </td>
</tr> </tr>
<tr id="i81" class="rowColor"> <tr id="i83" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#prepare()">prepare</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#prepare()">prepare</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -964,7 +981,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Prepares the player.</div> <div class="block">Prepares the player.</div>
</td> </td>
</tr> </tr>
<tr id="i82" class="altColor"> <tr id="i84" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#prepare(com.google.android.exoplayer2.source.MediaSource)">prepare</a></span>&#8203;(<a href="source/MediaSource.html" title="interface in com.google.android.exoplayer2.source">MediaSource</a>&nbsp;mediaSource)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#prepare(com.google.android.exoplayer2.source.MediaSource)">prepare</a></span>&#8203;(<a href="source/MediaSource.html" title="interface in com.google.android.exoplayer2.source">MediaSource</a>&nbsp;mediaSource)</code></th>
<td class="colLast"> <td class="colLast">
@ -973,7 +990,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
</div> </div>
</td> </td>
</tr> </tr>
<tr id="i83" class="rowColor"> <tr id="i85" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#prepare(com.google.android.exoplayer2.source.MediaSource,boolean,boolean)">prepare</a></span>&#8203;(<a href="source/MediaSource.html" title="interface in com.google.android.exoplayer2.source">MediaSource</a>&nbsp;mediaSource, <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#prepare(com.google.android.exoplayer2.source.MediaSource,boolean,boolean)">prepare</a></span>&#8203;(<a href="source/MediaSource.html" title="interface in com.google.android.exoplayer2.source">MediaSource</a>&nbsp;mediaSource,
boolean&nbsp;resetPosition, boolean&nbsp;resetPosition,
@ -985,7 +1002,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
</div> </div>
</td> </td>
</tr> </tr>
<tr id="i84" class="altColor"> <tr id="i86" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#release()">release</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#release()">release</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -993,7 +1010,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Releases the player.</div> <div class="block">Releases the player.</div>
</td> </td>
</tr> </tr>
<tr id="i85" class="rowColor"> <tr id="i87" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeAnalyticsListener(com.google.android.exoplayer2.analytics.AnalyticsListener)">removeAnalyticsListener</a></span>&#8203;(<a href="analytics/AnalyticsListener.html" title="interface in com.google.android.exoplayer2.analytics">AnalyticsListener</a>&nbsp;listener)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeAnalyticsListener(com.google.android.exoplayer2.analytics.AnalyticsListener)">removeAnalyticsListener</a></span>&#8203;(<a href="analytics/AnalyticsListener.html" title="interface in com.google.android.exoplayer2.analytics">AnalyticsListener</a>&nbsp;listener)</code></th>
<td class="colLast"> <td class="colLast">
@ -1001,7 +1018,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Removes an <a href="analytics/AnalyticsListener.html" title="interface in com.google.android.exoplayer2.analytics"><code>AnalyticsListener</code></a>.</div> <div class="block">Removes an <a href="analytics/AnalyticsListener.html" title="interface in com.google.android.exoplayer2.analytics"><code>AnalyticsListener</code></a>.</div>
</td> </td>
</tr> </tr>
<tr id="i86" class="altColor"> <tr id="i88" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeAudioOffloadListener(com.google.android.exoplayer2.ExoPlayer.AudioOffloadListener)">removeAudioOffloadListener</a></span>&#8203;(<a href="ExoPlayer.AudioOffloadListener.html" title="interface in com.google.android.exoplayer2">ExoPlayer.AudioOffloadListener</a>&nbsp;listener)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeAudioOffloadListener(com.google.android.exoplayer2.ExoPlayer.AudioOffloadListener)">removeAudioOffloadListener</a></span>&#8203;(<a href="ExoPlayer.AudioOffloadListener.html" title="interface in com.google.android.exoplayer2">ExoPlayer.AudioOffloadListener</a>&nbsp;listener)</code></th>
<td class="colLast"> <td class="colLast">
@ -1009,7 +1026,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Removes a listener of audio offload events.</div> <div class="block">Removes a listener of audio offload events.</div>
</td> </td>
</tr> </tr>
<tr id="i87" class="rowColor"> <tr id="i89" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeListener(com.google.android.exoplayer2.Player.Listener)">removeListener</a></span>&#8203;(<a href="Player.Listener.html" title="interface in com.google.android.exoplayer2">Player.Listener</a>&nbsp;listener)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeListener(com.google.android.exoplayer2.Player.Listener)">removeListener</a></span>&#8203;(<a href="Player.Listener.html" title="interface in com.google.android.exoplayer2">Player.Listener</a>&nbsp;listener)</code></th>
<td class="colLast"> <td class="colLast">
@ -1017,7 +1034,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Unregister a listener registered through <a href="Player.html#addListener(com.google.android.exoplayer2.Player.Listener)"><code>Player.addListener(Listener)</code></a>.</div> <div class="block">Unregister a listener registered through <a href="Player.html#addListener(com.google.android.exoplayer2.Player.Listener)"><code>Player.addListener(Listener)</code></a>.</div>
</td> </td>
</tr> </tr>
<tr id="i88" class="altColor"> <tr id="i90" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeMediaItems(int,int)">removeMediaItems</a></span>&#8203;(int&nbsp;fromIndex, <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeMediaItems(int,int)">removeMediaItems</a></span>&#8203;(int&nbsp;fromIndex,
int&nbsp;toIndex)</code></th> int&nbsp;toIndex)</code></th>
@ -1026,7 +1043,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Removes a range of media items from the playlist.</div> <div class="block">Removes a range of media items from the playlist.</div>
</td> </td>
</tr> </tr>
<tr id="i89" class="rowColor"> <tr id="i91" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#retry()">retry</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#retry()">retry</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -1035,7 +1052,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
</div> </div>
</td> </td>
</tr> </tr>
<tr id="i90" class="altColor"> <tr id="i92" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekTo(int,long)">seekTo</a></span>&#8203;(int&nbsp;mediaItemIndex, <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekTo(int,long)">seekTo</a></span>&#8203;(int&nbsp;mediaItemIndex,
long&nbsp;positionMs)</code></th> long&nbsp;positionMs)</code></th>
@ -1044,7 +1061,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Seeks to a position specified in milliseconds in the specified <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a>.</div> <div class="block">Seeks to a position specified in milliseconds in the specified <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a>.</div>
</td> </td>
</tr> </tr>
<tr id="i91" class="rowColor"> <tr id="i93" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setAudioAttributes(com.google.android.exoplayer2.audio.AudioAttributes,boolean)">setAudioAttributes</a></span>&#8203;(<a href="audio/AudioAttributes.html" title="class in com.google.android.exoplayer2.audio">AudioAttributes</a>&nbsp;audioAttributes, <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setAudioAttributes(com.google.android.exoplayer2.audio.AudioAttributes,boolean)">setAudioAttributes</a></span>&#8203;(<a href="audio/AudioAttributes.html" title="class in com.google.android.exoplayer2.audio">AudioAttributes</a>&nbsp;audioAttributes,
boolean&nbsp;handleAudioFocus)</code></th> boolean&nbsp;handleAudioFocus)</code></th>
@ -1053,7 +1070,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Sets the attributes for audio playback, used by the underlying audio track.</div> <div class="block">Sets the attributes for audio playback, used by the underlying audio track.</div>
</td> </td>
</tr> </tr>
<tr id="i92" class="altColor"> <tr id="i94" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setAudioSessionId(int)">setAudioSessionId</a></span>&#8203;(int&nbsp;audioSessionId)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setAudioSessionId(int)">setAudioSessionId</a></span>&#8203;(int&nbsp;audioSessionId)</code></th>
<td class="colLast"> <td class="colLast">
@ -1061,7 +1078,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Sets the ID of the audio session to attach to the underlying <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a>.</div> <div class="block">Sets the ID of the audio session to attach to the underlying <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a>.</div>
</td> </td>
</tr> </tr>
<tr id="i93" class="rowColor"> <tr id="i95" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setAuxEffectInfo(com.google.android.exoplayer2.audio.AuxEffectInfo)">setAuxEffectInfo</a></span>&#8203;(<a href="audio/AuxEffectInfo.html" title="class in com.google.android.exoplayer2.audio">AuxEffectInfo</a>&nbsp;auxEffectInfo)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setAuxEffectInfo(com.google.android.exoplayer2.audio.AuxEffectInfo)">setAuxEffectInfo</a></span>&#8203;(<a href="audio/AuxEffectInfo.html" title="class in com.google.android.exoplayer2.audio">AuxEffectInfo</a>&nbsp;auxEffectInfo)</code></th>
<td class="colLast"> <td class="colLast">
@ -1069,7 +1086,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Sets information on an auxiliary audio effect to attach to the underlying audio track.</div> <div class="block">Sets information on an auxiliary audio effect to attach to the underlying audio track.</div>
</td> </td>
</tr> </tr>
<tr id="i94" class="altColor"> <tr id="i96" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setCameraMotionListener(com.google.android.exoplayer2.video.spherical.CameraMotionListener)">setCameraMotionListener</a></span>&#8203;(<a href="video/spherical/CameraMotionListener.html" title="interface in com.google.android.exoplayer2.video.spherical">CameraMotionListener</a>&nbsp;listener)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setCameraMotionListener(com.google.android.exoplayer2.video.spherical.CameraMotionListener)">setCameraMotionListener</a></span>&#8203;(<a href="video/spherical/CameraMotionListener.html" title="interface in com.google.android.exoplayer2.video.spherical">CameraMotionListener</a>&nbsp;listener)</code></th>
<td class="colLast"> <td class="colLast">
@ -1077,7 +1094,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Sets a listener of camera motion events.</div> <div class="block">Sets a listener of camera motion events.</div>
</td> </td>
</tr> </tr>
<tr id="i95" class="rowColor"> <tr id="i97" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDeviceMuted(boolean)">setDeviceMuted</a></span>&#8203;(boolean&nbsp;muted)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDeviceMuted(boolean)">setDeviceMuted</a></span>&#8203;(boolean&nbsp;muted)</code></th>
<td class="colLast"> <td class="colLast">
@ -1085,7 +1102,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Sets the mute state of the device.</div> <div class="block">Sets the mute state of the device.</div>
</td> </td>
</tr> </tr>
<tr id="i96" class="altColor"> <tr id="i98" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDeviceVolume(int)">setDeviceVolume</a></span>&#8203;(int&nbsp;volume)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDeviceVolume(int)">setDeviceVolume</a></span>&#8203;(int&nbsp;volume)</code></th>
<td class="colLast"> <td class="colLast">
@ -1093,7 +1110,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Sets the volume of the device.</div> <div class="block">Sets the volume of the device.</div>
</td> </td>
</tr> </tr>
<tr id="i97" class="rowColor"> <tr id="i99" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setForegroundMode(boolean)">setForegroundMode</a></span>&#8203;(boolean&nbsp;foregroundMode)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setForegroundMode(boolean)">setForegroundMode</a></span>&#8203;(boolean&nbsp;foregroundMode)</code></th>
<td class="colLast"> <td class="colLast">
@ -1102,7 +1119,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
even when in the idle state.</div> even when in the idle state.</div>
</td> </td>
</tr> </tr>
<tr id="i98" class="altColor"> <tr id="i100" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setHandleAudioBecomingNoisy(boolean)">setHandleAudioBecomingNoisy</a></span>&#8203;(boolean&nbsp;handleAudioBecomingNoisy)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setHandleAudioBecomingNoisy(boolean)">setHandleAudioBecomingNoisy</a></span>&#8203;(boolean&nbsp;handleAudioBecomingNoisy)</code></th>
<td class="colLast"> <td class="colLast">
@ -1111,7 +1128,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
device speakers.</div> device speakers.</div>
</td> </td>
</tr> </tr>
<tr id="i99" class="rowColor"> <tr id="i101" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setHandleWakeLock(boolean)">setHandleWakeLock</a></span>&#8203;(boolean&nbsp;handleWakeLock)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setHandleWakeLock(boolean)">setHandleWakeLock</a></span>&#8203;(boolean&nbsp;handleWakeLock)</code></th>
<td class="colLast"> <td class="colLast">
@ -1120,7 +1137,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
</div> </div>
</td> </td>
</tr> </tr>
<tr id="i100" class="altColor"> <tr id="i102" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaItems(java.util.List,boolean)">setMediaItems</a></span>&#8203;(<a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="MediaItem.html" title="class in com.google.android.exoplayer2" target="_top">MediaItem</a>&gt;&nbsp;mediaItems, <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaItems(java.util.List,boolean)">setMediaItems</a></span>&#8203;(<a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="MediaItem.html" title="class in com.google.android.exoplayer2" target="_top">MediaItem</a>&gt;&nbsp;mediaItems,
boolean&nbsp;resetPosition)</code></th> boolean&nbsp;resetPosition)</code></th>
@ -1129,7 +1146,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Clears the playlist and adds the specified <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItems</code></a>.</div> <div class="block">Clears the playlist and adds the specified <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItems</code></a>.</div>
</td> </td>
</tr> </tr>
<tr id="i101" class="rowColor"> <tr id="i103" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaItems(java.util.List,int,long)">setMediaItems</a></span>&#8203;(<a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="MediaItem.html" title="class in com.google.android.exoplayer2" target="_top">MediaItem</a>&gt;&nbsp;mediaItems, <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaItems(java.util.List,int,long)">setMediaItems</a></span>&#8203;(<a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="MediaItem.html" title="class in com.google.android.exoplayer2" target="_top">MediaItem</a>&gt;&nbsp;mediaItems,
int&nbsp;startIndex, int&nbsp;startIndex,
@ -1139,7 +1156,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Clears the playlist and adds the specified <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItems</code></a>.</div> <div class="block">Clears the playlist and adds the specified <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItems</code></a>.</div>
</td> </td>
</tr> </tr>
<tr id="i102" class="altColor"> <tr id="i104" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaSource(com.google.android.exoplayer2.source.MediaSource)">setMediaSource</a></span>&#8203;(<a href="source/MediaSource.html" title="interface in com.google.android.exoplayer2.source">MediaSource</a>&nbsp;mediaSource)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaSource(com.google.android.exoplayer2.source.MediaSource)">setMediaSource</a></span>&#8203;(<a href="source/MediaSource.html" title="interface in com.google.android.exoplayer2.source">MediaSource</a>&nbsp;mediaSource)</code></th>
<td class="colLast"> <td class="colLast">
@ -1148,7 +1165,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
default position.</div> default position.</div>
</td> </td>
</tr> </tr>
<tr id="i103" class="rowColor"> <tr id="i105" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaSource(com.google.android.exoplayer2.source.MediaSource,boolean)">setMediaSource</a></span>&#8203;(<a href="source/MediaSource.html" title="interface in com.google.android.exoplayer2.source">MediaSource</a>&nbsp;mediaSource, <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaSource(com.google.android.exoplayer2.source.MediaSource,boolean)">setMediaSource</a></span>&#8203;(<a href="source/MediaSource.html" title="interface in com.google.android.exoplayer2.source">MediaSource</a>&nbsp;mediaSource,
boolean&nbsp;resetPosition)</code></th> boolean&nbsp;resetPosition)</code></th>
@ -1157,7 +1174,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Clears the playlist and adds the specified <a href="source/MediaSource.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSource</code></a>.</div> <div class="block">Clears the playlist and adds the specified <a href="source/MediaSource.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSource</code></a>.</div>
</td> </td>
</tr> </tr>
<tr id="i104" class="altColor"> <tr id="i106" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaSource(com.google.android.exoplayer2.source.MediaSource,long)">setMediaSource</a></span>&#8203;(<a href="source/MediaSource.html" title="interface in com.google.android.exoplayer2.source">MediaSource</a>&nbsp;mediaSource, <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaSource(com.google.android.exoplayer2.source.MediaSource,long)">setMediaSource</a></span>&#8203;(<a href="source/MediaSource.html" title="interface in com.google.android.exoplayer2.source">MediaSource</a>&nbsp;mediaSource,
long&nbsp;startPositionMs)</code></th> long&nbsp;startPositionMs)</code></th>
@ -1166,7 +1183,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Clears the playlist and adds the specified <a href="source/MediaSource.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSource</code></a>.</div> <div class="block">Clears the playlist and adds the specified <a href="source/MediaSource.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSource</code></a>.</div>
</td> </td>
</tr> </tr>
<tr id="i105" class="rowColor"> <tr id="i107" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaSources(java.util.List)">setMediaSources</a></span>&#8203;(<a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="source/MediaSource.html" title="interface in com.google.android.exoplayer2.source" target="_top">MediaSource</a>&gt;&nbsp;mediaSources)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaSources(java.util.List)">setMediaSources</a></span>&#8203;(<a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="source/MediaSource.html" title="interface in com.google.android.exoplayer2.source" target="_top">MediaSource</a>&gt;&nbsp;mediaSources)</code></th>
<td class="colLast"> <td class="colLast">
@ -1175,7 +1192,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
position to the default position.</div> position to the default position.</div>
</td> </td>
</tr> </tr>
<tr id="i106" class="altColor"> <tr id="i108" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaSources(java.util.List,boolean)">setMediaSources</a></span>&#8203;(<a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="source/MediaSource.html" title="interface in com.google.android.exoplayer2.source" target="_top">MediaSource</a>&gt;&nbsp;mediaSources, <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaSources(java.util.List,boolean)">setMediaSources</a></span>&#8203;(<a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="source/MediaSource.html" title="interface in com.google.android.exoplayer2.source" target="_top">MediaSource</a>&gt;&nbsp;mediaSources,
boolean&nbsp;resetPosition)</code></th> boolean&nbsp;resetPosition)</code></th>
@ -1184,7 +1201,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Clears the playlist and adds the specified <a href="source/MediaSource.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSources</code></a>.</div> <div class="block">Clears the playlist and adds the specified <a href="source/MediaSource.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSources</code></a>.</div>
</td> </td>
</tr> </tr>
<tr id="i107" class="rowColor"> <tr id="i109" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaSources(java.util.List,int,long)">setMediaSources</a></span>&#8203;(<a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="source/MediaSource.html" title="interface in com.google.android.exoplayer2.source" target="_top">MediaSource</a>&gt;&nbsp;mediaSources, <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMediaSources(java.util.List,int,long)">setMediaSources</a></span>&#8203;(<a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="source/MediaSource.html" title="interface in com.google.android.exoplayer2.source" target="_top">MediaSource</a>&gt;&nbsp;mediaSources,
int&nbsp;startMediaItemIndex, int&nbsp;startMediaItemIndex,
@ -1194,7 +1211,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Clears the playlist and adds the specified <a href="source/MediaSource.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSources</code></a>.</div> <div class="block">Clears the playlist and adds the specified <a href="source/MediaSource.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSources</code></a>.</div>
</td> </td>
</tr> </tr>
<tr id="i108" class="altColor"> <tr id="i110" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPauseAtEndOfMediaItems(boolean)">setPauseAtEndOfMediaItems</a></span>&#8203;(boolean&nbsp;pauseAtEndOfMediaItems)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPauseAtEndOfMediaItems(boolean)">setPauseAtEndOfMediaItems</a></span>&#8203;(boolean&nbsp;pauseAtEndOfMediaItems)</code></th>
<td class="colLast"> <td class="colLast">
@ -1202,7 +1219,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Sets whether to pause playback at the end of each media item.</div> <div class="block">Sets whether to pause playback at the end of each media item.</div>
</td> </td>
</tr> </tr>
<tr id="i109" class="rowColor"> <tr id="i111" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPlaybackParameters(com.google.android.exoplayer2.PlaybackParameters)">setPlaybackParameters</a></span>&#8203;(<a href="PlaybackParameters.html" title="class in com.google.android.exoplayer2">PlaybackParameters</a>&nbsp;playbackParameters)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPlaybackParameters(com.google.android.exoplayer2.PlaybackParameters)">setPlaybackParameters</a></span>&#8203;(<a href="PlaybackParameters.html" title="class in com.google.android.exoplayer2">PlaybackParameters</a>&nbsp;playbackParameters)</code></th>
<td class="colLast"> <td class="colLast">
@ -1210,7 +1227,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Attempts to set the playback parameters.</div> <div class="block">Attempts to set the playback parameters.</div>
</td> </td>
</tr> </tr>
<tr id="i110" class="altColor"> <tr id="i112" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPlaylistMetadata(com.google.android.exoplayer2.MediaMetadata)">setPlaylistMetadata</a></span>&#8203;(<a href="MediaMetadata.html" title="class in com.google.android.exoplayer2">MediaMetadata</a>&nbsp;mediaMetadata)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPlaylistMetadata(com.google.android.exoplayer2.MediaMetadata)">setPlaylistMetadata</a></span>&#8203;(<a href="MediaMetadata.html" title="class in com.google.android.exoplayer2">MediaMetadata</a>&nbsp;mediaMetadata)</code></th>
<td class="colLast"> <td class="colLast">
@ -1218,7 +1235,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Sets the playlist <a href="MediaMetadata.html" title="class in com.google.android.exoplayer2"><code>MediaMetadata</code></a>.</div> <div class="block">Sets the playlist <a href="MediaMetadata.html" title="class in com.google.android.exoplayer2"><code>MediaMetadata</code></a>.</div>
</td> </td>
</tr> </tr>
<tr id="i111" class="rowColor"> <tr id="i113" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPlayWhenReady(boolean)">setPlayWhenReady</a></span>&#8203;(boolean&nbsp;playWhenReady)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPlayWhenReady(boolean)">setPlayWhenReady</a></span>&#8203;(boolean&nbsp;playWhenReady)</code></th>
<td class="colLast"> <td class="colLast">
@ -1226,7 +1243,15 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Sets whether playback should proceed when <a href="Player.html#getPlaybackState()"><code>Player.getPlaybackState()</code></a> == <a href="Player.html#STATE_READY"><code>Player.STATE_READY</code></a>.</div> <div class="block">Sets whether playback should proceed when <a href="Player.html#getPlaybackState()"><code>Player.getPlaybackState()</code></a> == <a href="Player.html#STATE_READY"><code>Player.STATE_READY</code></a>.</div>
</td> </td>
</tr> </tr>
<tr id="i112" class="altColor"> <tr id="i114" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPreferredAudioDevice(android.media.AudioDeviceInfo)">setPreferredAudioDevice</a></span>&#8203;(<a href="https://developer.android.com/reference/android/media/AudioDeviceInfo.html" title="class or interface in android.media" class="externalLink" target="_top">AudioDeviceInfo</a>&nbsp;audioDeviceInfo)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Sets the preferred audio device.</div>
</td>
</tr>
<tr id="i115" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPriorityTaskManager(com.google.android.exoplayer2.util.PriorityTaskManager)">setPriorityTaskManager</a></span>&#8203;(<a href="util/PriorityTaskManager.html" title="class in com.google.android.exoplayer2.util">PriorityTaskManager</a>&nbsp;priorityTaskManager)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPriorityTaskManager(com.google.android.exoplayer2.util.PriorityTaskManager)">setPriorityTaskManager</a></span>&#8203;(<a href="util/PriorityTaskManager.html" title="class in com.google.android.exoplayer2.util">PriorityTaskManager</a>&nbsp;priorityTaskManager)</code></th>
<td class="colLast"> <td class="colLast">
@ -1234,7 +1259,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Sets a <a href="util/PriorityTaskManager.html" title="class in com.google.android.exoplayer2.util"><code>PriorityTaskManager</code></a>, or null to clear a previously set priority task manager.</div> <div class="block">Sets a <a href="util/PriorityTaskManager.html" title="class in com.google.android.exoplayer2.util"><code>PriorityTaskManager</code></a>, or null to clear a previously set priority task manager.</div>
</td> </td>
</tr> </tr>
<tr id="i113" class="rowColor"> <tr id="i116" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setRepeatMode(@com.google.android.exoplayer2.Player.RepeatModeint)">setRepeatMode</a></span>&#8203;(@com.google.android.exoplayer2.Player.RepeatMode int&nbsp;repeatMode)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setRepeatMode(@com.google.android.exoplayer2.Player.RepeatModeint)">setRepeatMode</a></span>&#8203;(@com.google.android.exoplayer2.Player.RepeatMode int&nbsp;repeatMode)</code></th>
<td class="colLast"> <td class="colLast">
@ -1242,7 +1267,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Sets the <a href="Player.RepeatMode.html" title="annotation in com.google.android.exoplayer2"><code>Player.RepeatMode</code></a> to be used for playback.</div> <div class="block">Sets the <a href="Player.RepeatMode.html" title="annotation in com.google.android.exoplayer2"><code>Player.RepeatMode</code></a> to be used for playback.</div>
</td> </td>
</tr> </tr>
<tr id="i114" class="altColor"> <tr id="i117" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSeekParameters(com.google.android.exoplayer2.SeekParameters)">setSeekParameters</a></span>&#8203;(<a href="SeekParameters.html" title="class in com.google.android.exoplayer2">SeekParameters</a>&nbsp;seekParameters)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSeekParameters(com.google.android.exoplayer2.SeekParameters)">setSeekParameters</a></span>&#8203;(<a href="SeekParameters.html" title="class in com.google.android.exoplayer2">SeekParameters</a>&nbsp;seekParameters)</code></th>
<td class="colLast"> <td class="colLast">
@ -1250,7 +1275,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Sets the parameters that control how seek operations are performed.</div> <div class="block">Sets the parameters that control how seek operations are performed.</div>
</td> </td>
</tr> </tr>
<tr id="i115" class="rowColor"> <tr id="i118" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setShuffleModeEnabled(boolean)">setShuffleModeEnabled</a></span>&#8203;(boolean&nbsp;shuffleModeEnabled)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setShuffleModeEnabled(boolean)">setShuffleModeEnabled</a></span>&#8203;(boolean&nbsp;shuffleModeEnabled)</code></th>
<td class="colLast"> <td class="colLast">
@ -1258,7 +1283,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Sets whether shuffling of media items is enabled.</div> <div class="block">Sets whether shuffling of media items is enabled.</div>
</td> </td>
</tr> </tr>
<tr id="i116" class="altColor"> <tr id="i119" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setShuffleOrder(com.google.android.exoplayer2.source.ShuffleOrder)">setShuffleOrder</a></span>&#8203;(<a href="source/ShuffleOrder.html" title="interface in com.google.android.exoplayer2.source">ShuffleOrder</a>&nbsp;shuffleOrder)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setShuffleOrder(com.google.android.exoplayer2.source.ShuffleOrder)">setShuffleOrder</a></span>&#8203;(<a href="source/ShuffleOrder.html" title="interface in com.google.android.exoplayer2.source">ShuffleOrder</a>&nbsp;shuffleOrder)</code></th>
<td class="colLast"> <td class="colLast">
@ -1266,7 +1291,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Sets the shuffle order.</div> <div class="block">Sets the shuffle order.</div>
</td> </td>
</tr> </tr>
<tr id="i117" class="rowColor"> <tr id="i120" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSkipSilenceEnabled(boolean)">setSkipSilenceEnabled</a></span>&#8203;(boolean&nbsp;skipSilenceEnabled)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSkipSilenceEnabled(boolean)">setSkipSilenceEnabled</a></span>&#8203;(boolean&nbsp;skipSilenceEnabled)</code></th>
<td class="colLast"> <td class="colLast">
@ -1274,7 +1299,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Sets whether skipping silences in the audio stream is enabled.</div> <div class="block">Sets whether skipping silences in the audio stream is enabled.</div>
</td> </td>
</tr> </tr>
<tr id="i118" class="altColor"> <tr id="i121" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setTrackSelectionParameters(com.google.android.exoplayer2.trackselection.TrackSelectionParameters)">setTrackSelectionParameters</a></span>&#8203;(<a href="trackselection/TrackSelectionParameters.html" title="class in com.google.android.exoplayer2.trackselection">TrackSelectionParameters</a>&nbsp;parameters)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setTrackSelectionParameters(com.google.android.exoplayer2.trackselection.TrackSelectionParameters)">setTrackSelectionParameters</a></span>&#8203;(<a href="trackselection/TrackSelectionParameters.html" title="class in com.google.android.exoplayer2.trackselection">TrackSelectionParameters</a>&nbsp;parameters)</code></th>
<td class="colLast"> <td class="colLast">
@ -1282,7 +1307,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Sets the parameters constraining the track selection.</div> <div class="block">Sets the parameters constraining the track selection.</div>
</td> </td>
</tr> </tr>
<tr id="i119" class="rowColor"> <tr id="i122" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoChangeFrameRateStrategy(@com.google.android.exoplayer2.C.VideoChangeFrameRateStrategyint)">setVideoChangeFrameRateStrategy</a></span>&#8203;(@com.google.android.exoplayer2.C.VideoChangeFrameRateStrategy int&nbsp;videoChangeFrameRateStrategy)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoChangeFrameRateStrategy(@com.google.android.exoplayer2.C.VideoChangeFrameRateStrategyint)">setVideoChangeFrameRateStrategy</a></span>&#8203;(@com.google.android.exoplayer2.C.VideoChangeFrameRateStrategy int&nbsp;videoChangeFrameRateStrategy)</code></th>
<td class="colLast"> <td class="colLast">
@ -1291,7 +1316,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
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> 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>
</td> </td>
</tr> </tr>
<tr id="i120" class="altColor"> <tr id="i123" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoFrameMetadataListener(com.google.android.exoplayer2.video.VideoFrameMetadataListener)">setVideoFrameMetadataListener</a></span>&#8203;(<a href="video/VideoFrameMetadataListener.html" title="interface in com.google.android.exoplayer2.video">VideoFrameMetadataListener</a>&nbsp;listener)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoFrameMetadataListener(com.google.android.exoplayer2.video.VideoFrameMetadataListener)">setVideoFrameMetadataListener</a></span>&#8203;(<a href="video/VideoFrameMetadataListener.html" title="interface in com.google.android.exoplayer2.video">VideoFrameMetadataListener</a>&nbsp;listener)</code></th>
<td class="colLast"> <td class="colLast">
@ -1299,7 +1324,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Sets a listener to receive video frame metadata events.</div> <div class="block">Sets a listener to receive video frame metadata events.</div>
</td> </td>
</tr> </tr>
<tr id="i121" class="rowColor"> <tr id="i124" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoScalingMode(@com.google.android.exoplayer2.C.VideoScalingModeint)">setVideoScalingMode</a></span>&#8203;(@com.google.android.exoplayer2.C.VideoScalingMode int&nbsp;videoScalingMode)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoScalingMode(@com.google.android.exoplayer2.C.VideoScalingModeint)">setVideoScalingMode</a></span>&#8203;(@com.google.android.exoplayer2.C.VideoScalingMode int&nbsp;videoScalingMode)</code></th>
<td class="colLast"> <td class="colLast">
@ -1307,7 +1332,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Sets the <a href="C.VideoScalingMode.html" title="annotation in com.google.android.exoplayer2"><code>C.VideoScalingMode</code></a>.</div> <div class="block">Sets the <a href="C.VideoScalingMode.html" title="annotation in com.google.android.exoplayer2"><code>C.VideoScalingMode</code></a>.</div>
</td> </td>
</tr> </tr>
<tr id="i122" class="altColor"> <tr id="i125" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoSurface(android.view.Surface)">setVideoSurface</a></span>&#8203;(<a href="https://developer.android.com/reference/android/view/Surface.html" title="class or interface in android.view" class="externalLink" target="_top">Surface</a>&nbsp;surface)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoSurface(android.view.Surface)">setVideoSurface</a></span>&#8203;(<a href="https://developer.android.com/reference/android/view/Surface.html" title="class or interface in android.view" class="externalLink" target="_top">Surface</a>&nbsp;surface)</code></th>
<td class="colLast"> <td class="colLast">
@ -1315,7 +1340,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Sets 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> onto which video will be rendered.</div> <div class="block">Sets 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> onto which video will be rendered.</div>
</td> </td>
</tr> </tr>
<tr id="i123" class="rowColor"> <tr id="i126" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoSurfaceHolder(android.view.SurfaceHolder)">setVideoSurfaceHolder</a></span>&#8203;(<a href="https://developer.android.com/reference/android/view/SurfaceHolder.html" title="class or interface in android.view" class="externalLink" target="_top">SurfaceHolder</a>&nbsp;surfaceHolder)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoSurfaceHolder(android.view.SurfaceHolder)">setVideoSurfaceHolder</a></span>&#8203;(<a href="https://developer.android.com/reference/android/view/SurfaceHolder.html" title="class or interface in android.view" class="externalLink" target="_top">SurfaceHolder</a>&nbsp;surfaceHolder)</code></th>
<td class="colLast"> <td class="colLast">
@ -1324,7 +1349,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
rendered.</div> rendered.</div>
</td> </td>
</tr> </tr>
<tr id="i124" class="altColor"> <tr id="i127" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoSurfaceView(android.view.SurfaceView)">setVideoSurfaceView</a></span>&#8203;(<a href="https://developer.android.com/reference/android/view/SurfaceView.html" title="class or interface in android.view" class="externalLink" target="_top">SurfaceView</a>&nbsp;surfaceView)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoSurfaceView(android.view.SurfaceView)">setVideoSurfaceView</a></span>&#8203;(<a href="https://developer.android.com/reference/android/view/SurfaceView.html" title="class or interface in android.view" class="externalLink" target="_top">SurfaceView</a>&nbsp;surfaceView)</code></th>
<td class="colLast"> <td class="colLast">
@ -1332,7 +1357,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Sets the <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> onto which video will be rendered.</div> <div class="block">Sets the <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> onto which video will be rendered.</div>
</td> </td>
</tr> </tr>
<tr id="i125" class="rowColor"> <tr id="i128" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoTextureView(android.view.TextureView)">setVideoTextureView</a></span>&#8203;(<a href="https://developer.android.com/reference/android/view/TextureView.html" title="class or interface in android.view" class="externalLink" target="_top">TextureView</a>&nbsp;textureView)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVideoTextureView(android.view.TextureView)">setVideoTextureView</a></span>&#8203;(<a href="https://developer.android.com/reference/android/view/TextureView.html" title="class or interface in android.view" class="externalLink" target="_top">TextureView</a>&nbsp;textureView)</code></th>
<td class="colLast"> <td class="colLast">
@ -1340,7 +1365,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Sets the <a href="https://developer.android.com/reference/android/view/TextureView.html" title="class or interface in android.view" class="externalLink" target="_top"><code>TextureView</code></a> onto which video will be rendered.</div> <div class="block">Sets the <a href="https://developer.android.com/reference/android/view/TextureView.html" title="class or interface in android.view" class="externalLink" target="_top"><code>TextureView</code></a> onto which video will be rendered.</div>
</td> </td>
</tr> </tr>
<tr id="i126" class="altColor"> <tr id="i129" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVolume(float)">setVolume</a></span>&#8203;(float&nbsp;volume)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVolume(float)">setVolume</a></span>&#8203;(float&nbsp;volume)</code></th>
<td class="colLast"> <td class="colLast">
@ -1349,7 +1374,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
unchanged), inclusive.</div> unchanged), inclusive.</div>
</td> </td>
</tr> </tr>
<tr id="i127" class="rowColor"> <tr id="i130" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setWakeMode(@com.google.android.exoplayer2.C.WakeModeint)">setWakeMode</a></span>&#8203;(@com.google.android.exoplayer2.C.WakeMode int&nbsp;wakeMode)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setWakeMode(@com.google.android.exoplayer2.C.WakeModeint)">setWakeMode</a></span>&#8203;(@com.google.android.exoplayer2.C.WakeMode int&nbsp;wakeMode)</code></th>
<td class="colLast"> <td class="colLast">
@ -1357,7 +1382,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Sets how the player should keep the device awake for playback when the screen is off.</div> <div class="block">Sets how the player should keep the device awake for playback when the screen is off.</div>
</td> </td>
</tr> </tr>
<tr id="i128" class="altColor"> <tr id="i131" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#stop()">stop</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#stop()">stop</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
@ -1365,7 +1390,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Stops playback without resetting the playlist.</div> <div class="block">Stops playback without resetting the playlist.</div>
</td> </td>
</tr> </tr>
<tr id="i129" class="rowColor"> <tr id="i132" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#stop(boolean)">stop</a></span>&#8203;(boolean&nbsp;reset)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#stop(boolean)">stop</a></span>&#8203;(boolean&nbsp;reset)</code></th>
<td class="colLast"> <td class="colLast">
@ -1381,7 +1406,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<!-- --> <!-- -->
</a> </a>
<h3>Methods inherited from class&nbsp;com.google.android.exoplayer2.<a href="BasePlayer.html" title="class in com.google.android.exoplayer2">BasePlayer</a></h3> <h3>Methods inherited from class&nbsp;com.google.android.exoplayer2.<a href="BasePlayer.html" title="class in com.google.android.exoplayer2">BasePlayer</a></h3>
<code><a href="BasePlayer.html#addMediaItem(int,com.google.android.exoplayer2.MediaItem)">addMediaItem</a>, <a href="BasePlayer.html#addMediaItem(com.google.android.exoplayer2.MediaItem)">addMediaItem</a>, <a href="BasePlayer.html#addMediaItems(java.util.List)">addMediaItems</a>, <a href="BasePlayer.html#canAdvertiseSession()">canAdvertiseSession</a>, <a href="BasePlayer.html#clearMediaItems()">clearMediaItems</a>, <a href="BasePlayer.html#getBufferedPercentage()">getBufferedPercentage</a>, <a href="BasePlayer.html#getContentDuration()">getContentDuration</a>, <a href="BasePlayer.html#getCurrentLiveOffset()">getCurrentLiveOffset</a>, <a href="BasePlayer.html#getCurrentManifest()">getCurrentManifest</a>, <a href="BasePlayer.html#getCurrentMediaItem()">getCurrentMediaItem</a>, <a href="BasePlayer.html#getCurrentWindowIndex()">getCurrentWindowIndex</a>, <a href="BasePlayer.html#getMediaItemAt(int)">getMediaItemAt</a>, <a href="BasePlayer.html#getMediaItemCount()">getMediaItemCount</a>, <a href="BasePlayer.html#getNextMediaItemIndex()">getNextMediaItemIndex</a>, <a href="BasePlayer.html#getNextWindowIndex()">getNextWindowIndex</a>, <a href="BasePlayer.html#getPreviousMediaItemIndex()">getPreviousMediaItemIndex</a>, <a href="BasePlayer.html#getPreviousWindowIndex()">getPreviousWindowIndex</a>, <a href="BasePlayer.html#hasNext()">hasNext</a>, <a href="BasePlayer.html#hasNextMediaItem()">hasNextMediaItem</a>, <a href="BasePlayer.html#hasNextWindow()">hasNextWindow</a>, <a href="BasePlayer.html#hasPrevious()">hasPrevious</a>, <a href="BasePlayer.html#hasPreviousMediaItem()">hasPreviousMediaItem</a>, <a href="BasePlayer.html#hasPreviousWindow()">hasPreviousWindow</a>, <a href="BasePlayer.html#isCommandAvailable(@com.google.android.exoplayer2.Player.Commandint)">isCommandAvailable</a>, <a href="BasePlayer.html#isCurrentMediaItemDynamic()">isCurrentMediaItemDynamic</a>, <a href="BasePlayer.html#isCurrentMediaItemLive()">isCurrentMediaItemLive</a>, <a href="BasePlayer.html#isCurrentMediaItemSeekable()">isCurrentMediaItemSeekable</a>, <a href="BasePlayer.html#isCurrentWindowDynamic()">isCurrentWindowDynamic</a>, <a href="BasePlayer.html#isCurrentWindowLive()">isCurrentWindowLive</a>, <a href="BasePlayer.html#isCurrentWindowSeekable()">isCurrentWindowSeekable</a>, <a href="BasePlayer.html#isPlaying()">isPlaying</a>, <a href="BasePlayer.html#moveMediaItem(int,int)">moveMediaItem</a>, <a href="BasePlayer.html#next()">next</a>, <a href="BasePlayer.html#pause()">pause</a>, <a href="BasePlayer.html#play()">play</a>, <a href="BasePlayer.html#previous()">previous</a>, <a href="BasePlayer.html#removeMediaItem(int)">removeMediaItem</a>, <a href="BasePlayer.html#seekBack()">seekBack</a>, <a href="BasePlayer.html#seekForward()">seekForward</a>, <a href="BasePlayer.html#seekTo(long)">seekTo</a>, <a href="BasePlayer.html#seekToDefaultPosition()">seekToDefaultPosition</a>, <a href="BasePlayer.html#seekToDefaultPosition(int)">seekToDefaultPosition</a>, <a href="BasePlayer.html#seekToNext()">seekToNext</a>, <a href="BasePlayer.html#seekToNextMediaItem()">seekToNextMediaItem</a>, <a href="BasePlayer.html#seekToNextWindow()">seekToNextWindow</a>, <a href="BasePlayer.html#seekToPrevious()">seekToPrevious</a>, <a href="BasePlayer.html#seekToPreviousMediaItem()">seekToPreviousMediaItem</a>, <a href="BasePlayer.html#seekToPreviousWindow()">seekToPreviousWindow</a>, <a href="BasePlayer.html#setMediaItem(com.google.android.exoplayer2.MediaItem)">setMediaItem</a>, <a href="BasePlayer.html#setMediaItem(com.google.android.exoplayer2.MediaItem,boolean)">setMediaItem</a>, <a href="BasePlayer.html#setMediaItem(com.google.android.exoplayer2.MediaItem,long)">setMediaItem</a>, <a href="BasePlayer.html#setMediaItems(java.util.List)">setMediaItems</a>, <a href="BasePlayer.html#setPlaybackSpeed(float)">setPlaybackSpeed</a></code></li> <code><a href="BasePlayer.html#addMediaItem(int,com.google.android.exoplayer2.MediaItem)">addMediaItem</a>, <a href="BasePlayer.html#addMediaItem(com.google.android.exoplayer2.MediaItem)">addMediaItem</a>, <a href="BasePlayer.html#addMediaItems(java.util.List)">addMediaItems</a>, <a href="BasePlayer.html#canAdvertiseSession()">canAdvertiseSession</a>, <a href="BasePlayer.html#clearMediaItems()">clearMediaItems</a>, <a href="BasePlayer.html#getBufferedPercentage()">getBufferedPercentage</a>, <a href="BasePlayer.html#getContentDuration()">getContentDuration</a>, <a href="BasePlayer.html#getCurrentLiveOffset()">getCurrentLiveOffset</a>, <a href="BasePlayer.html#getCurrentManifest()">getCurrentManifest</a>, <a href="BasePlayer.html#getCurrentMediaItem()">getCurrentMediaItem</a>, <a href="BasePlayer.html#getCurrentWindowIndex()">getCurrentWindowIndex</a>, <a href="BasePlayer.html#getMediaItemAt(int)">getMediaItemAt</a>, <a href="BasePlayer.html#getMediaItemCount()">getMediaItemCount</a>, <a href="BasePlayer.html#getNextMediaItemIndex()">getNextMediaItemIndex</a>, <a href="BasePlayer.html#getNextWindowIndex()">getNextWindowIndex</a>, <a href="BasePlayer.html#getPreviousMediaItemIndex()">getPreviousMediaItemIndex</a>, <a href="BasePlayer.html#getPreviousWindowIndex()">getPreviousWindowIndex</a>, <a href="BasePlayer.html#hasNext()">hasNext</a>, <a href="BasePlayer.html#hasNextMediaItem()">hasNextMediaItem</a>, <a href="BasePlayer.html#hasNextWindow()">hasNextWindow</a>, <a href="BasePlayer.html#hasPrevious()">hasPrevious</a>, <a href="BasePlayer.html#hasPreviousMediaItem()">hasPreviousMediaItem</a>, <a href="BasePlayer.html#hasPreviousWindow()">hasPreviousWindow</a>, <a href="BasePlayer.html#isCommandAvailable(@com.google.android.exoplayer2.Player.Commandint)">isCommandAvailable</a>, <a href="BasePlayer.html#isCurrentMediaItemDynamic()">isCurrentMediaItemDynamic</a>, <a href="BasePlayer.html#isCurrentMediaItemLive()">isCurrentMediaItemLive</a>, <a href="BasePlayer.html#isCurrentMediaItemSeekable()">isCurrentMediaItemSeekable</a>, <a href="BasePlayer.html#isCurrentWindowDynamic()">isCurrentWindowDynamic</a>, <a href="BasePlayer.html#isCurrentWindowLive()">isCurrentWindowLive</a>, <a href="BasePlayer.html#isCurrentWindowSeekable()">isCurrentWindowSeekable</a>, <a href="BasePlayer.html#isPlaying()">isPlaying</a>, <a href="BasePlayer.html#moveMediaItem(int,int)">moveMediaItem</a>, <a href="BasePlayer.html#next()">next</a>, <a href="BasePlayer.html#pause()">pause</a>, <a href="BasePlayer.html#play()">play</a>, <a href="BasePlayer.html#previous()">previous</a>, <a href="BasePlayer.html#removeMediaItem(int)">removeMediaItem</a>, <a href="BasePlayer.html#repeatCurrentMediaItem()">repeatCurrentMediaItem</a>, <a href="BasePlayer.html#seekBack()">seekBack</a>, <a href="BasePlayer.html#seekForward()">seekForward</a>, <a href="BasePlayer.html#seekTo(long)">seekTo</a>, <a href="BasePlayer.html#seekToDefaultPosition()">seekToDefaultPosition</a>, <a href="BasePlayer.html#seekToDefaultPosition(int)">seekToDefaultPosition</a>, <a href="BasePlayer.html#seekToNext()">seekToNext</a>, <a href="BasePlayer.html#seekToNextMediaItem()">seekToNextMediaItem</a>, <a href="BasePlayer.html#seekToNextWindow()">seekToNextWindow</a>, <a href="BasePlayer.html#seekToPrevious()">seekToPrevious</a>, <a href="BasePlayer.html#seekToPreviousMediaItem()">seekToPreviousMediaItem</a>, <a href="BasePlayer.html#seekToPreviousWindow()">seekToPreviousWindow</a>, <a href="BasePlayer.html#setMediaItem(com.google.android.exoplayer2.MediaItem)">setMediaItem</a>, <a href="BasePlayer.html#setMediaItem(com.google.android.exoplayer2.MediaItem,boolean)">setMediaItem</a>, <a href="BasePlayer.html#setMediaItem(com.google.android.exoplayer2.MediaItem,long)">setMediaItem</a>, <a href="BasePlayer.html#setMediaItems(java.util.List)">setMediaItems</a>, <a href="BasePlayer.html#setPlaybackSpeed(float)">setPlaybackSpeed</a></code></li>
</ul> </ul>
<ul class="blockList"> <ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object"> <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
@ -1713,6 +1738,24 @@ public&nbsp;@com.google.android.exoplayer2.C.VideoChangeFrameRateStrategy int&nb
</dl> </dl>
</li> </li>
</ul> </ul>
<a id="getSurfaceSize()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSurfaceSize</h4>
<pre class="methodSignature">public&nbsp;<a href="util/Size.html" title="class in com.google.android.exoplayer2.util">Size</a>&nbsp;getSurfaceSize()</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="Player.html#getSurfaceSize()">Player</a></code></span></div>
<div class="block">Gets the size of the surface on which the video is rendered.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="Player.html#getSurfaceSize()">getSurfaceSize</a></code>&nbsp;in interface&nbsp;<code><a href="Player.html" title="interface in com.google.android.exoplayer2">Player</a></code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="Player.Listener.html#onSurfaceSizeChanged(int,int)"><code>Player.Listener.onSurfaceSizeChanged(int, int)</code></a></dd>
</dl>
</li>
</ul>
<a id="clearVideoSurface()"> <a id="clearVideoSurface()">
<!-- --> <!-- -->
</a> </a>
@ -2089,6 +2132,27 @@ public&nbsp;@com.google.android.exoplayer2.C.VideoChangeFrameRateStrategy int&nb
</dl> </dl>
</li> </li>
</ul> </ul>
<a id="setPreferredAudioDevice(android.media.AudioDeviceInfo)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPreferredAudioDevice</h4>
<pre class="methodSignature">@RequiresApi(23)
public&nbsp;void&nbsp;setPreferredAudioDevice&#8203;(@Nullable
<a href="https://developer.android.com/reference/android/media/AudioDeviceInfo.html" title="class or interface in android.media" class="externalLink" target="_top">AudioDeviceInfo</a>&nbsp;audioDeviceInfo)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="ExoPlayer.html#setPreferredAudioDevice(android.media.AudioDeviceInfo)">ExoPlayer</a></code></span></div>
<div class="block">Sets the preferred audio device.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="ExoPlayer.html#setPreferredAudioDevice(android.media.AudioDeviceInfo)">setPreferredAudioDevice</a></code>&nbsp;in interface&nbsp;<code><a href="ExoPlayer.html" title="interface in com.google.android.exoplayer2">ExoPlayer</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>audioDeviceInfo</code> - The preferred <a href="https://developer.android.com/reference/android/media/AudioDeviceInfo.html" title="class or interface in android.media" class="externalLink" target="_top">audio device</a>, or null to
restore the default.</dd>
</dl>
</li>
</ul>
<a id="setVolume(float)"> <a id="setVolume(float)">
<!-- --> <!-- -->
</a> </a>
@ -4085,7 +4149,7 @@ public&nbsp;void&nbsp;setHandleWakeLock&#8203;(boolean&nbsp;handleWakeLock)</pre
<a id="setDeviceMuted(boolean)"> <a id="setDeviceMuted(boolean)">
<!-- --> <!-- -->
</a> </a>
<ul class="blockListLast"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setDeviceMuted</h4> <h4>setDeviceMuted</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setDeviceMuted&#8203;(boolean&nbsp;muted)</pre> <pre class="methodSignature">public&nbsp;void&nbsp;setDeviceMuted&#8203;(boolean&nbsp;muted)</pre>
@ -4100,6 +4164,25 @@ public&nbsp;void&nbsp;setHandleWakeLock&#8203;(boolean&nbsp;handleWakeLock)</pre
</dl> </dl>
</li> </li>
</ul> </ul>
<a id="isTunnelingEnabled()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>isTunnelingEnabled</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isTunnelingEnabled()</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="ExoPlayer.html#isTunnelingEnabled()">ExoPlayer</a></code></span></div>
<div class="block">Returns whether <a href="https://source.android.com/devices/tv/multimedia-tunneling">tunneling</a> is enabled for
the currently selected tracks.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="ExoPlayer.html#isTunnelingEnabled()">isTunnelingEnabled</a></code>&nbsp;in interface&nbsp;<code><a href="ExoPlayer.html" title="interface in com.google.android.exoplayer2">ExoPlayer</a></code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="Player.Listener.html#onTracksChanged(com.google.android.exoplayer2.Tracks)"><code>Player.Listener.onTracksChanged(Tracks)</code></a></dd>
</dl>
</li>
</ul>
</li> </li>
</ul> </ul>
</section> </section>

View File

@ -607,7 +607,8 @@ public&nbsp;<a href="https://developer.android.com/reference/java/lang/Object.ht
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>set</h4> <h4>set</h4>
<pre class="methodSignature">public&nbsp;<a href="Timeline.Period.html" title="class in com.google.android.exoplayer2">Timeline.Period</a>&nbsp;set&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Timeline.Period.html" title="class in com.google.android.exoplayer2">Timeline.Period</a>&nbsp;set&#8203;(@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>&nbsp;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>&nbsp;id,
@Nullable @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>&nbsp;uid, <a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a>&nbsp;uid,
@ -638,7 +639,8 @@ public&nbsp;<a href="https://developer.android.com/reference/java/lang/Object.ht
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>set</h4> <h4>set</h4>
<pre class="methodSignature">public&nbsp;<a href="Timeline.Period.html" title="class in com.google.android.exoplayer2">Timeline.Period</a>&nbsp;set&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Timeline.Period.html" title="class in com.google.android.exoplayer2">Timeline.Period</a>&nbsp;set&#8203;(@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>&nbsp;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>&nbsp;id,
@Nullable @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>&nbsp;uid, <a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a>&nbsp;uid,

View File

@ -743,7 +743,8 @@ public&nbsp;<a href="MediaItem.LiveConfiguration.html" title="class in com.googl
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>set</h4> <h4>set</h4>
<pre class="methodSignature">public&nbsp;<a href="Timeline.Window.html" title="class in com.google.android.exoplayer2">Timeline.Window</a>&nbsp;set&#8203;(<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a>&nbsp;uid, <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Timeline.Window.html" title="class in com.google.android.exoplayer2">Timeline.Window</a>&nbsp;set&#8203;(<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a>&nbsp;uid,
@Nullable @Nullable
<a href="MediaItem.html" title="class in com.google.android.exoplayer2">MediaItem</a>&nbsp;mediaItem, <a href="MediaItem.html" title="class in com.google.android.exoplayer2">MediaItem</a>&nbsp;mediaItem,
@Nullable @Nullable

View File

@ -273,7 +273,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setContentType</h4> <h4>setContentType</h4>
<pre class="methodSignature">public&nbsp;<a href="AudioAttributes.Builder.html" title="class in com.google.android.exoplayer2.audio">AudioAttributes.Builder</a>&nbsp;setContentType&#8203;(<a href="../C.AudioContentType.html" title="annotation in com.google.android.exoplayer2">@AudioContentType</a> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="AudioAttributes.Builder.html" title="class in com.google.android.exoplayer2.audio">AudioAttributes.Builder</a>&nbsp;setContentType&#8203;(<a href="../C.AudioContentType.html" title="annotation in com.google.android.exoplayer2">@AudioContentType</a>
@com.google.android.exoplayer2.C.AudioContentType int&nbsp;contentType)</pre> @com.google.android.exoplayer2.C.AudioContentType int&nbsp;contentType)</pre>
<div class="block">See <a href="https://developer.android.com/reference/android/media/AudioAttributes.Builder.html#setContentType(int)" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioAttributes.Builder.setContentType(int)</code></a></div> <div class="block">See <a href="https://developer.android.com/reference/android/media/AudioAttributes.Builder.html#setContentType(int)" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioAttributes.Builder.setContentType(int)</code></a></div>
</li> </li>
@ -284,7 +285,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setFlags</h4> <h4>setFlags</h4>
<pre class="methodSignature">public&nbsp;<a href="AudioAttributes.Builder.html" title="class in com.google.android.exoplayer2.audio">AudioAttributes.Builder</a>&nbsp;setFlags&#8203;(<a href="../C.AudioFlags.html" title="annotation in com.google.android.exoplayer2">@AudioFlags</a> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="AudioAttributes.Builder.html" title="class in com.google.android.exoplayer2.audio">AudioAttributes.Builder</a>&nbsp;setFlags&#8203;(<a href="../C.AudioFlags.html" title="annotation in com.google.android.exoplayer2">@AudioFlags</a>
@com.google.android.exoplayer2.C.AudioFlags int&nbsp;flags)</pre> @com.google.android.exoplayer2.C.AudioFlags int&nbsp;flags)</pre>
<div class="block">See <a href="https://developer.android.com/reference/android/media/AudioAttributes.Builder.html#setFlags(int)" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioAttributes.Builder.setFlags(int)</code></a></div> <div class="block">See <a href="https://developer.android.com/reference/android/media/AudioAttributes.Builder.html#setFlags(int)" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioAttributes.Builder.setFlags(int)</code></a></div>
</li> </li>
@ -295,7 +297,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setUsage</h4> <h4>setUsage</h4>
<pre class="methodSignature">public&nbsp;<a href="AudioAttributes.Builder.html" title="class in com.google.android.exoplayer2.audio">AudioAttributes.Builder</a>&nbsp;setUsage&#8203;(<a href="../C.AudioUsage.html" title="annotation in com.google.android.exoplayer2">@AudioUsage</a> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="AudioAttributes.Builder.html" title="class in com.google.android.exoplayer2.audio">AudioAttributes.Builder</a>&nbsp;setUsage&#8203;(<a href="../C.AudioUsage.html" title="annotation in com.google.android.exoplayer2">@AudioUsage</a>
@com.google.android.exoplayer2.C.AudioUsage int&nbsp;usage)</pre> @com.google.android.exoplayer2.C.AudioUsage int&nbsp;usage)</pre>
<div class="block">See <a href="https://developer.android.com/reference/android/media/AudioAttributes.Builder.html#setUsage(int)" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioAttributes.Builder.setUsage(int)</code></a></div> <div class="block">See <a href="https://developer.android.com/reference/android/media/AudioAttributes.Builder.html#setUsage(int)" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioAttributes.Builder.setUsage(int)</code></a></div>
</li> </li>
@ -306,7 +309,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setAllowedCapturePolicy</h4> <h4>setAllowedCapturePolicy</h4>
<pre class="methodSignature">public&nbsp;<a href="AudioAttributes.Builder.html" title="class in com.google.android.exoplayer2.audio">AudioAttributes.Builder</a>&nbsp;setAllowedCapturePolicy&#8203;(<a href="../C.AudioAllowedCapturePolicy.html" title="annotation in com.google.android.exoplayer2">@AudioAllowedCapturePolicy</a> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="AudioAttributes.Builder.html" title="class in com.google.android.exoplayer2.audio">AudioAttributes.Builder</a>&nbsp;setAllowedCapturePolicy&#8203;(<a href="../C.AudioAllowedCapturePolicy.html" title="annotation in com.google.android.exoplayer2">@AudioAllowedCapturePolicy</a>
@com.google.android.exoplayer2.C.AudioAllowedCapturePolicy int&nbsp;allowedCapturePolicy)</pre> @com.google.android.exoplayer2.C.AudioAllowedCapturePolicy int&nbsp;allowedCapturePolicy)</pre>
<div class="block">See <a href="https://developer.android.com/reference/android/media/AudioAttributes.Builder.html#setAllowedCapturePolicy(int)" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioAttributes.Builder.setAllowedCapturePolicy(int)</code></a>.</div> <div class="block">See <a href="https://developer.android.com/reference/android/media/AudioAttributes.Builder.html#setAllowedCapturePolicy(int)" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioAttributes.Builder.setAllowedCapturePolicy(int)</code></a>.</div>
</li> </li>
@ -317,7 +321,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setSpatializationBehavior</h4> <h4>setSpatializationBehavior</h4>
<pre class="methodSignature">public&nbsp;<a href="AudioAttributes.Builder.html" title="class in com.google.android.exoplayer2.audio">AudioAttributes.Builder</a>&nbsp;setSpatializationBehavior&#8203;(@com.google.android.exoplayer2.C.SpatializationBehavior int&nbsp;spatializationBehavior)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="AudioAttributes.Builder.html" title="class in com.google.android.exoplayer2.audio">AudioAttributes.Builder</a>&nbsp;setSpatializationBehavior&#8203;(@com.google.android.exoplayer2.C.SpatializationBehavior int&nbsp;spatializationBehavior)</pre>
<div class="block">See <a href="https://developer.android.com/reference/android/media/AudioAttributes.Builder.html#setSpatializationBehavior(int)" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioAttributes.Builder.setSpatializationBehavior(int)</code></a>.</div> <div class="block">See <a href="https://developer.android.com/reference/android/media/AudioAttributes.Builder.html#setSpatializationBehavior(int)" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioAttributes.Builder.setSpatializationBehavior(int)</code></a>.</div>
</li> </li>
</ul> </ul>

View File

@ -25,7 +25,7 @@
catch(err) { catch(err) {
} }
//--> //-->
var data = {"i0":10}; var data = {"i0":10,"i1":10,"i2":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]}; var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor"; var altColor = "altColor";
var rowColor = "rowColor"; var rowColor = "rowColor";
@ -231,6 +231,16 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<th class="colLast" scope="col">Description</th> <th class="colLast" scope="col">Description</th>
</tr> </tr>
<tr id="i0" class="altColor"> <tr id="i0" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#equals(java.lang.Object)">equals</a></span>&#8203;(<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a>&nbsp;o)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<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">&nbsp;</td>
</tr>
<tr id="i2" 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> <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="#toString()">toString</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toString()">toString</a></span>()</code></th>
<td class="colLast">&nbsp;</td> <td class="colLast">&nbsp;</td>
@ -241,7 +251,7 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<!-- --> <!-- -->
</a> </a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></h3> <h3>Methods inherited from class&nbsp;java.lang.<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></h3>
<code><a href="https://developer.android.com/reference/java/lang/Object.html#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink" target="_top">wait</a></code></li> <code><a href="https://developer.android.com/reference/java/lang/Object.html#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink" target="_top">wait</a></code></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@ -342,7 +352,7 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<a id="toString()"> <a id="toString()">
<!-- --> <!-- -->
</a> </a>
<ul class="blockListLast"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>toString</h4> <h4>toString</h4>
<pre class="methodSignature">public&nbsp;<a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a>&nbsp;toString()</pre> <pre class="methodSignature">public&nbsp;<a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a>&nbsp;toString()</pre>
@ -352,6 +362,33 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
</dl> </dl>
</li> </li>
</ul> </ul>
<a id="equals(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>equals</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;equals&#8203;(@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>&nbsp;o)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://developer.android.com/reference/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></code></dd>
</dl>
</li>
</ul>
<a id="hashCode()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>hashCode</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;hashCode()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://developer.android.com/reference/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></code></dd>
</dl>
</li>
</ul>
</li> </li>
</ul> </ul>
</section> </section>

View File

@ -240,8 +240,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isEnded()">isEnded</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isEnded()">isEnded</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Returns whether this processor will return no more output from <a href="#getOutput()"><code>getOutput()</code></a> until it <div class="block">Returns whether this processor will return no more output from <a href="#getOutput()"><code>getOutput()</code></a> until
has been <a href="#flush()"><code>flush()</code></a>ed and more input has been queued.</div> <a href="#flush()"><code>flush()</code></a> has been called and more input has been queued.</div>
</td> </td>
</tr> </tr>
<tr id="i5" class="rowColor"> <tr id="i5" class="rowColor">
@ -308,7 +308,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>configure</h4> <h4>configure</h4>
<pre class="methodSignature"><a href="AudioProcessor.AudioFormat.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.AudioFormat</a>&nbsp;configure&#8203;(<a href="AudioProcessor.AudioFormat.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.AudioFormat</a>&nbsp;inputAudioFormat) <pre class="methodSignature">@CanIgnoreReturnValue
<a href="AudioProcessor.AudioFormat.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.AudioFormat</a>&nbsp;configure&#8203;(<a href="AudioProcessor.AudioFormat.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.AudioFormat</a>&nbsp;inputAudioFormat)
throws <a href="AudioProcessor.UnhandledAudioFormatException.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.UnhandledAudioFormatException</a></pre> throws <a href="AudioProcessor.UnhandledAudioFormatException.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.UnhandledAudioFormatException</a></pre>
<div class="block">Configures the processor to process input audio with the specified format. After calling this <div class="block">Configures the processor to process input audio with the specified format. After calling this
method, call <a href="#isActive()"><code>isActive()</code></a> to determine whether the audio processor is active. Returns method, call <a href="#isActive()"><code>isActive()</code></a> to determine whether the audio processor is active. Returns
@ -393,8 +394,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<li class="blockList"> <li class="blockList">
<h4>isEnded</h4> <h4>isEnded</h4>
<pre class="methodSignature">boolean&nbsp;isEnded()</pre> <pre class="methodSignature">boolean&nbsp;isEnded()</pre>
<div class="block">Returns whether this processor will return no more output from <a href="#getOutput()"><code>getOutput()</code></a> until it <div class="block">Returns whether this processor will return no more output from <a href="#getOutput()"><code>getOutput()</code></a> until
has been <a href="#flush()"><code>flush()</code></a>ed and more input has been queued.</div> <a href="#flush()"><code>flush()</code></a> has been called and more input has been queued.</div>
</li> </li>
</ul> </ul>
<a id="flush()"> <a id="flush()">

View File

@ -0,0 +1,360 @@
<!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>AudioProcessorChain (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="AudioProcessorChain (ExoPlayer library)";
}
}
catch(err) {
}
//-->
var data = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
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&nbsp;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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</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>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.audio</a></div>
<h2 title="Interface AudioProcessorChain" class="title">Interface AudioProcessorChain</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Known Subinterfaces:</dt>
<dd><code><a href="DefaultAudioSink.AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio">DefaultAudioSink.AudioProcessorChain</a></code></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="DefaultAudioSink.DefaultAudioProcessorChain.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.DefaultAudioProcessorChain</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">AudioProcessorChain</span></pre>
<div class="block">Provides a chain of audio processors, which are used for any user-defined processing and applying
playback parameters (if supported). Because applying playback parameters can skip and
stretch/compress audio, the sink will query the chain for information on how to transform its
output position to map it onto a media position, via <a href="#getMediaDuration(long)"><code>getMediaDuration(long)</code></a> and <a href="#getSkippedOutputFrameCount()"><code>getSkippedOutputFrameCount()</code></a>.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="../PlaybackParameters.html" title="class in com.google.android.exoplayer2">PlaybackParameters</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#applyPlaybackParameters(com.google.android.exoplayer2.PlaybackParameters)">applyPlaybackParameters</a></span>&#8203;(<a href="../PlaybackParameters.html" title="class in com.google.android.exoplayer2">PlaybackParameters</a>&nbsp;playbackParameters)</code></th>
<td class="colLast">
<div class="block">Configures audio processors to apply the specified playback parameters immediately, returning
the new playback parameters, which may differ from those passed in.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#applySkipSilenceEnabled(boolean)">applySkipSilenceEnabled</a></span>&#8203;(boolean&nbsp;skipSilenceEnabled)</code></th>
<td class="colLast">
<div class="block">Configures audio processors to apply whether to skip silences immediately, returning the new
value.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="AudioProcessor.html" title="interface in com.google.android.exoplayer2.audio">AudioProcessor</a>[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAudioProcessors()">getAudioProcessors</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the fixed chain of audio processors that will process audio.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMediaDuration(long)">getMediaDuration</a></span>&#8203;(long&nbsp;playoutDuration)</code></th>
<td class="colLast">
<div class="block">Returns the media duration corresponding to the specified playout duration, taking speed
adjustment due to audio processing into account.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSkippedOutputFrameCount()">getSkippedOutputFrameCount</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the number of output audio frames skipped since the audio processors were last flushed.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="getAudioProcessors()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAudioProcessors</h4>
<pre class="methodSignature"><a href="AudioProcessor.html" title="interface in com.google.android.exoplayer2.audio">AudioProcessor</a>[]&nbsp;getAudioProcessors()</pre>
<div class="block">Returns the fixed chain of audio processors that will process audio. This method is called once
during initialization, but audio processors may change state to become active/inactive during
playback.</div>
</li>
</ul>
<a id="applyPlaybackParameters(com.google.android.exoplayer2.PlaybackParameters)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>applyPlaybackParameters</h4>
<pre class="methodSignature"><a href="../PlaybackParameters.html" title="class in com.google.android.exoplayer2">PlaybackParameters</a>&nbsp;applyPlaybackParameters&#8203;(<a href="../PlaybackParameters.html" title="class in com.google.android.exoplayer2">PlaybackParameters</a>&nbsp;playbackParameters)</pre>
<div class="block">Configures audio processors to apply the specified playback parameters immediately, returning
the new playback parameters, which may differ from those passed in. Only called when processors
have no input pending.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>playbackParameters</code> - The playback parameters to try to apply.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The playback parameters that were actually applied.</dd>
</dl>
</li>
</ul>
<a id="applySkipSilenceEnabled(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>applySkipSilenceEnabled</h4>
<pre class="methodSignature">boolean&nbsp;applySkipSilenceEnabled&#8203;(boolean&nbsp;skipSilenceEnabled)</pre>
<div class="block">Configures audio processors to apply whether to skip silences immediately, returning the new
value. Only called when processors have no input pending.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>skipSilenceEnabled</code> - Whether silences should be skipped in the audio stream.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The new value.</dd>
</dl>
</li>
</ul>
<a id="getMediaDuration(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMediaDuration</h4>
<pre class="methodSignature">long&nbsp;getMediaDuration&#8203;(long&nbsp;playoutDuration)</pre>
<div class="block">Returns the media duration corresponding to the specified playout duration, taking speed
adjustment due to audio processing into account.
<p>The scaling performed by this method will use the actual playback speed achieved by the
audio processor chain, on average, since it was last flushed. This may differ very slightly
from the target playback speed.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>playoutDuration</code> - The playout duration to scale.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The corresponding media duration, in the same units as <code>duration</code>.</dd>
</dl>
</li>
</ul>
<a id="getSkippedOutputFrameCount()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getSkippedOutputFrameCount</h4>
<pre class="methodSignature">long&nbsp;getSkippedOutputFrameCount()</pre>
<div class="block">Returns the number of output audio frames skipped since the audio processors were last flushed.</div>
</li>
</ul>
</li>
</ul>
</section>
</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&nbsp;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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

View File

@ -25,7 +25,7 @@
catch(err) { catch(err) {
} }
//--> //-->
var data = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6,"i23":18,"i24":6,"i25":6,"i26":6}; var data = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":18,"i23":6,"i24":18,"i25":18,"i26":6,"i27":6,"i28":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]}; var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]};
var altColor = "altColor"; var altColor = "altColor";
var rowColor = "rowColor"; var rowColor = "rowColor";
@ -433,34 +433,49 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</td> </td>
</tr> </tr>
<tr id="i22" class="altColor"> <tr id="i22" class="altColor">
<td class="colFirst"><code>default void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setOutputStreamOffsetUs(long)">setOutputStreamOffsetUs</a></span>&#8203;(long&nbsp;outputStreamOffsetUs)</code></th>
<td class="colLast">
<div class="block">Sets the offset that is added to the media timestamp before it is passed as <code>
presentationTimeUs</code> in <a href="#handleBuffer(java.nio.ByteBuffer,long,int)"><code>handleBuffer(ByteBuffer, long, int)</code></a>.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPlaybackParameters(com.google.android.exoplayer2.PlaybackParameters)">setPlaybackParameters</a></span>&#8203;(<a href="../PlaybackParameters.html" title="class in com.google.android.exoplayer2">PlaybackParameters</a>&nbsp;playbackParameters)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPlaybackParameters(com.google.android.exoplayer2.PlaybackParameters)">setPlaybackParameters</a></span>&#8203;(<a href="../PlaybackParameters.html" title="class in com.google.android.exoplayer2">PlaybackParameters</a>&nbsp;playbackParameters)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Attempts to set the playback parameters.</div> <div class="block">Attempts to set the playback parameters.</div>
</td> </td>
</tr> </tr>
<tr id="i23" class="rowColor"> <tr id="i24" class="altColor">
<td class="colFirst"><code>default void</code></td> <td class="colFirst"><code>default void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPlayerId(com.google.android.exoplayer2.analytics.PlayerId)">setPlayerId</a></span>&#8203;(<a href="../analytics/PlayerId.html" title="class in com.google.android.exoplayer2.analytics">PlayerId</a>&nbsp;playerId)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPlayerId(com.google.android.exoplayer2.analytics.PlayerId)">setPlayerId</a></span>&#8203;(<a href="../analytics/PlayerId.html" title="class in com.google.android.exoplayer2.analytics">PlayerId</a>&nbsp;playerId)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Sets the <a href="../analytics/PlayerId.html" title="class in com.google.android.exoplayer2.analytics"><code>PlayerId</code></a> of the player using this audio sink.</div> <div class="block">Sets the <a href="../analytics/PlayerId.html" title="class in com.google.android.exoplayer2.analytics"><code>PlayerId</code></a> of the player using this audio sink.</div>
</td> </td>
</tr> </tr>
<tr id="i24" class="altColor"> <tr id="i25" class="rowColor">
<td class="colFirst"><code>default void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPreferredDevice(android.media.AudioDeviceInfo)">setPreferredDevice</a></span>&#8203;(<a href="https://developer.android.com/reference/android/media/AudioDeviceInfo.html" title="class or interface in android.media" class="externalLink" target="_top">AudioDeviceInfo</a>&nbsp;audioDeviceInfo)</code></th>
<td class="colLast">
<div class="block">Sets the preferred audio device.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSkipSilenceEnabled(boolean)">setSkipSilenceEnabled</a></span>&#8203;(boolean&nbsp;skipSilenceEnabled)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSkipSilenceEnabled(boolean)">setSkipSilenceEnabled</a></span>&#8203;(boolean&nbsp;skipSilenceEnabled)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Sets whether silences should be skipped in the audio stream.</div> <div class="block">Sets whether silences should be skipped in the audio stream.</div>
</td> </td>
</tr> </tr>
<tr id="i25" class="rowColor"> <tr id="i27" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVolume(float)">setVolume</a></span>&#8203;(float&nbsp;volume)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVolume(float)">setVolume</a></span>&#8203;(float&nbsp;volume)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Sets the playback volume.</div> <div class="block">Sets the playback volume.</div>
</td> </td>
</tr> </tr>
<tr id="i26" class="altColor"> <tr id="i28" class="altColor">
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#supportsFormat(com.google.android.exoplayer2.Format)">supportsFormat</a></span>&#8203;(<a href="../Format.html" title="class in com.google.android.exoplayer2">Format</a>&nbsp;format)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#supportsFormat(com.google.android.exoplayer2.Format)">supportsFormat</a></span>&#8203;(<a href="../Format.html" title="class in com.google.android.exoplayer2">Format</a>&nbsp;format)</code></th>
<td class="colLast"> <td class="colLast">
@ -841,6 +856,38 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<div class="block">Sets the auxiliary effect.</div> <div class="block">Sets the auxiliary effect.</div>
</li> </li>
</ul> </ul>
<a id="setPreferredDevice(android.media.AudioDeviceInfo)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPreferredDevice</h4>
<pre class="methodSignature">@RequiresApi(23)
default&nbsp;void&nbsp;setPreferredDevice&#8203;(@Nullable
<a href="https://developer.android.com/reference/android/media/AudioDeviceInfo.html" title="class or interface in android.media" class="externalLink" target="_top">AudioDeviceInfo</a>&nbsp;audioDeviceInfo)</pre>
<div class="block">Sets the preferred audio device.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>audioDeviceInfo</code> - The preferred <a href="https://developer.android.com/reference/android/media/AudioDeviceInfo.html" title="class or interface in android.media" class="externalLink" target="_top">audio device</a>, or null to
restore the default.</dd>
</dl>
</li>
</ul>
<a id="setOutputStreamOffsetUs(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setOutputStreamOffsetUs</h4>
<pre class="methodSignature">default&nbsp;void&nbsp;setOutputStreamOffsetUs&#8203;(long&nbsp;outputStreamOffsetUs)</pre>
<div class="block">Sets the offset that is added to the media timestamp before it is passed as <code>
presentationTimeUs</code> in <a href="#handleBuffer(java.nio.ByteBuffer,long,int)"><code>handleBuffer(ByteBuffer, long, int)</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>outputStreamOffsetUs</code> - The output stream offset in microseconds.</dd>
</dl>
</li>
</ul>
<a id="enableTunnelingV21()"> <a id="enableTunnelingV21()">
<!-- --> <!-- -->
</a> </a>

View File

@ -279,8 +279,8 @@ implements <a href="AudioProcessor.html" title="interface in com.google.android.
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isEnded()">isEnded</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isEnded()">isEnded</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Returns whether this processor will return no more output from <a href="AudioProcessor.html#getOutput()"><code>AudioProcessor.getOutput()</code></a> until it <div class="block">Returns whether this processor will return no more output from <a href="AudioProcessor.html#getOutput()"><code>AudioProcessor.getOutput()</code></a> until
has been <a href="AudioProcessor.html#flush()"><code>AudioProcessor.flush()</code></a>ed and more input has been queued.</div> <a href="AudioProcessor.html#flush()"><code>AudioProcessor.flush()</code></a> has been called and more input has been queued.</div>
</td> </td>
</tr> </tr>
<tr id="i6" class="altColor"> <tr id="i6" class="altColor">
@ -320,10 +320,9 @@ implements <a href="AudioProcessor.html" title="interface in com.google.android.
</tr> </tr>
<tr id="i11" class="rowColor"> <tr id="i11" class="rowColor">
<td class="colFirst"><code>protected <a href="https://developer.android.com/reference/java/nio/ByteBuffer.html" title="class or interface in java.nio" class="externalLink" target="_top">ByteBuffer</a></code></td> <td class="colFirst"><code>protected <a href="https://developer.android.com/reference/java/nio/ByteBuffer.html" title="class or interface in java.nio" class="externalLink" target="_top">ByteBuffer</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#replaceOutputBuffer(int)">replaceOutputBuffer</a></span>&#8203;(int&nbsp;count)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#replaceOutputBuffer(int)">replaceOutputBuffer</a></span>&#8203;(int&nbsp;size)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Replaces the current output buffer with a buffer of at least <code>count</code> bytes and returns <div class="block">Replaces the current output buffer with a buffer of at least <code>size</code> bytes and returns it.</div>
it.</div>
</td> </td>
</tr> </tr>
<tr id="i12" class="altColor"> <tr id="i12" class="altColor">
@ -419,7 +418,8 @@ implements <a href="AudioProcessor.html" title="interface in com.google.android.
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>configure</h4> <h4>configure</h4>
<pre class="methodSignature">public final&nbsp;<a href="AudioProcessor.AudioFormat.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.AudioFormat</a>&nbsp;configure&#8203;(<a href="AudioProcessor.AudioFormat.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.AudioFormat</a>&nbsp;inputAudioFormat) <pre class="methodSignature">@CanIgnoreReturnValue
public final&nbsp;<a href="AudioProcessor.AudioFormat.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.AudioFormat</a>&nbsp;configure&#8203;(<a href="AudioProcessor.AudioFormat.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.AudioFormat</a>&nbsp;inputAudioFormat)
throws <a href="AudioProcessor.UnhandledAudioFormatException.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.UnhandledAudioFormatException</a></pre> throws <a href="AudioProcessor.UnhandledAudioFormatException.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.UnhandledAudioFormatException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="AudioProcessor.html#configure(com.google.android.exoplayer2.audio.AudioProcessor.AudioFormat)">AudioProcessor</a></code></span></div> <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="AudioProcessor.html#configure(com.google.android.exoplayer2.audio.AudioProcessor.AudioFormat)">AudioProcessor</a></code></span></div>
<div class="block">Configures the processor to process input audio with the specified format. After calling this <div class="block">Configures the processor to process input audio with the specified format. After calling this
@ -504,8 +504,8 @@ public&nbsp;<a href="https://developer.android.com/reference/java/nio/ByteBuffer
<pre class="methodSignature">@CallSuper <pre class="methodSignature">@CallSuper
public&nbsp;boolean&nbsp;isEnded()</pre> public&nbsp;boolean&nbsp;isEnded()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="AudioProcessor.html#isEnded()">AudioProcessor</a></code></span></div> <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="AudioProcessor.html#isEnded()">AudioProcessor</a></code></span></div>
<div class="block">Returns whether this processor will return no more output from <a href="AudioProcessor.html#getOutput()"><code>AudioProcessor.getOutput()</code></a> until it <div class="block">Returns whether this processor will return no more output from <a href="AudioProcessor.html#getOutput()"><code>AudioProcessor.getOutput()</code></a> until
has been <a href="AudioProcessor.html#flush()"><code>AudioProcessor.flush()</code></a>ed and more input has been queued.</div> <a href="AudioProcessor.html#flush()"><code>AudioProcessor.flush()</code></a> has been called and more input has been queued.</div>
<dl> <dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="AudioProcessor.html#isEnded()">isEnded</a></code>&nbsp;in interface&nbsp;<code><a href="AudioProcessor.html" title="interface in com.google.android.exoplayer2.audio">AudioProcessor</a></code></dd> <dd><code><a href="AudioProcessor.html#isEnded()">isEnded</a></code>&nbsp;in interface&nbsp;<code><a href="AudioProcessor.html" title="interface in com.google.android.exoplayer2.audio">AudioProcessor</a></code></dd>
@ -549,10 +549,10 @@ public&nbsp;boolean&nbsp;isEnded()</pre>
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>replaceOutputBuffer</h4> <h4>replaceOutputBuffer</h4>
<pre class="methodSignature">protected final&nbsp;<a href="https://developer.android.com/reference/java/nio/ByteBuffer.html" title="class or interface in java.nio" class="externalLink" target="_top">ByteBuffer</a>&nbsp;replaceOutputBuffer&#8203;(int&nbsp;count)</pre> <pre class="methodSignature">protected final&nbsp;<a href="https://developer.android.com/reference/java/nio/ByteBuffer.html" title="class or interface in java.nio" class="externalLink" target="_top">ByteBuffer</a>&nbsp;replaceOutputBuffer&#8203;(int&nbsp;size)</pre>
<div class="block">Replaces the current output buffer with a buffer of at least <code>count</code> bytes and returns <div class="block">Replaces the current output buffer with a buffer of at least <code>size</code> bytes and returns it.
it. Callers should write to the returned buffer then <a href="https://developer.android.com/reference/java/nio/ByteBuffer.html#flip()" title="class or interface in java.nio" class="externalLink" target="_top"><code>ByteBuffer.flip()</code></a> it so it can be Callers should write to the returned buffer then <a href="https://developer.android.com/reference/java/nio/ByteBuffer.html#flip()" title="class or interface in java.nio" class="externalLink" target="_top"><code>ByteBuffer.flip()</code></a> it so it can be read
read via <a href="#getOutput()"><code>getOutput()</code></a>.</div> via <a href="#getOutput()"><code>getOutput()</code></a>.</div>
</li> </li>
</ul> </ul>
<a id="hasPendingOutput()"> <a id="hasPendingOutput()">
@ -571,7 +571,8 @@ public&nbsp;boolean&nbsp;isEnded()</pre>
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>onConfigure</h4> <h4>onConfigure</h4>
<pre class="methodSignature">protected&nbsp;<a href="AudioProcessor.AudioFormat.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.AudioFormat</a>&nbsp;onConfigure&#8203;(<a href="AudioProcessor.AudioFormat.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.AudioFormat</a>&nbsp;inputAudioFormat) <pre class="methodSignature">@CanIgnoreReturnValue
protected&nbsp;<a href="AudioProcessor.AudioFormat.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.AudioFormat</a>&nbsp;onConfigure&#8203;(<a href="AudioProcessor.AudioFormat.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.AudioFormat</a>&nbsp;inputAudioFormat)
throws <a href="AudioProcessor.UnhandledAudioFormatException.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.UnhandledAudioFormatException</a></pre> throws <a href="AudioProcessor.UnhandledAudioFormatException.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.UnhandledAudioFormatException</a></pre>
<div class="block">Called when the processor is configured for a new input format.</div> <div class="block">Called when the processor is configured for a new input format.</div>
<dl> <dl>

View File

@ -207,14 +207,14 @@ implements <a href="../util/MediaClock.html" title="interface in com.google.andr
<!-- --> <!-- -->
</a> </a>
<h3>Fields inherited from interface&nbsp;com.google.android.exoplayer2.<a href="../Renderer.html" title="interface in com.google.android.exoplayer2">Renderer</a></h3> <h3>Fields inherited from interface&nbsp;com.google.android.exoplayer2.<a href="../Renderer.html" title="interface in com.google.android.exoplayer2">Renderer</a></h3>
<code><a href="../Renderer.html#MSG_CUSTOM_BASE">MSG_CUSTOM_BASE</a>, <a href="../Renderer.html#MSG_SET_AUDIO_ATTRIBUTES">MSG_SET_AUDIO_ATTRIBUTES</a>, <a href="../Renderer.html#MSG_SET_AUDIO_SESSION_ID">MSG_SET_AUDIO_SESSION_ID</a>, <a href="../Renderer.html#MSG_SET_AUX_EFFECT_INFO">MSG_SET_AUX_EFFECT_INFO</a>, <a href="../Renderer.html#MSG_SET_CAMERA_MOTION_LISTENER">MSG_SET_CAMERA_MOTION_LISTENER</a>, <a href="../Renderer.html#MSG_SET_CHANGE_FRAME_RATE_STRATEGY">MSG_SET_CHANGE_FRAME_RATE_STRATEGY</a>, <a href="../Renderer.html#MSG_SET_SCALING_MODE">MSG_SET_SCALING_MODE</a>, <a href="../Renderer.html#MSG_SET_SKIP_SILENCE_ENABLED">MSG_SET_SKIP_SILENCE_ENABLED</a>, <a href="../Renderer.html#MSG_SET_VIDEO_FRAME_METADATA_LISTENER">MSG_SET_VIDEO_FRAME_METADATA_LISTENER</a>, <a href="../Renderer.html#MSG_SET_VIDEO_OUTPUT">MSG_SET_VIDEO_OUTPUT</a>, <a href="../Renderer.html#MSG_SET_VOLUME">MSG_SET_VOLUME</a>, <a href="../Renderer.html#MSG_SET_WAKEUP_LISTENER">MSG_SET_WAKEUP_LISTENER</a>, <a href="../Renderer.html#STATE_DISABLED">STATE_DISABLED</a>, <a href="../Renderer.html#STATE_ENABLED">STATE_ENABLED</a>, <a href="../Renderer.html#STATE_STARTED">STATE_STARTED</a></code></li> <code><a href="../Renderer.html#MSG_CUSTOM_BASE">MSG_CUSTOM_BASE</a>, <a href="../Renderer.html#MSG_SET_AUDIO_ATTRIBUTES">MSG_SET_AUDIO_ATTRIBUTES</a>, <a href="../Renderer.html#MSG_SET_AUDIO_SESSION_ID">MSG_SET_AUDIO_SESSION_ID</a>, <a href="../Renderer.html#MSG_SET_AUX_EFFECT_INFO">MSG_SET_AUX_EFFECT_INFO</a>, <a href="../Renderer.html#MSG_SET_CAMERA_MOTION_LISTENER">MSG_SET_CAMERA_MOTION_LISTENER</a>, <a href="../Renderer.html#MSG_SET_CHANGE_FRAME_RATE_STRATEGY">MSG_SET_CHANGE_FRAME_RATE_STRATEGY</a>, <a href="../Renderer.html#MSG_SET_PREFERRED_AUDIO_DEVICE">MSG_SET_PREFERRED_AUDIO_DEVICE</a>, <a href="../Renderer.html#MSG_SET_SCALING_MODE">MSG_SET_SCALING_MODE</a>, <a href="../Renderer.html#MSG_SET_SKIP_SILENCE_ENABLED">MSG_SET_SKIP_SILENCE_ENABLED</a>, <a href="../Renderer.html#MSG_SET_VIDEO_FRAME_METADATA_LISTENER">MSG_SET_VIDEO_FRAME_METADATA_LISTENER</a>, <a href="../Renderer.html#MSG_SET_VIDEO_OUTPUT">MSG_SET_VIDEO_OUTPUT</a>, <a href="../Renderer.html#MSG_SET_VOLUME">MSG_SET_VOLUME</a>, <a href="../Renderer.html#MSG_SET_WAKEUP_LISTENER">MSG_SET_WAKEUP_LISTENER</a>, <a href="../Renderer.html#STATE_DISABLED">STATE_DISABLED</a>, <a href="../Renderer.html#STATE_ENABLED">STATE_ENABLED</a>, <a href="../Renderer.html#STATE_STARTED">STATE_STARTED</a></code></li>
</ul> </ul>
<ul class="blockList"> <ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.com.google.android.exoplayer2.RendererCapabilities"> <li class="blockList"><a id="fields.inherited.from.class.com.google.android.exoplayer2.RendererCapabilities">
<!-- --> <!-- -->
</a> </a>
<h3>Fields inherited from interface&nbsp;com.google.android.exoplayer2.<a href="../RendererCapabilities.html" title="interface in com.google.android.exoplayer2">RendererCapabilities</a></h3> <h3>Fields inherited from interface&nbsp;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#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> <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_FALLBACK_MIMETYPE">DECODER_SUPPORT_FALLBACK_MIMETYPE</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> </ul>
</li> </li>
</ul> </ul>
@ -640,7 +640,8 @@ public&nbsp;<a href="../util/MediaClock.html" title="interface in com.google.and
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>supportsFormatInternal</h4> <h4>supportsFormatInternal</h4>
<pre class="methodSignature"><a href="../C.FormatSupport.html" title="annotation in com.google.android.exoplayer2">@FormatSupport</a> <pre class="methodSignature">@ForOverride
<a href="../C.FormatSupport.html" title="annotation in com.google.android.exoplayer2">@FormatSupport</a>
protected abstract&nbsp;@com.google.android.exoplayer2.C.FormatSupport int&nbsp;supportsFormatInternal&#8203;(<a href="../Format.html" title="class in com.google.android.exoplayer2">Format</a>&nbsp;format)</pre> protected abstract&nbsp;@com.google.android.exoplayer2.C.FormatSupport int&nbsp;supportsFormatInternal&#8203;(<a href="../Format.html" title="class in com.google.android.exoplayer2">Format</a>&nbsp;format)</pre>
<div class="block">Returns the <a href="../C.FormatSupport.html" title="annotation in com.google.android.exoplayer2"><code>C.FormatSupport</code></a> for the given <a href="../Format.html" title="class in com.google.android.exoplayer2"><code>Format</code></a>.</div> <div class="block">Returns the <a href="../C.FormatSupport.html" title="annotation in com.google.android.exoplayer2"><code>C.FormatSupport</code></a> for the given <a href="../Format.html" title="class in com.google.android.exoplayer2"><code>Format</code></a>.</div>
<dl> <dl>
@ -726,6 +727,7 @@ protected abstract&nbsp;@com.google.android.exoplayer2.C.FormatSupport int&nbsp;
<li class="blockList"> <li class="blockList">
<h4>onPositionDiscontinuity</h4> <h4>onPositionDiscontinuity</h4>
<pre class="methodSignature">@CallSuper <pre class="methodSignature">@CallSuper
@ForOverride
protected&nbsp;void&nbsp;onPositionDiscontinuity()</pre> protected&nbsp;void&nbsp;onPositionDiscontinuity()</pre>
<div class="block">See <a href="AudioSink.Listener.html#onPositionDiscontinuity()"><code>AudioSink.Listener.onPositionDiscontinuity()</code></a>.</div> <div class="block">See <a href="AudioSink.Listener.html#onPositionDiscontinuity()"><code>AudioSink.Listener.onPositionDiscontinuity()</code></a>.</div>
</li> </li>
@ -736,7 +738,8 @@ protected&nbsp;void&nbsp;onPositionDiscontinuity()</pre>
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>createDecoder</h4> <h4>createDecoder</h4>
<pre class="methodSignature">protected abstract&nbsp;<a href="DecoderAudioRenderer.html" title="type parameter in DecoderAudioRenderer">T</a>&nbsp;createDecoder&#8203;(<a href="../Format.html" title="class in com.google.android.exoplayer2">Format</a>&nbsp;format, <pre class="methodSignature">@ForOverride
protected abstract&nbsp;<a href="DecoderAudioRenderer.html" title="type parameter in DecoderAudioRenderer">T</a>&nbsp;createDecoder&#8203;(<a href="../Format.html" title="class in com.google.android.exoplayer2">Format</a>&nbsp;format,
@Nullable @Nullable
<a href="../decoder/CryptoConfig.html" title="interface in com.google.android.exoplayer2.decoder">CryptoConfig</a>&nbsp;cryptoConfig) <a href="../decoder/CryptoConfig.html" title="interface in com.google.android.exoplayer2.decoder">CryptoConfig</a>&nbsp;cryptoConfig)
throws <a href="../decoder/DecoderException.html" title="class in com.google.android.exoplayer2.decoder">DecoderException</a></pre> throws <a href="../decoder/DecoderException.html" title="class in com.google.android.exoplayer2.decoder">DecoderException</a></pre>
@ -761,7 +764,8 @@ protected&nbsp;void&nbsp;onPositionDiscontinuity()</pre>
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>getOutputFormat</h4> <h4>getOutputFormat</h4>
<pre class="methodSignature">protected abstract&nbsp;<a href="../Format.html" title="class in com.google.android.exoplayer2">Format</a>&nbsp;getOutputFormat&#8203;(<a href="DecoderAudioRenderer.html" title="type parameter in DecoderAudioRenderer">T</a>&nbsp;decoder)</pre> <pre class="methodSignature">@ForOverride
protected abstract&nbsp;<a href="../Format.html" title="class in com.google.android.exoplayer2">Format</a>&nbsp;getOutputFormat&#8203;(<a href="DecoderAudioRenderer.html" title="type parameter in DecoderAudioRenderer">T</a>&nbsp;decoder)</pre>
<div class="block">Returns the format of audio buffers output by the decoder. Will not be called until the first <div class="block">Returns the format of audio buffers output by the decoder. Will not be called until the first
output buffer has been dequeued, so the decoder may use input data to determine the format.</div> output buffer has been dequeued, so the decoder may use input data to determine the format.</div>
<dl> <dl>
@ -776,7 +780,8 @@ protected&nbsp;void&nbsp;onPositionDiscontinuity()</pre>
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>canReuseDecoder</h4> <h4>canReuseDecoder</h4>
<pre class="methodSignature">protected&nbsp;<a href="../decoder/DecoderReuseEvaluation.html" title="class in com.google.android.exoplayer2.decoder">DecoderReuseEvaluation</a>&nbsp;canReuseDecoder&#8203;(<a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a>&nbsp;decoderName, <pre class="methodSignature">@ForOverride
protected&nbsp;<a href="../decoder/DecoderReuseEvaluation.html" title="class in com.google.android.exoplayer2.decoder">DecoderReuseEvaluation</a>&nbsp;canReuseDecoder&#8203;(<a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a>&nbsp;decoderName,
<a href="../Format.html" title="class in com.google.android.exoplayer2">Format</a>&nbsp;oldFormat, <a href="../Format.html" title="class in com.google.android.exoplayer2">Format</a>&nbsp;oldFormat,
<a href="../Format.html" title="class in com.google.android.exoplayer2">Format</a>&nbsp;newFormat)</pre> <a href="../Format.html" title="class in com.google.android.exoplayer2">Format</a>&nbsp;newFormat)</pre>
<div class="block">Evaluates whether the existing decoder can be reused for a new <a href="../Format.html" title="class in com.google.android.exoplayer2"><code>Format</code></a>. <div class="block">Evaluates whether the existing decoder can be reused for a new <a href="../Format.html" title="class in com.google.android.exoplayer2"><code>Format</code></a>.

View File

@ -25,12 +25,6 @@
catch(err) { catch(err) {
} }
//--> //-->
var data = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../"; var pathtoroot = "../../../../../";
var useModuleDirectories = false; var useModuleDirectories = false;
loadScripts(document, 'script');</script> loadScripts(document, 'script');</script>
@ -95,7 +89,7 @@ loadScripts(document, 'script');</script>
<li>Detail:&nbsp;</li> <li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li> <li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li> <li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li> <li>Method</li>
</ul> </ul>
</div> </div>
<a id="skip.navbar.top"> <a id="skip.navbar.top">
@ -121,6 +115,10 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<dl> <dl>
<dt>All Superinterfaces:</dt>
<dd><code><a href="AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio">AudioProcessorChain</a></code></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt> <dt>All Known Implementing Classes:</dt>
<dd><code><a href="DefaultAudioSink.DefaultAudioProcessorChain.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.DefaultAudioProcessorChain</a></code></dd> <dd><code><a href="DefaultAudioSink.DefaultAudioProcessorChain.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.DefaultAudioProcessorChain</a></code></dd>
</dl> </dl>
@ -129,11 +127,12 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<dd><a href="DefaultAudioSink.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink</a></dd> <dd><a href="DefaultAudioSink.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink</a></dd>
</dl> </dl>
<hr> <hr>
<pre>public static interface <span class="typeNameLabel">DefaultAudioSink.AudioProcessorChain</span></pre> <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>
<div class="block">Provides a chain of audio processors, which are used for any user-defined processing and public static interface <span class="typeNameLabel">DefaultAudioSink.AudioProcessorChain</span>
applying playback parameters (if supported). Because applying playback parameters can skip and extends <a href="AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio">AudioProcessorChain</a></pre>
stretch/compress audio, the sink will query the chain for information on how to transform its <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
output position to map it onto a media position, via <a href="#getMediaDuration(long)"><code>getMediaDuration(long)</code></a> and <a href="#getSkippedOutputFrameCount()"><code>getSkippedOutputFrameCount()</code></a>.</div> <div class="deprecationComment">Use <a href="AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio"><code>AudioProcessorChain</code></a>.</div>
</div>
</li> </li>
</ul> </ul>
</div> </div>
@ -147,147 +146,12 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<!-- --> <!-- -->
</a> </a>
<h3>Method Summary</h3> <h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="../PlaybackParameters.html" title="class in com.google.android.exoplayer2">PlaybackParameters</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#applyPlaybackParameters(com.google.android.exoplayer2.PlaybackParameters)">applyPlaybackParameters</a></span>&#8203;(<a href="../PlaybackParameters.html" title="class in com.google.android.exoplayer2">PlaybackParameters</a>&nbsp;playbackParameters)</code></th>
<td class="colLast">
<div class="block">Configures audio processors to apply the specified playback parameters immediately, returning
the new playback parameters, which may differ from those passed in.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#applySkipSilenceEnabled(boolean)">applySkipSilenceEnabled</a></span>&#8203;(boolean&nbsp;skipSilenceEnabled)</code></th>
<td class="colLast">
<div class="block">Configures audio processors to apply whether to skip silences immediately, returning the new
value.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="AudioProcessor.html" title="interface in com.google.android.exoplayer2.audio">AudioProcessor</a>[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAudioProcessors()">getAudioProcessors</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the fixed chain of audio processors that will process audio.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMediaDuration(long)">getMediaDuration</a></span>&#8203;(long&nbsp;playoutDuration)</code></th>
<td class="colLast">
<div class="block">Returns the media duration corresponding to the specified playout duration, taking speed
adjustment due to audio processing into account.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSkippedOutputFrameCount()">getSkippedOutputFrameCount</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the number of output audio frames skipped since the audio processors were last
flushed.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList"><a id="methods.inherited.from.class.com.google.android.exoplayer2.audio.AudioProcessorChain">
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- --> <!-- -->
</a> </a>
<h3>Method Detail</h3> <h3>Methods inherited from interface&nbsp;com.google.android.exoplayer2.audio.<a href="AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio">AudioProcessorChain</a></h3>
<a id="getAudioProcessors()"> <code><a href="AudioProcessorChain.html#applyPlaybackParameters(com.google.android.exoplayer2.PlaybackParameters)">applyPlaybackParameters</a>, <a href="AudioProcessorChain.html#applySkipSilenceEnabled(boolean)">applySkipSilenceEnabled</a>, <a href="AudioProcessorChain.html#getAudioProcessors()">getAudioProcessors</a>, <a href="AudioProcessorChain.html#getMediaDuration(long)">getMediaDuration</a>, <a href="AudioProcessorChain.html#getSkippedOutputFrameCount()">getSkippedOutputFrameCount</a></code></li>
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAudioProcessors</h4>
<pre class="methodSignature"><a href="AudioProcessor.html" title="interface in com.google.android.exoplayer2.audio">AudioProcessor</a>[]&nbsp;getAudioProcessors()</pre>
<div class="block">Returns the fixed chain of audio processors that will process audio. This method is called
once during initialization, but audio processors may change state to become active/inactive
during playback.</div>
</li>
</ul>
<a id="applyPlaybackParameters(com.google.android.exoplayer2.PlaybackParameters)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>applyPlaybackParameters</h4>
<pre class="methodSignature"><a href="../PlaybackParameters.html" title="class in com.google.android.exoplayer2">PlaybackParameters</a>&nbsp;applyPlaybackParameters&#8203;(<a href="../PlaybackParameters.html" title="class in com.google.android.exoplayer2">PlaybackParameters</a>&nbsp;playbackParameters)</pre>
<div class="block">Configures audio processors to apply the specified playback parameters immediately, returning
the new playback parameters, which may differ from those passed in. Only called when
processors have no input pending.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>playbackParameters</code> - The playback parameters to try to apply.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The playback parameters that were actually applied.</dd>
</dl>
</li>
</ul>
<a id="applySkipSilenceEnabled(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>applySkipSilenceEnabled</h4>
<pre class="methodSignature">boolean&nbsp;applySkipSilenceEnabled&#8203;(boolean&nbsp;skipSilenceEnabled)</pre>
<div class="block">Configures audio processors to apply whether to skip silences immediately, returning the new
value. Only called when processors have no input pending.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>skipSilenceEnabled</code> - Whether silences should be skipped in the audio stream.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The new value.</dd>
</dl>
</li>
</ul>
<a id="getMediaDuration(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMediaDuration</h4>
<pre class="methodSignature">long&nbsp;getMediaDuration&#8203;(long&nbsp;playoutDuration)</pre>
<div class="block">Returns the media duration corresponding to the specified playout duration, taking speed
adjustment due to audio processing into account.
<p>The scaling performed by this method will use the actual playback speed achieved by the
audio processor chain, on average, since it was last flushed. This may differ very slightly
from the target playback speed.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>playoutDuration</code> - The playout duration to scale.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The corresponding media duration, in the same units as <code>duration</code>.</dd>
</dl>
</li>
</ul>
<a id="getSkippedOutputFrameCount()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getSkippedOutputFrameCount</h4>
<pre class="methodSignature">long&nbsp;getSkippedOutputFrameCount()</pre>
<div class="block">Returns the number of output audio frames skipped since the audio processors were last
flushed.</div>
</li>
</ul> </ul>
</li> </li>
</ul> </ul>
@ -349,7 +213,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<li>Detail:&nbsp;</li> <li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li> <li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li> <li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li> <li>Method</li>
</ul> </ul>
</div> </div>
<a id="skip.navbar.bottom"> <a id="skip.navbar.bottom">

View File

@ -0,0 +1,331 @@
<!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>DefaultAudioSink.AudioTrackBufferSizeProvider (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="DefaultAudioSink.AudioTrackBufferSizeProvider (ExoPlayer library)";
}
}
catch(err) {
}
//-->
var data = {"i0":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
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&nbsp;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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</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>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.audio</a></div>
<h2 title="Interface DefaultAudioSink.AudioTrackBufferSizeProvider" class="title">Interface DefaultAudioSink.AudioTrackBufferSizeProvider</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="DefaultAudioTrackBufferSizeProvider.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioTrackBufferSizeProvider</a></code></dd>
</dl>
<dl>
<dt>Enclosing class:</dt>
<dd><a href="DefaultAudioSink.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink</a></dd>
</dl>
<hr>
<pre>public static interface <span class="typeNameLabel">DefaultAudioSink.AudioTrackBufferSizeProvider</span></pre>
<div class="block">Provides the buffer size to use when creating an <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a>.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="DefaultAudioSink.AudioTrackBufferSizeProvider.html" title="interface in com.google.android.exoplayer2.audio">DefaultAudioSink.AudioTrackBufferSizeProvider</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DEFAULT">DEFAULT</a></span></code></th>
<td class="colLast">
<div class="block">Default instance.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getBufferSizeInBytes(int,@com.google.android.exoplayer2.C.Encodingint,@com.google.android.exoplayer2.audio.DefaultAudioSink.OutputModeint,int,int,double)">getBufferSizeInBytes</a></span>&#8203;(int&nbsp;minBufferSizeInBytes,
@com.google.android.exoplayer2.C.Encoding int&nbsp;encoding,
@com.google.android.exoplayer2.audio.DefaultAudioSink.OutputMode int&nbsp;outputMode,
int&nbsp;pcmFrameSize,
int&nbsp;sampleRate,
double&nbsp;maxAudioTrackPlaybackSpeed)</code></th>
<td class="colLast">
<div class="block">Returns the buffer size to use when creating an <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a> for a specific format and
output mode.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a id="DEFAULT">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DEFAULT</h4>
<pre>static final&nbsp;<a href="DefaultAudioSink.AudioTrackBufferSizeProvider.html" title="interface in com.google.android.exoplayer2.audio">DefaultAudioSink.AudioTrackBufferSizeProvider</a> DEFAULT</pre>
<div class="block">Default instance.</div>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="getBufferSizeInBytes(int,@com.google.android.exoplayer2.C.Encodingint,@com.google.android.exoplayer2.audio.DefaultAudioSink.OutputModeint,int,int,double)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getBufferSizeInBytes</h4>
<pre class="methodSignature">int&nbsp;getBufferSizeInBytes&#8203;(int&nbsp;minBufferSizeInBytes,
@com.google.android.exoplayer2.C.Encoding int&nbsp;encoding,
@com.google.android.exoplayer2.audio.DefaultAudioSink.OutputMode int&nbsp;outputMode,
int&nbsp;pcmFrameSize,
int&nbsp;sampleRate,
double&nbsp;maxAudioTrackPlaybackSpeed)</pre>
<div class="block">Returns the buffer size to use when creating an <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a> for a specific format and
output mode.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>minBufferSizeInBytes</code> - The minimum buffer size in bytes required to play this format.
See <a href="https://developer.android.com/reference/android/media/AudioTrack.html#getMinBufferSize(int,int,int)" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack.getMinBufferSize(int, int, int)</code></a>.</dd>
<dd><code>encoding</code> - The <a href="../C.Encoding.html" title="annotation in com.google.android.exoplayer2"><code>C.Encoding</code></a> of the format.</dd>
<dd><code>outputMode</code> - How the audio will be played. One of the <a href="DefaultAudioSink.OutputMode.html" title="annotation in com.google.android.exoplayer2.audio"><code>output modes</code></a>.</dd>
<dd><code>pcmFrameSize</code> - The size of the PCM frames if the <code>encoding</code> is PCM, 1 otherwise,
in bytes.</dd>
<dd><code>sampleRate</code> - The sample rate of the format, in Hz.</dd>
<dd><code>maxAudioTrackPlaybackSpeed</code> - The maximum speed the content will be played using <a href="https://developer.android.com/reference/android/media/AudioTrack.html#setPlaybackParams(android.media.PlaybackParams)" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack.setPlaybackParams(android.media.PlaybackParams)</code></a>. 0.5 is 2x slow motion, 1 is real time, 2 is 2x fast
forward, etc. This will be <code>1</code> unless <a href="DefaultAudioSink.Builder.html#setEnableAudioTrackPlaybackParams(boolean)"><code>DefaultAudioSink.Builder.setEnableAudioTrackPlaybackParams(boolean)</code></a> is enabled.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The computed buffer size in bytes. It should always be <code>&gt;=
minBufferSizeInBytes</code>. The computed buffer size must contain an integer number of frames:
<code>bufferSizeInBytes % pcmFrameSize == 0</code>.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</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&nbsp;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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

View File

@ -25,7 +25,7 @@
catch(err) { catch(err) {
} }
//--> //-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10}; var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]}; var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor"; var altColor = "altColor";
var rowColor = "rowColor"; var rowColor = "rowColor";
@ -195,9 +195,10 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
</tr> </tr>
<tr id="i2" class="altColor"> <tr id="i2" class="altColor">
<td class="colFirst"><code><a href="DefaultAudioSink.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.Builder</a></code></td> <td class="colFirst"><code><a href="DefaultAudioSink.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setAudioProcessorChain(com.google.android.exoplayer2.audio.DefaultAudioSink.AudioProcessorChain)">setAudioProcessorChain</a></span>&#8203;(<a href="DefaultAudioSink.AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio">DefaultAudioSink.AudioProcessorChain</a>&nbsp;audioProcessorChain)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setAudioProcessorChain(com.google.android.exoplayer2.audio.AudioProcessorChain)">setAudioProcessorChain</a></span>&#8203;(<a href="AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio">AudioProcessorChain</a>&nbsp;audioProcessorChain)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Sets the <a href="DefaultAudioSink.AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio"><code>DefaultAudioSink.AudioProcessorChain</code></a> to process audio before playback.</div> <div class="block">Sets the <a href="AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio"><code>AudioProcessorChain</code></a> to process audio
before playback.</div>
</td> </td>
</tr> </tr>
<tr id="i3" class="rowColor"> <tr id="i3" class="rowColor">
@ -210,9 +211,9 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
</tr> </tr>
<tr id="i4" class="altColor"> <tr id="i4" class="altColor">
<td class="colFirst"><code><a href="DefaultAudioSink.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.Builder</a></code></td> <td class="colFirst"><code><a href="DefaultAudioSink.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setAudioTrackBufferSizeProvider(com.google.android.exoplayer2.audio.DefaultAudioSink.AudioTrackBufferSizeProvider)">setAudioTrackBufferSizeProvider</a></span>&#8203;(com.google.android.exoplayer2.audio.DefaultAudioSink.AudioTrackBufferSizeProvider&nbsp;audioTrackBufferSizeProvider)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setAudioTrackBufferSizeProvider(com.google.android.exoplayer2.audio.DefaultAudioSink.AudioTrackBufferSizeProvider)">setAudioTrackBufferSizeProvider</a></span>&#8203;(<a href="DefaultAudioSink.AudioTrackBufferSizeProvider.html" title="interface in com.google.android.exoplayer2.audio">DefaultAudioSink.AudioTrackBufferSizeProvider</a>&nbsp;audioTrackBufferSizeProvider)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Sets an <code>DefaultAudioSink.AudioTrackBufferSizeProvider</code> to compute the buffer size when <a href="DefaultAudioSink.html#configure(com.google.android.exoplayer2.Format,int,int%5B%5D)"><code>DefaultAudioSink.configure(com.google.android.exoplayer2.Format, int, int[])</code></a> is called with <code>specifiedBufferSize == 0</code>.</div> <div class="block">Sets an <a href="DefaultAudioSink.AudioTrackBufferSizeProvider.html" title="interface in com.google.android.exoplayer2.audio"><code>DefaultAudioSink.AudioTrackBufferSizeProvider</code></a> to compute the buffer size when <a href="DefaultAudioSink.html#configure(com.google.android.exoplayer2.Format,int,int%5B%5D)"><code>DefaultAudioSink.configure(com.google.android.exoplayer2.Format, int, int[])</code></a> is called with <code>specifiedBufferSize == 0</code>.</div>
</td> </td>
</tr> </tr>
<tr id="i5" class="rowColor"> <tr id="i5" class="rowColor">
@ -231,6 +232,14 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
</tr> </tr>
<tr id="i7" class="rowColor"> <tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="DefaultAudioSink.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.Builder</a></code></td> <td class="colFirst"><code><a href="DefaultAudioSink.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setExperimentalAudioOffloadListener(com.google.android.exoplayer2.ExoPlayer.AudioOffloadListener)">setExperimentalAudioOffloadListener</a></span>&#8203;(<a href="../ExoPlayer.AudioOffloadListener.html" title="interface in com.google.android.exoplayer2">ExoPlayer.AudioOffloadListener</a>&nbsp;audioOffloadListener)</code></th>
<td class="colLast">
<div class="block">Sets an optional <a href="../ExoPlayer.AudioOffloadListener.html" title="interface in com.google.android.exoplayer2"><code>ExoPlayer.AudioOffloadListener</code></a> to receive events relevant to offloaded
playback.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="DefaultAudioSink.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setOffloadMode(@com.google.android.exoplayer2.audio.DefaultAudioSink.OffloadModeint)">setOffloadMode</a></span>&#8203;(@com.google.android.exoplayer2.audio.DefaultAudioSink.OffloadMode int&nbsp;offloadMode)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setOffloadMode(@com.google.android.exoplayer2.audio.DefaultAudioSink.OffloadModeint)">setOffloadMode</a></span>&#8203;(@com.google.android.exoplayer2.audio.DefaultAudioSink.OffloadMode int&nbsp;offloadMode)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Sets the offload mode.</div> <div class="block">Sets the offload mode.</div>
@ -286,7 +295,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setAudioCapabilities</h4> <h4>setAudioCapabilities</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultAudioSink.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.Builder</a>&nbsp;setAudioCapabilities&#8203;(<a href="AudioCapabilities.html" title="class in com.google.android.exoplayer2.audio">AudioCapabilities</a>&nbsp;audioCapabilities)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultAudioSink.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.Builder</a>&nbsp;setAudioCapabilities&#8203;(<a href="AudioCapabilities.html" title="class in com.google.android.exoplayer2.audio">AudioCapabilities</a>&nbsp;audioCapabilities)</pre>
<div class="block">Sets audio capabilities for playback on this device. May be <code>null</code> if the default <div class="block">Sets audio capabilities for playback on this device. May be <code>null</code> if the default
capabilities (no encoded audio passthrough support) should be assumed. capabilities (no encoded audio passthrough support) should be assumed.
@ -299,7 +309,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setAudioProcessors</h4> <h4>setAudioProcessors</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultAudioSink.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.Builder</a>&nbsp;setAudioProcessors&#8203;(<a href="AudioProcessor.html" title="interface in com.google.android.exoplayer2.audio">AudioProcessor</a>[]&nbsp;audioProcessors)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultAudioSink.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.Builder</a>&nbsp;setAudioProcessors&#8203;(<a href="AudioProcessor.html" title="interface in com.google.android.exoplayer2.audio">AudioProcessor</a>[]&nbsp;audioProcessors)</pre>
<div class="block">Sets an array of <a href="AudioProcessor.html" title="interface in com.google.android.exoplayer2.audio"><code>AudioProcessors</code></a>s that will process PCM audio before <div class="block">Sets an array of <a href="AudioProcessor.html" title="interface in com.google.android.exoplayer2.audio"><code>AudioProcessors</code></a>s that will process PCM audio before
output. May be empty. Equivalent of <code>setAudioProcessorChain(new output. May be empty. Equivalent of <code>setAudioProcessorChain(new
DefaultAudioProcessorChain(audioProcessors)</code>. DefaultAudioProcessorChain(audioProcessors)</code>.
@ -307,16 +318,17 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<p>The default value is an empty array.</div> <p>The default value is an empty array.</div>
</li> </li>
</ul> </ul>
<a id="setAudioProcessorChain(com.google.android.exoplayer2.audio.DefaultAudioSink.AudioProcessorChain)"> <a id="setAudioProcessorChain(com.google.android.exoplayer2.audio.AudioProcessorChain)">
<!-- --> <!-- -->
</a> </a>
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setAudioProcessorChain</h4> <h4>setAudioProcessorChain</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultAudioSink.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.Builder</a>&nbsp;setAudioProcessorChain&#8203;(<a href="DefaultAudioSink.AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio">DefaultAudioSink.AudioProcessorChain</a>&nbsp;audioProcessorChain)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
<div class="block">Sets the <a href="DefaultAudioSink.AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio"><code>DefaultAudioSink.AudioProcessorChain</code></a> to process audio before playback. The instance passed in public&nbsp;<a href="DefaultAudioSink.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.Builder</a>&nbsp;setAudioProcessorChain&#8203;(<a href="AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio">AudioProcessorChain</a>&nbsp;audioProcessorChain)</pre>
must not be reused in other sinks. Processing chains are only supported for PCM playback (not <div class="block">Sets the <a href="AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio"><code>AudioProcessorChain</code></a> to process audio
passthrough or offload). before playback. The instance passed in must not be reused in other sinks. Processing chains
are only supported for PCM playback (not passthrough or offload).
<p>By default, no processing will be applied.</div> <p>By default, no processing will be applied.</div>
</li> </li>
@ -327,7 +339,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setEnableFloatOutput</h4> <h4>setEnableFloatOutput</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultAudioSink.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.Builder</a>&nbsp;setEnableFloatOutput&#8203;(boolean&nbsp;enableFloatOutput)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultAudioSink.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.Builder</a>&nbsp;setEnableFloatOutput&#8203;(boolean&nbsp;enableFloatOutput)</pre>
<div class="block">Sets whether to enable 32-bit float output or integer output. Where possible, 32-bit float <div class="block">Sets whether to enable 32-bit float output or integer output. Where possible, 32-bit float
output will be used if the input is 32-bit float, and also if the input is high resolution output will be used if the input is 32-bit float, and also if the input is high resolution
(24-bit or 32-bit) integer PCM. Float output is supported from API level 21. Audio processing (24-bit or 32-bit) integer PCM. Float output is supported from API level 21. Audio processing
@ -342,7 +355,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setEnableAudioTrackPlaybackParams</h4> <h4>setEnableAudioTrackPlaybackParams</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultAudioSink.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.Builder</a>&nbsp;setEnableAudioTrackPlaybackParams&#8203;(boolean&nbsp;enableAudioTrackPlaybackParams)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultAudioSink.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.Builder</a>&nbsp;setEnableAudioTrackPlaybackParams&#8203;(boolean&nbsp;enableAudioTrackPlaybackParams)</pre>
<div class="block">Sets whether to control the playback speed using the platform implementation (see <a href="https://developer.android.com/reference/android/media/AudioTrack.html#setPlaybackParams(android.media.PlaybackParams)" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack.setPlaybackParams(PlaybackParams)</code></a>), if supported. If set to <code>false</code>, speed <div class="block">Sets whether to control the playback speed using the platform implementation (see <a href="https://developer.android.com/reference/android/media/AudioTrack.html#setPlaybackParams(android.media.PlaybackParams)" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack.setPlaybackParams(PlaybackParams)</code></a>), if supported. If set to <code>false</code>, speed
up/down of the audio will be done by ExoPlayer (see <a href="SonicAudioProcessor.html" title="class in com.google.android.exoplayer2.audio"><code>SonicAudioProcessor</code></a>). Platform up/down of the audio will be done by ExoPlayer (see <a href="SonicAudioProcessor.html" title="class in com.google.android.exoplayer2.audio"><code>SonicAudioProcessor</code></a>). Platform
speed adjustment is lower latency, but less reliable. speed adjustment is lower latency, but less reliable.
@ -356,7 +370,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setOffloadMode</h4> <h4>setOffloadMode</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultAudioSink.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.Builder</a>&nbsp;setOffloadMode&#8203;(@com.google.android.exoplayer2.audio.DefaultAudioSink.OffloadMode int&nbsp;offloadMode)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultAudioSink.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.Builder</a>&nbsp;setOffloadMode&#8203;(@com.google.android.exoplayer2.audio.DefaultAudioSink.OffloadMode int&nbsp;offloadMode)</pre>
<div class="block">Sets the offload mode. If an audio format can be both played with offload and encoded audio <div class="block">Sets the offload mode. If an audio format can be both played with offload and encoded audio
passthrough, it will be played in offload. Audio offload is supported from API level 29. Most passthrough, it will be played in offload. Audio offload is supported from API level 29. Most
Android devices can only support one offload <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a> at a time and can invalidate Android devices can only support one offload <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a> at a time and can invalidate
@ -373,10 +388,26 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setAudioTrackBufferSizeProvider</h4> <h4>setAudioTrackBufferSizeProvider</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultAudioSink.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.Builder</a>&nbsp;setAudioTrackBufferSizeProvider&#8203;(com.google.android.exoplayer2.audio.DefaultAudioSink.AudioTrackBufferSizeProvider&nbsp;audioTrackBufferSizeProvider)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
<div class="block">Sets an <code>DefaultAudioSink.AudioTrackBufferSizeProvider</code> to compute the buffer size when <a href="DefaultAudioSink.html#configure(com.google.android.exoplayer2.Format,int,int%5B%5D)"><code>DefaultAudioSink.configure(com.google.android.exoplayer2.Format, int, int[])</code></a> is called with <code>specifiedBufferSize == 0</code>. public&nbsp;<a href="DefaultAudioSink.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.Builder</a>&nbsp;setAudioTrackBufferSizeProvider&#8203;(<a href="DefaultAudioSink.AudioTrackBufferSizeProvider.html" title="interface in com.google.android.exoplayer2.audio">DefaultAudioSink.AudioTrackBufferSizeProvider</a>&nbsp;audioTrackBufferSizeProvider)</pre>
<div class="block">Sets an <a href="DefaultAudioSink.AudioTrackBufferSizeProvider.html" title="interface in com.google.android.exoplayer2.audio"><code>DefaultAudioSink.AudioTrackBufferSizeProvider</code></a> to compute the buffer size when <a href="DefaultAudioSink.html#configure(com.google.android.exoplayer2.Format,int,int%5B%5D)"><code>DefaultAudioSink.configure(com.google.android.exoplayer2.Format, int, int[])</code></a> is called with <code>specifiedBufferSize == 0</code>.
<p>The default value is <code>DefaultAudioSink.AudioTrackBufferSizeProvider.DEFAULT</code>.</div> <p>The default value is <a href="DefaultAudioSink.AudioTrackBufferSizeProvider.html#DEFAULT"><code>DefaultAudioSink.AudioTrackBufferSizeProvider.DEFAULT</code></a>.</div>
</li>
</ul>
<a id="setExperimentalAudioOffloadListener(com.google.android.exoplayer2.ExoPlayer.AudioOffloadListener)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setExperimentalAudioOffloadListener</h4>
<pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultAudioSink.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.Builder</a>&nbsp;setExperimentalAudioOffloadListener&#8203;(@Nullable
<a href="../ExoPlayer.AudioOffloadListener.html" title="interface in com.google.android.exoplayer2">ExoPlayer.AudioOffloadListener</a>&nbsp;audioOffloadListener)</pre>
<div class="block">Sets an optional <a href="../ExoPlayer.AudioOffloadListener.html" title="interface in com.google.android.exoplayer2"><code>ExoPlayer.AudioOffloadListener</code></a> to receive events relevant to offloaded
playback.
<p>The default value is null.</div>
</li> </li>
</ul> </ul>
<a id="build()"> <a id="build()">

View File

@ -130,7 +130,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<li class="blockList"> <li class="blockList">
<dl> <dl>
<dt>All Implemented Interfaces:</dt> <dt>All Implemented Interfaces:</dt>
<dd><code><a href="DefaultAudioSink.AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio">DefaultAudioSink.AudioProcessorChain</a></code></dd> <dd><code><a href="AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio">AudioProcessorChain</a></code>, <code><a href="DefaultAudioSink.AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio">DefaultAudioSink.AudioProcessorChain</a></code></dd>
</dl> </dl>
<dl> <dl>
<dt>Enclosing class:</dt> <dt>Enclosing class:</dt>
@ -230,8 +230,7 @@ implements <a href="DefaultAudioSink.AudioProcessorChain.html" title="interface
<td class="colFirst"><code>long</code></td> <td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSkippedOutputFrameCount()">getSkippedOutputFrameCount</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSkippedOutputFrameCount()">getSkippedOutputFrameCount</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Returns the number of output audio frames skipped since the audio processors were last <div class="block">Returns the number of output audio frames skipped since the audio processors were last flushed.</div>
flushed.</div>
</td> </td>
</tr> </tr>
</table> </table>
@ -299,13 +298,13 @@ implements <a href="DefaultAudioSink.AudioProcessorChain.html" title="interface
<li class="blockList"> <li class="blockList">
<h4>getAudioProcessors</h4> <h4>getAudioProcessors</h4>
<pre class="methodSignature">public&nbsp;<a href="AudioProcessor.html" title="interface in com.google.android.exoplayer2.audio">AudioProcessor</a>[]&nbsp;getAudioProcessors()</pre> <pre class="methodSignature">public&nbsp;<a href="AudioProcessor.html" title="interface in com.google.android.exoplayer2.audio">AudioProcessor</a>[]&nbsp;getAudioProcessors()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="DefaultAudioSink.AudioProcessorChain.html#getAudioProcessors()">DefaultAudioSink.AudioProcessorChain</a></code></span></div> <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="AudioProcessorChain.html#getAudioProcessors()">AudioProcessorChain</a></code></span></div>
<div class="block">Returns the fixed chain of audio processors that will process audio. This method is called <div class="block">Returns the fixed chain of audio processors that will process audio. This method is called once
once during initialization, but audio processors may change state to become active/inactive during initialization, but audio processors may change state to become active/inactive during
during playback.</div> playback.</div>
<dl> <dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="DefaultAudioSink.AudioProcessorChain.html#getAudioProcessors()">getAudioProcessors</a></code>&nbsp;in interface&nbsp;<code><a href="DefaultAudioSink.AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio">DefaultAudioSink.AudioProcessorChain</a></code></dd> <dd><code><a href="AudioProcessorChain.html#getAudioProcessors()">getAudioProcessors</a></code>&nbsp;in interface&nbsp;<code><a href="AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio">AudioProcessorChain</a></code></dd>
</dl> </dl>
</li> </li>
</ul> </ul>
@ -316,13 +315,13 @@ implements <a href="DefaultAudioSink.AudioProcessorChain.html" title="interface
<li class="blockList"> <li class="blockList">
<h4>applyPlaybackParameters</h4> <h4>applyPlaybackParameters</h4>
<pre class="methodSignature">public&nbsp;<a href="../PlaybackParameters.html" title="class in com.google.android.exoplayer2">PlaybackParameters</a>&nbsp;applyPlaybackParameters&#8203;(<a href="../PlaybackParameters.html" title="class in com.google.android.exoplayer2">PlaybackParameters</a>&nbsp;playbackParameters)</pre> <pre class="methodSignature">public&nbsp;<a href="../PlaybackParameters.html" title="class in com.google.android.exoplayer2">PlaybackParameters</a>&nbsp;applyPlaybackParameters&#8203;(<a href="../PlaybackParameters.html" title="class in com.google.android.exoplayer2">PlaybackParameters</a>&nbsp;playbackParameters)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="DefaultAudioSink.AudioProcessorChain.html#applyPlaybackParameters(com.google.android.exoplayer2.PlaybackParameters)">DefaultAudioSink.AudioProcessorChain</a></code></span></div> <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="AudioProcessorChain.html#applyPlaybackParameters(com.google.android.exoplayer2.PlaybackParameters)">AudioProcessorChain</a></code></span></div>
<div class="block">Configures audio processors to apply the specified playback parameters immediately, returning <div class="block">Configures audio processors to apply the specified playback parameters immediately, returning
the new playback parameters, which may differ from those passed in. Only called when the new playback parameters, which may differ from those passed in. Only called when processors
processors have no input pending.</div> have no input pending.</div>
<dl> <dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="DefaultAudioSink.AudioProcessorChain.html#applyPlaybackParameters(com.google.android.exoplayer2.PlaybackParameters)">applyPlaybackParameters</a></code>&nbsp;in interface&nbsp;<code><a href="DefaultAudioSink.AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio">DefaultAudioSink.AudioProcessorChain</a></code></dd> <dd><code><a href="AudioProcessorChain.html#applyPlaybackParameters(com.google.android.exoplayer2.PlaybackParameters)">applyPlaybackParameters</a></code>&nbsp;in interface&nbsp;<code><a href="AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio">AudioProcessorChain</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt> <dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>playbackParameters</code> - The playback parameters to try to apply.</dd> <dd><code>playbackParameters</code> - The playback parameters to try to apply.</dd>
<dt><span class="returnLabel">Returns:</span></dt> <dt><span class="returnLabel">Returns:</span></dt>
@ -337,12 +336,12 @@ implements <a href="DefaultAudioSink.AudioProcessorChain.html" title="interface
<li class="blockList"> <li class="blockList">
<h4>applySkipSilenceEnabled</h4> <h4>applySkipSilenceEnabled</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;applySkipSilenceEnabled&#8203;(boolean&nbsp;skipSilenceEnabled)</pre> <pre class="methodSignature">public&nbsp;boolean&nbsp;applySkipSilenceEnabled&#8203;(boolean&nbsp;skipSilenceEnabled)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="DefaultAudioSink.AudioProcessorChain.html#applySkipSilenceEnabled(boolean)">DefaultAudioSink.AudioProcessorChain</a></code></span></div> <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="AudioProcessorChain.html#applySkipSilenceEnabled(boolean)">AudioProcessorChain</a></code></span></div>
<div class="block">Configures audio processors to apply whether to skip silences immediately, returning the new <div class="block">Configures audio processors to apply whether to skip silences immediately, returning the new
value. Only called when processors have no input pending.</div> value. Only called when processors have no input pending.</div>
<dl> <dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="DefaultAudioSink.AudioProcessorChain.html#applySkipSilenceEnabled(boolean)">applySkipSilenceEnabled</a></code>&nbsp;in interface&nbsp;<code><a href="DefaultAudioSink.AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio">DefaultAudioSink.AudioProcessorChain</a></code></dd> <dd><code><a href="AudioProcessorChain.html#applySkipSilenceEnabled(boolean)">applySkipSilenceEnabled</a></code>&nbsp;in interface&nbsp;<code><a href="AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio">AudioProcessorChain</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt> <dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>skipSilenceEnabled</code> - Whether silences should be skipped in the audio stream.</dd> <dd><code>skipSilenceEnabled</code> - Whether silences should be skipped in the audio stream.</dd>
<dt><span class="returnLabel">Returns:</span></dt> <dt><span class="returnLabel">Returns:</span></dt>
@ -357,7 +356,7 @@ implements <a href="DefaultAudioSink.AudioProcessorChain.html" title="interface
<li class="blockList"> <li class="blockList">
<h4>getMediaDuration</h4> <h4>getMediaDuration</h4>
<pre class="methodSignature">public&nbsp;long&nbsp;getMediaDuration&#8203;(long&nbsp;playoutDuration)</pre> <pre class="methodSignature">public&nbsp;long&nbsp;getMediaDuration&#8203;(long&nbsp;playoutDuration)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="DefaultAudioSink.AudioProcessorChain.html#getMediaDuration(long)">DefaultAudioSink.AudioProcessorChain</a></code></span></div> <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="AudioProcessorChain.html#getMediaDuration(long)">AudioProcessorChain</a></code></span></div>
<div class="block">Returns the media duration corresponding to the specified playout duration, taking speed <div class="block">Returns the media duration corresponding to the specified playout duration, taking speed
adjustment due to audio processing into account. adjustment due to audio processing into account.
@ -366,7 +365,7 @@ implements <a href="DefaultAudioSink.AudioProcessorChain.html" title="interface
from the target playback speed.</div> from the target playback speed.</div>
<dl> <dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="DefaultAudioSink.AudioProcessorChain.html#getMediaDuration(long)">getMediaDuration</a></code>&nbsp;in interface&nbsp;<code><a href="DefaultAudioSink.AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio">DefaultAudioSink.AudioProcessorChain</a></code></dd> <dd><code><a href="AudioProcessorChain.html#getMediaDuration(long)">getMediaDuration</a></code>&nbsp;in interface&nbsp;<code><a href="AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio">AudioProcessorChain</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt> <dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>playoutDuration</code> - The playout duration to scale.</dd> <dd><code>playoutDuration</code> - The playout duration to scale.</dd>
<dt><span class="returnLabel">Returns:</span></dt> <dt><span class="returnLabel">Returns:</span></dt>
@ -381,12 +380,11 @@ implements <a href="DefaultAudioSink.AudioProcessorChain.html" title="interface
<li class="blockList"> <li class="blockList">
<h4>getSkippedOutputFrameCount</h4> <h4>getSkippedOutputFrameCount</h4>
<pre class="methodSignature">public&nbsp;long&nbsp;getSkippedOutputFrameCount()</pre> <pre class="methodSignature">public&nbsp;long&nbsp;getSkippedOutputFrameCount()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="DefaultAudioSink.AudioProcessorChain.html#getSkippedOutputFrameCount()">DefaultAudioSink.AudioProcessorChain</a></code></span></div> <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="AudioProcessorChain.html#getSkippedOutputFrameCount()">AudioProcessorChain</a></code></span></div>
<div class="block">Returns the number of output audio frames skipped since the audio processors were last <div class="block">Returns the number of output audio frames skipped since the audio processors were last flushed.</div>
flushed.</div>
<dl> <dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="DefaultAudioSink.AudioProcessorChain.html#getSkippedOutputFrameCount()">getSkippedOutputFrameCount</a></code>&nbsp;in interface&nbsp;<code><a href="DefaultAudioSink.AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio">DefaultAudioSink.AudioProcessorChain</a></code></dd> <dd><code><a href="AudioProcessorChain.html#getSkippedOutputFrameCount()">getSkippedOutputFrameCount</a></code>&nbsp;in interface&nbsp;<code><a href="AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio">AudioProcessorChain</a></code></dd>
</dl> </dl>
</li> </li>
</ul> </ul>

View File

@ -25,7 +25,7 @@
catch(err) { 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}; 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};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]}; var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor"; var altColor = "altColor";
var rowColor = "rowColor"; var rowColor = "rowColor";
@ -167,18 +167,26 @@ implements <a href="AudioSink.html" title="interface in com.google.android.exopl
<td class="colFirst"><code>static interface&nbsp;</code></td> <td class="colFirst"><code>static interface&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="DefaultAudioSink.AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio">DefaultAudioSink.AudioProcessorChain</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="DefaultAudioSink.AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio">DefaultAudioSink.AudioProcessorChain</a></span></code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Provides a chain of audio processors, which are used for any user-defined processing and <div class="block"><span class="deprecatedLabel">Deprecated.</span>
applying playback parameters (if supported).</div> <div class="deprecationComment">Use <a href="AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio"><code>AudioProcessorChain</code></a>.</div>
</div>
</td> </td>
</tr> </tr>
<tr class="rowColor"> <tr class="rowColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="DefaultAudioSink.AudioTrackBufferSizeProvider.html" title="interface in com.google.android.exoplayer2.audio">DefaultAudioSink.AudioTrackBufferSizeProvider</a></span></code></th>
<td class="colLast">
<div class="block">Provides the buffer size to use when creating an <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td> <td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="DefaultAudioSink.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.Builder</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="DefaultAudioSink.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.Builder</a></span></code></th>
<td class="colLast"> <td class="colLast">
<div class="block">A builder to create <a href="DefaultAudioSink.html" title="class in com.google.android.exoplayer2.audio"><code>DefaultAudioSink</code></a> instances.</div> <div class="block">A builder to create <a href="DefaultAudioSink.html" title="class in com.google.android.exoplayer2.audio"><code>DefaultAudioSink</code></a> instances.</div>
</td> </td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td> <td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="DefaultAudioSink.DefaultAudioProcessorChain.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.DefaultAudioProcessorChain</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="DefaultAudioSink.DefaultAudioProcessorChain.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.DefaultAudioProcessorChain</a></span></code></th>
<td class="colLast"> <td class="colLast">
@ -186,21 +194,21 @@ implements <a href="AudioSink.html" title="interface in com.google.android.exopl
processors followed by <a href="SilenceSkippingAudioProcessor.html" title="class in com.google.android.exoplayer2.audio"><code>SilenceSkippingAudioProcessor</code></a> and <a href="SonicAudioProcessor.html" title="class in com.google.android.exoplayer2.audio"><code>SonicAudioProcessor</code></a>.</div> processors followed by <a href="SilenceSkippingAudioProcessor.html" title="class in com.google.android.exoplayer2.audio"><code>SilenceSkippingAudioProcessor</code></a> and <a href="SonicAudioProcessor.html" title="class in com.google.android.exoplayer2.audio"><code>SonicAudioProcessor</code></a>.</div>
</td> </td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td> <td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="DefaultAudioSink.InvalidAudioTrackTimestampException.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.InvalidAudioTrackTimestampException</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="DefaultAudioSink.InvalidAudioTrackTimestampException.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.InvalidAudioTrackTimestampException</a></span></code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Thrown when the audio track has provided a spurious timestamp, if <a href="#failOnSpuriousAudioTimestamp"><code>failOnSpuriousAudioTimestamp</code></a> is set.</div> <div class="block">Thrown when the audio track has provided a spurious timestamp, if <a href="#failOnSpuriousAudioTimestamp"><code>failOnSpuriousAudioTimestamp</code></a> is set.</div>
</td> </td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<td class="colFirst"><code>static interface&nbsp;</code></td> <td class="colFirst"><code>static interface&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="DefaultAudioSink.OffloadMode.html" title="annotation in com.google.android.exoplayer2.audio">DefaultAudioSink.OffloadMode</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="DefaultAudioSink.OffloadMode.html" title="annotation in com.google.android.exoplayer2.audio">DefaultAudioSink.OffloadMode</a></span></code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Audio offload mode configuration.</div> <div class="block">Audio offload mode configuration.</div>
</td> </td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<td class="colFirst"><code>static interface&nbsp;</code></td> <td class="colFirst"><code>static interface&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="DefaultAudioSink.OutputMode.html" title="annotation in com.google.android.exoplayer2.audio">DefaultAudioSink.OutputMode</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="DefaultAudioSink.OutputMode.html" title="annotation in com.google.android.exoplayer2.audio">DefaultAudioSink.OutputMode</a></span></code></th>
<td class="colLast"> <td class="colLast">
@ -575,19 +583,26 @@ implements <a href="AudioSink.html" title="interface in com.google.android.exopl
</tr> </tr>
<tr id="i24" class="altColor"> <tr id="i24" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPreferredDevice(android.media.AudioDeviceInfo)">setPreferredDevice</a></span>&#8203;(<a href="https://developer.android.com/reference/android/media/AudioDeviceInfo.html" title="class or interface in android.media" class="externalLink" target="_top">AudioDeviceInfo</a>&nbsp;audioDeviceInfo)</code></th>
<td class="colLast">
<div class="block">Sets the preferred audio device.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSkipSilenceEnabled(boolean)">setSkipSilenceEnabled</a></span>&#8203;(boolean&nbsp;skipSilenceEnabled)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSkipSilenceEnabled(boolean)">setSkipSilenceEnabled</a></span>&#8203;(boolean&nbsp;skipSilenceEnabled)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Sets whether silences should be skipped in the audio stream.</div> <div class="block">Sets whether silences should be skipped in the audio stream.</div>
</td> </td>
</tr> </tr>
<tr id="i25" class="rowColor"> <tr id="i26" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVolume(float)">setVolume</a></span>&#8203;(float&nbsp;volume)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVolume(float)">setVolume</a></span>&#8203;(float&nbsp;volume)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Sets the playback volume.</div> <div class="block">Sets the playback volume.</div>
</td> </td>
</tr> </tr>
<tr id="i26" class="altColor"> <tr id="i27" class="rowColor">
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#supportsFormat(com.google.android.exoplayer2.Format)">supportsFormat</a></span>&#8203;(<a href="../Format.html" title="class in com.google.android.exoplayer2">Format</a>&nbsp;format)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#supportsFormat(com.google.android.exoplayer2.Format)">supportsFormat</a></span>&#8203;(<a href="../Format.html" title="class in com.google.android.exoplayer2">Format</a>&nbsp;format)</code></th>
<td class="colLast"> <td class="colLast">
@ -602,6 +617,13 @@ implements <a href="AudioSink.html" title="interface in com.google.android.exopl
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></h3> <h3>Methods inherited from class&nbsp;java.lang.<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></h3>
<code><a href="https://developer.android.com/reference/java/lang/Object.html#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink" target="_top">wait</a></code></li> <code><a href="https://developer.android.com/reference/java/lang/Object.html#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink" target="_top">wait</a></code></li>
</ul> </ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.com.google.android.exoplayer2.audio.AudioSink">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;com.google.android.exoplayer2.audio.<a href="AudioSink.html" title="interface in com.google.android.exoplayer2.audio">AudioSink</a></h3>
<code><a href="AudioSink.html#setOutputStreamOffsetUs(long)">setOutputStreamOffsetUs</a></code></li>
</ul>
</li> </li>
</ul> </ul>
</section> </section>
@ -1255,6 +1277,26 @@ public&nbsp;DefaultAudioSink&#8203;(@Nullable
</dl> </dl>
</li> </li>
</ul> </ul>
<a id="setPreferredDevice(android.media.AudioDeviceInfo)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPreferredDevice</h4>
<pre class="methodSignature">@RequiresApi(23)
public&nbsp;void&nbsp;setPreferredDevice&#8203;(@Nullable
<a href="https://developer.android.com/reference/android/media/AudioDeviceInfo.html" title="class or interface in android.media" class="externalLink" target="_top">AudioDeviceInfo</a>&nbsp;audioDeviceInfo)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="AudioSink.html#setPreferredDevice(android.media.AudioDeviceInfo)">AudioSink</a></code></span></div>
<div class="block">Sets the preferred audio device.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="AudioSink.html#setPreferredDevice(android.media.AudioDeviceInfo)">setPreferredDevice</a></code>&nbsp;in interface&nbsp;<code><a href="AudioSink.html" title="interface in com.google.android.exoplayer2.audio">AudioSink</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>audioDeviceInfo</code> - The preferred <a href="https://developer.android.com/reference/android/media/AudioDeviceInfo.html" title="class or interface in android.media" class="externalLink" target="_top">audio device</a>, or null to
restore the default.</dd>
</dl>
</li>
</ul>
<a id="enableTunnelingV21()"> <a id="enableTunnelingV21()">
<!-- --> <!-- -->
</a> </a>

View File

@ -279,7 +279,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setMinPcmBufferDurationUs</h4> <h4>setMinPcmBufferDurationUs</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultAudioTrackBufferSizeProvider.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioTrackBufferSizeProvider.Builder</a>&nbsp;setMinPcmBufferDurationUs&#8203;(int&nbsp;minPcmBufferDurationUs)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultAudioTrackBufferSizeProvider.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioTrackBufferSizeProvider.Builder</a>&nbsp;setMinPcmBufferDurationUs&#8203;(int&nbsp;minPcmBufferDurationUs)</pre>
<div class="block">Sets the minimum length for PCM <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a> buffers, in microseconds. Default is <div class="block">Sets the minimum length for PCM <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a> buffers, in microseconds. Default is
<a href="DefaultAudioTrackBufferSizeProvider.html#MIN_PCM_BUFFER_DURATION_US">250000</a>.</div> <a href="DefaultAudioTrackBufferSizeProvider.html#MIN_PCM_BUFFER_DURATION_US">250000</a>.</div>
</li> </li>
@ -290,7 +291,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setMaxPcmBufferDurationUs</h4> <h4>setMaxPcmBufferDurationUs</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultAudioTrackBufferSizeProvider.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioTrackBufferSizeProvider.Builder</a>&nbsp;setMaxPcmBufferDurationUs&#8203;(int&nbsp;maxPcmBufferDurationUs)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultAudioTrackBufferSizeProvider.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioTrackBufferSizeProvider.Builder</a>&nbsp;setMaxPcmBufferDurationUs&#8203;(int&nbsp;maxPcmBufferDurationUs)</pre>
<div class="block">Sets the maximum length for PCM <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a> buffers, in microseconds. Default is <div class="block">Sets the maximum length for PCM <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a> buffers, in microseconds. Default is
<a href="DefaultAudioTrackBufferSizeProvider.html#MAX_PCM_BUFFER_DURATION_US">750000</a>.</div> <a href="DefaultAudioTrackBufferSizeProvider.html#MAX_PCM_BUFFER_DURATION_US">750000</a>.</div>
</li> </li>
@ -301,7 +303,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setPcmBufferMultiplicationFactor</h4> <h4>setPcmBufferMultiplicationFactor</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultAudioTrackBufferSizeProvider.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioTrackBufferSizeProvider.Builder</a>&nbsp;setPcmBufferMultiplicationFactor&#8203;(int&nbsp;pcmBufferMultiplicationFactor)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultAudioTrackBufferSizeProvider.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioTrackBufferSizeProvider.Builder</a>&nbsp;setPcmBufferMultiplicationFactor&#8203;(int&nbsp;pcmBufferMultiplicationFactor)</pre>
<div class="block">Sets the multiplication factor to apply to the minimum buffer size requested. Default is <div class="block">Sets the multiplication factor to apply to the minimum buffer size requested. Default is
<a href="DefaultAudioTrackBufferSizeProvider.html#PCM_BUFFER_MULTIPLICATION_FACTOR">4</a>.</div> <a href="DefaultAudioTrackBufferSizeProvider.html#PCM_BUFFER_MULTIPLICATION_FACTOR">4</a>.</div>
</li> </li>
@ -312,7 +315,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setPassthroughBufferDurationUs</h4> <h4>setPassthroughBufferDurationUs</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultAudioTrackBufferSizeProvider.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioTrackBufferSizeProvider.Builder</a>&nbsp;setPassthroughBufferDurationUs&#8203;(int&nbsp;passthroughBufferDurationUs)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultAudioTrackBufferSizeProvider.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioTrackBufferSizeProvider.Builder</a>&nbsp;setPassthroughBufferDurationUs&#8203;(int&nbsp;passthroughBufferDurationUs)</pre>
<div class="block">Sets the length for passthrough <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a> buffers, in microseconds. Default is <div class="block">Sets the length for passthrough <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a> buffers, in microseconds. Default is
<a href="DefaultAudioTrackBufferSizeProvider.html#PASSTHROUGH_BUFFER_DURATION_US">250000</a>.</div> <a href="DefaultAudioTrackBufferSizeProvider.html#PASSTHROUGH_BUFFER_DURATION_US">250000</a>.</div>
</li> </li>
@ -323,7 +327,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setOffloadBufferDurationUs</h4> <h4>setOffloadBufferDurationUs</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultAudioTrackBufferSizeProvider.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioTrackBufferSizeProvider.Builder</a>&nbsp;setOffloadBufferDurationUs&#8203;(int&nbsp;offloadBufferDurationUs)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultAudioTrackBufferSizeProvider.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioTrackBufferSizeProvider.Builder</a>&nbsp;setOffloadBufferDurationUs&#8203;(int&nbsp;offloadBufferDurationUs)</pre>
<div class="block">The length for offload <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink"><code>AudioTrack</code></a> buffers, in microseconds. Default is <a href="DefaultAudioTrackBufferSizeProvider.html#OFFLOAD_BUFFER_DURATION_US" target="_top">50000000</a>.</div> <div class="block">The length for offload <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink"><code>AudioTrack</code></a> buffers, in microseconds. Default is <a href="DefaultAudioTrackBufferSizeProvider.html#OFFLOAD_BUFFER_DURATION_US" target="_top">50000000</a>.</div>
</li> </li>
</ul> </ul>
@ -333,7 +338,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setAc3BufferMultiplicationFactor</h4> <h4>setAc3BufferMultiplicationFactor</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultAudioTrackBufferSizeProvider.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioTrackBufferSizeProvider.Builder</a>&nbsp;setAc3BufferMultiplicationFactor&#8203;(int&nbsp;ac3BufferMultiplicationFactor)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultAudioTrackBufferSizeProvider.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioTrackBufferSizeProvider.Builder</a>&nbsp;setAc3BufferMultiplicationFactor&#8203;(int&nbsp;ac3BufferMultiplicationFactor)</pre>
<div class="block">Sets the multiplication factor to apply to the passthrough buffer for AC3 to avoid underruns <div class="block">Sets the multiplication factor to apply to the passthrough buffer for AC3 to avoid underruns
on some devices (e.g., Broadcom 7271). Default is <a href="DefaultAudioTrackBufferSizeProvider.html#AC3_BUFFER_MULTIPLICATION_FACTOR">2</a>.</div> on some devices (e.g., Broadcom 7271). Default is <a href="DefaultAudioTrackBufferSizeProvider.html#AC3_BUFFER_MULTIPLICATION_FACTOR">2</a>.</div>
</li> </li>

View File

@ -128,9 +128,14 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<div class="description"> <div class="description">
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="DefaultAudioSink.AudioTrackBufferSizeProvider.html" title="interface in com.google.android.exoplayer2.audio">DefaultAudioSink.AudioTrackBufferSizeProvider</a></code></dd>
</dl>
<hr> <hr>
<pre>public class <span class="typeNameLabel">DefaultAudioTrackBufferSizeProvider</span> <pre>public class <span class="typeNameLabel">DefaultAudioTrackBufferSizeProvider</span>
extends <a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></pre> extends <a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a>
implements <a href="DefaultAudioSink.AudioTrackBufferSizeProvider.html" title="interface in com.google.android.exoplayer2.audio">DefaultAudioSink.AudioTrackBufferSizeProvider</a></pre>
<div class="block">Provide the buffer size to use when creating an <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a>.</div> <div class="block">Provide the buffer size to use when creating an <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a>.</div>
</li> </li>
</ul> </ul>
@ -186,41 +191,34 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
</td> </td>
</tr> </tr>
<tr class="rowColor"> <tr class="rowColor">
<td class="colFirst"><code>static com.google.android.exoplayer2.audio.DefaultAudioSink.AudioTrackBufferSizeProvider</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DEFAULT">DEFAULT</a></span></code></th>
<td class="colLast">
<div class="block">Default instance.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected int</code></td> <td class="colFirst"><code>protected int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#maxPcmBufferDurationUs">maxPcmBufferDurationUs</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#maxPcmBufferDurationUs">maxPcmBufferDurationUs</a></span></code></th>
<td class="colLast"> <td class="colLast">
<div class="block">The maximum length for PCM <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a> buffers, in microseconds.</div> <div class="block">The maximum length for PCM <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a> buffers, in microseconds.</div>
</td> </td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<td class="colFirst"><code>protected int</code></td> <td class="colFirst"><code>protected int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#minPcmBufferDurationUs">minPcmBufferDurationUs</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#minPcmBufferDurationUs">minPcmBufferDurationUs</a></span></code></th>
<td class="colLast"> <td class="colLast">
<div class="block">The minimum length for PCM <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a> buffers, in microseconds.</div> <div class="block">The minimum length for PCM <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a> buffers, in microseconds.</div>
</td> </td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<td class="colFirst"><code>protected int</code></td> <td class="colFirst"><code>protected int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#offloadBufferDurationUs">offloadBufferDurationUs</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#offloadBufferDurationUs">offloadBufferDurationUs</a></span></code></th>
<td class="colLast"> <td class="colLast">
<div class="block">The length for offload <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a> buffers, in microseconds.</div> <div class="block">The length for offload <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a> buffers, in microseconds.</div>
</td> </td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<td class="colFirst"><code>protected int</code></td> <td class="colFirst"><code>protected int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#passthroughBufferDurationUs">passthroughBufferDurationUs</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#passthroughBufferDurationUs">passthroughBufferDurationUs</a></span></code></th>
<td class="colLast"> <td class="colLast">
<div class="block">The length for passthrough <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a> buffers, in microseconds.</div> <div class="block">The length for passthrough <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a> buffers, in microseconds.</div>
</td> </td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<td class="colFirst"><code>protected int</code></td> <td class="colFirst"><code>protected int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#pcmBufferMultiplicationFactor">pcmBufferMultiplicationFactor</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#pcmBufferMultiplicationFactor">pcmBufferMultiplicationFactor</a></span></code></th>
<td class="colLast"> <td class="colLast">
@ -228,6 +226,13 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
</td> </td>
</tr> </tr>
</table> </table>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.com.google.android.exoplayer2.audio.DefaultAudioSink.AudioTrackBufferSizeProvider">
<!-- -->
</a>
<h3>Fields inherited from interface&nbsp;com.google.android.exoplayer2.audio.<a href="DefaultAudioSink.AudioTrackBufferSizeProvider.html" title="interface in com.google.android.exoplayer2.audio">DefaultAudioSink.AudioTrackBufferSizeProvider</a></h3>
<code><a href="DefaultAudioSink.AudioTrackBufferSizeProvider.html#DEFAULT">DEFAULT</a></code></li>
</ul>
</li> </li>
</ul> </ul>
</section> </section>
@ -294,7 +299,10 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
int&nbsp;pcmFrameSize, int&nbsp;pcmFrameSize,
int&nbsp;sampleRate, int&nbsp;sampleRate,
double&nbsp;maxAudioTrackPlaybackSpeed)</code></th> double&nbsp;maxAudioTrackPlaybackSpeed)</code></th>
<td class="colLast">&nbsp;</td> <td class="colLast">
<div class="block">Returns the buffer size to use when creating an <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a> for a specific format and
output mode.</div>
</td>
</tr> </tr>
<tr id="i3" class="rowColor"> <tr id="i3" class="rowColor">
<td class="colFirst"><code>protected static int</code></td> <td class="colFirst"><code>protected static int</code></td>
@ -401,7 +409,7 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<a id="ac3BufferMultiplicationFactor"> <a id="ac3BufferMultiplicationFactor">
<!-- --> <!-- -->
</a> </a>
<ul class="blockList"> <ul class="blockListLast">
<li class="blockList"> <li class="blockList">
<h4>ac3BufferMultiplicationFactor</h4> <h4>ac3BufferMultiplicationFactor</h4>
<pre>public final&nbsp;int ac3BufferMultiplicationFactor</pre> <pre>public final&nbsp;int ac3BufferMultiplicationFactor</pre>
@ -409,16 +417,6 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
(e.g., Broadcom 7271).</div> (e.g., Broadcom 7271).</div>
</li> </li>
</ul> </ul>
<a id="DEFAULT">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DEFAULT</h4>
<pre>public static final&nbsp;com.google.android.exoplayer2.audio.DefaultAudioSink.AudioTrackBufferSizeProvider DEFAULT</pre>
<div class="block">Default instance.</div>
</li>
</ul>
</li> </li>
</ul> </ul>
</section> </section>
@ -460,6 +458,27 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
int&nbsp;pcmFrameSize, int&nbsp;pcmFrameSize,
int&nbsp;sampleRate, int&nbsp;sampleRate,
double&nbsp;maxAudioTrackPlaybackSpeed)</pre> double&nbsp;maxAudioTrackPlaybackSpeed)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="DefaultAudioSink.AudioTrackBufferSizeProvider.html#getBufferSizeInBytes(int,@com.google.android.exoplayer2.C.Encodingint,@com.google.android.exoplayer2.audio.DefaultAudioSink.OutputModeint,int,int,double)">DefaultAudioSink.AudioTrackBufferSizeProvider</a></code></span></div>
<div class="block">Returns the buffer size to use when creating an <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a> for a specific format and
output mode.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="DefaultAudioSink.AudioTrackBufferSizeProvider.html#getBufferSizeInBytes(int,@com.google.android.exoplayer2.C.Encodingint,@com.google.android.exoplayer2.audio.DefaultAudioSink.OutputModeint,int,int,double)">getBufferSizeInBytes</a></code>&nbsp;in interface&nbsp;<code><a href="DefaultAudioSink.AudioTrackBufferSizeProvider.html" title="interface in com.google.android.exoplayer2.audio">DefaultAudioSink.AudioTrackBufferSizeProvider</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>minBufferSizeInBytes</code> - The minimum buffer size in bytes required to play this format.
See <a href="https://developer.android.com/reference/android/media/AudioTrack.html#getMinBufferSize(int,int,int)" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack.getMinBufferSize(int, int, int)</code></a>.</dd>
<dd><code>encoding</code> - The <a href="../C.Encoding.html" title="annotation in com.google.android.exoplayer2"><code>C.Encoding</code></a> of the format.</dd>
<dd><code>outputMode</code> - How the audio will be played. One of the <a href="DefaultAudioSink.OutputMode.html" title="annotation in com.google.android.exoplayer2.audio"><code>output modes</code></a>.</dd>
<dd><code>pcmFrameSize</code> - The size of the PCM frames if the <code>encoding</code> is PCM, 1 otherwise,
in bytes.</dd>
<dd><code>sampleRate</code> - The sample rate of the format, in Hz.</dd>
<dd><code>maxAudioTrackPlaybackSpeed</code> - The maximum speed the content will be played using <a href="https://developer.android.com/reference/android/media/AudioTrack.html#setPlaybackParams(android.media.PlaybackParams)" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack.setPlaybackParams(android.media.PlaybackParams)</code></a>. 0.5 is 2x slow motion, 1 is real time, 2 is 2x fast
forward, etc. This will be <code>1</code> unless <a href="DefaultAudioSink.Builder.html#setEnableAudioTrackPlaybackParams(boolean)"><code>DefaultAudioSink.Builder.setEnableAudioTrackPlaybackParams(boolean)</code></a> is enabled.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The computed buffer size in bytes. It should always be <code>&gt;=
minBufferSizeInBytes</code>. The computed buffer size must contain an integer number of frames:
<code>bufferSizeInBytes % pcmFrameSize == 0</code>.</dd>
</dl>
</li> </li>
</ul> </ul>
<a id="get1xBufferSizeInBytes(int,int,int,int,int)"> <a id="get1xBufferSizeInBytes(int,int,int,int,int)">

View File

@ -25,7 +25,7 @@
catch(err) { 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}; 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};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]}; var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor"; var altColor = "altColor";
var rowColor = "rowColor"; var rowColor = "rowColor";
@ -378,33 +378,48 @@ implements <a href="AudioSink.html" title="interface in com.google.android.exopl
</tr> </tr>
<tr id="i22" class="altColor"> <tr id="i22" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setOutputStreamOffsetUs(long)">setOutputStreamOffsetUs</a></span>&#8203;(long&nbsp;outputStreamOffsetUs)</code></th>
<td class="colLast">
<div class="block">Sets the offset that is added to the media timestamp before it is passed as <code>
presentationTimeUs</code> in <a href="AudioSink.html#handleBuffer(java.nio.ByteBuffer,long,int)"><code>AudioSink.handleBuffer(ByteBuffer, long, int)</code></a>.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPlaybackParameters(com.google.android.exoplayer2.PlaybackParameters)">setPlaybackParameters</a></span>&#8203;(<a href="../PlaybackParameters.html" title="class in com.google.android.exoplayer2">PlaybackParameters</a>&nbsp;playbackParameters)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPlaybackParameters(com.google.android.exoplayer2.PlaybackParameters)">setPlaybackParameters</a></span>&#8203;(<a href="../PlaybackParameters.html" title="class in com.google.android.exoplayer2">PlaybackParameters</a>&nbsp;playbackParameters)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Attempts to set the playback parameters.</div> <div class="block">Attempts to set the playback parameters.</div>
</td> </td>
</tr> </tr>
<tr id="i23" class="rowColor"> <tr id="i24" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPlayerId(com.google.android.exoplayer2.analytics.PlayerId)">setPlayerId</a></span>&#8203;(<a href="../analytics/PlayerId.html" title="class in com.google.android.exoplayer2.analytics">PlayerId</a>&nbsp;playerId)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPlayerId(com.google.android.exoplayer2.analytics.PlayerId)">setPlayerId</a></span>&#8203;(<a href="../analytics/PlayerId.html" title="class in com.google.android.exoplayer2.analytics">PlayerId</a>&nbsp;playerId)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Sets the <a href="../analytics/PlayerId.html" title="class in com.google.android.exoplayer2.analytics"><code>PlayerId</code></a> of the player using this audio sink.</div> <div class="block">Sets the <a href="../analytics/PlayerId.html" title="class in com.google.android.exoplayer2.analytics"><code>PlayerId</code></a> of the player using this audio sink.</div>
</td> </td>
</tr> </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="#setPreferredDevice(android.media.AudioDeviceInfo)">setPreferredDevice</a></span>&#8203;(<a href="https://developer.android.com/reference/android/media/AudioDeviceInfo.html" title="class or interface in android.media" class="externalLink" target="_top">AudioDeviceInfo</a>&nbsp;audioDeviceInfo)</code></th>
<td class="colLast">
<div class="block">Sets the preferred audio device.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSkipSilenceEnabled(boolean)">setSkipSilenceEnabled</a></span>&#8203;(boolean&nbsp;skipSilenceEnabled)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSkipSilenceEnabled(boolean)">setSkipSilenceEnabled</a></span>&#8203;(boolean&nbsp;skipSilenceEnabled)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Sets whether silences should be skipped in the audio stream.</div> <div class="block">Sets whether silences should be skipped in the audio stream.</div>
</td> </td>
</tr> </tr>
<tr id="i25" class="rowColor"> <tr id="i27" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVolume(float)">setVolume</a></span>&#8203;(float&nbsp;volume)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVolume(float)">setVolume</a></span>&#8203;(float&nbsp;volume)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Sets the playback volume.</div> <div class="block">Sets the playback volume.</div>
</td> </td>
</tr> </tr>
<tr id="i26" class="altColor"> <tr id="i28" class="altColor">
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#supportsFormat(com.google.android.exoplayer2.Format)">supportsFormat</a></span>&#8203;(<a href="../Format.html" title="class in com.google.android.exoplayer2">Format</a>&nbsp;format)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#supportsFormat(com.google.android.exoplayer2.Format)">supportsFormat</a></span>&#8203;(<a href="../Format.html" title="class in com.google.android.exoplayer2">Format</a>&nbsp;format)</code></th>
<td class="colLast"> <td class="colLast">
@ -824,6 +839,44 @@ public&nbsp;<a href="AudioAttributes.html" title="class in com.google.android.ex
</dl> </dl>
</li> </li>
</ul> </ul>
<a id="setPreferredDevice(android.media.AudioDeviceInfo)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPreferredDevice</h4>
<pre class="methodSignature">@RequiresApi(23)
public&nbsp;void&nbsp;setPreferredDevice&#8203;(@Nullable
<a href="https://developer.android.com/reference/android/media/AudioDeviceInfo.html" title="class or interface in android.media" class="externalLink" target="_top">AudioDeviceInfo</a>&nbsp;audioDeviceInfo)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="AudioSink.html#setPreferredDevice(android.media.AudioDeviceInfo)">AudioSink</a></code></span></div>
<div class="block">Sets the preferred audio device.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="AudioSink.html#setPreferredDevice(android.media.AudioDeviceInfo)">setPreferredDevice</a></code>&nbsp;in interface&nbsp;<code><a href="AudioSink.html" title="interface in com.google.android.exoplayer2.audio">AudioSink</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>audioDeviceInfo</code> - The preferred <a href="https://developer.android.com/reference/android/media/AudioDeviceInfo.html" title="class or interface in android.media" class="externalLink" target="_top">audio device</a>, or null to
restore the default.</dd>
</dl>
</li>
</ul>
<a id="setOutputStreamOffsetUs(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setOutputStreamOffsetUs</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setOutputStreamOffsetUs&#8203;(long&nbsp;outputStreamOffsetUs)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="AudioSink.html#setOutputStreamOffsetUs(long)">AudioSink</a></code></span></div>
<div class="block">Sets the offset that is added to the media timestamp before it is passed as <code>
presentationTimeUs</code> in <a href="AudioSink.html#handleBuffer(java.nio.ByteBuffer,long,int)"><code>AudioSink.handleBuffer(ByteBuffer, long, int)</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="AudioSink.html#setOutputStreamOffsetUs(long)">setOutputStreamOffsetUs</a></code>&nbsp;in interface&nbsp;<code><a href="AudioSink.html" title="interface in com.google.android.exoplayer2.audio">AudioSink</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>outputStreamOffsetUs</code> - The output stream offset in microseconds.</dd>
</dl>
</li>
</ul>
<a id="enableTunnelingV21()"> <a id="enableTunnelingV21()">
<!-- --> <!-- -->
</a> </a>

View File

@ -25,7 +25,7 @@
catch(err) { 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}; 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};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]}; var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor"; var altColor = "altColor";
var rowColor = "rowColor"; var rowColor = "rowColor";
@ -222,14 +222,14 @@ implements <a href="../util/MediaClock.html" title="interface in com.google.andr
<!-- --> <!-- -->
</a> </a>
<h3>Fields inherited from interface&nbsp;com.google.android.exoplayer2.<a href="../Renderer.html" title="interface in com.google.android.exoplayer2">Renderer</a></h3> <h3>Fields inherited from interface&nbsp;com.google.android.exoplayer2.<a href="../Renderer.html" title="interface in com.google.android.exoplayer2">Renderer</a></h3>
<code><a href="../Renderer.html#MSG_CUSTOM_BASE">MSG_CUSTOM_BASE</a>, <a href="../Renderer.html#MSG_SET_AUDIO_ATTRIBUTES">MSG_SET_AUDIO_ATTRIBUTES</a>, <a href="../Renderer.html#MSG_SET_AUDIO_SESSION_ID">MSG_SET_AUDIO_SESSION_ID</a>, <a href="../Renderer.html#MSG_SET_AUX_EFFECT_INFO">MSG_SET_AUX_EFFECT_INFO</a>, <a href="../Renderer.html#MSG_SET_CAMERA_MOTION_LISTENER">MSG_SET_CAMERA_MOTION_LISTENER</a>, <a href="../Renderer.html#MSG_SET_CHANGE_FRAME_RATE_STRATEGY">MSG_SET_CHANGE_FRAME_RATE_STRATEGY</a>, <a href="../Renderer.html#MSG_SET_SCALING_MODE">MSG_SET_SCALING_MODE</a>, <a href="../Renderer.html#MSG_SET_SKIP_SILENCE_ENABLED">MSG_SET_SKIP_SILENCE_ENABLED</a>, <a href="../Renderer.html#MSG_SET_VIDEO_FRAME_METADATA_LISTENER">MSG_SET_VIDEO_FRAME_METADATA_LISTENER</a>, <a href="../Renderer.html#MSG_SET_VIDEO_OUTPUT">MSG_SET_VIDEO_OUTPUT</a>, <a href="../Renderer.html#MSG_SET_VOLUME">MSG_SET_VOLUME</a>, <a href="../Renderer.html#MSG_SET_WAKEUP_LISTENER">MSG_SET_WAKEUP_LISTENER</a>, <a href="../Renderer.html#STATE_DISABLED">STATE_DISABLED</a>, <a href="../Renderer.html#STATE_ENABLED">STATE_ENABLED</a>, <a href="../Renderer.html#STATE_STARTED">STATE_STARTED</a></code></li> <code><a href="../Renderer.html#MSG_CUSTOM_BASE">MSG_CUSTOM_BASE</a>, <a href="../Renderer.html#MSG_SET_AUDIO_ATTRIBUTES">MSG_SET_AUDIO_ATTRIBUTES</a>, <a href="../Renderer.html#MSG_SET_AUDIO_SESSION_ID">MSG_SET_AUDIO_SESSION_ID</a>, <a href="../Renderer.html#MSG_SET_AUX_EFFECT_INFO">MSG_SET_AUX_EFFECT_INFO</a>, <a href="../Renderer.html#MSG_SET_CAMERA_MOTION_LISTENER">MSG_SET_CAMERA_MOTION_LISTENER</a>, <a href="../Renderer.html#MSG_SET_CHANGE_FRAME_RATE_STRATEGY">MSG_SET_CHANGE_FRAME_RATE_STRATEGY</a>, <a href="../Renderer.html#MSG_SET_PREFERRED_AUDIO_DEVICE">MSG_SET_PREFERRED_AUDIO_DEVICE</a>, <a href="../Renderer.html#MSG_SET_SCALING_MODE">MSG_SET_SCALING_MODE</a>, <a href="../Renderer.html#MSG_SET_SKIP_SILENCE_ENABLED">MSG_SET_SKIP_SILENCE_ENABLED</a>, <a href="../Renderer.html#MSG_SET_VIDEO_FRAME_METADATA_LISTENER">MSG_SET_VIDEO_FRAME_METADATA_LISTENER</a>, <a href="../Renderer.html#MSG_SET_VIDEO_OUTPUT">MSG_SET_VIDEO_OUTPUT</a>, <a href="../Renderer.html#MSG_SET_VOLUME">MSG_SET_VOLUME</a>, <a href="../Renderer.html#MSG_SET_WAKEUP_LISTENER">MSG_SET_WAKEUP_LISTENER</a>, <a href="../Renderer.html#STATE_DISABLED">STATE_DISABLED</a>, <a href="../Renderer.html#STATE_ENABLED">STATE_ENABLED</a>, <a href="../Renderer.html#STATE_STARTED">STATE_STARTED</a></code></li>
</ul> </ul>
<ul class="blockList"> <ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.com.google.android.exoplayer2.RendererCapabilities"> <li class="blockList"><a id="fields.inherited.from.class.com.google.android.exoplayer2.RendererCapabilities">
<!-- --> <!-- -->
</a> </a>
<h3>Fields inherited from interface&nbsp;com.google.android.exoplayer2.<a href="../RendererCapabilities.html" title="interface in com.google.android.exoplayer2">RendererCapabilities</a></h3> <h3>Fields inherited from interface&nbsp;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#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> <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_FALLBACK_MIMETYPE">DECODER_SUPPORT_FALLBACK_MIMETYPE</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> </ul>
</li> </li>
</ul> </ul>
@ -490,12 +490,19 @@ implements <a href="../util/MediaClock.html" title="interface in com.google.andr
</tr> </tr>
<tr id="i21" class="rowColor"> <tr id="i21" class="rowColor">
<td class="colFirst"><code>protected void</code></td> <td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onOutputStreamOffsetUsChanged(long)">onOutputStreamOffsetUsChanged</a></span>&#8203;(long&nbsp;outputStreamOffsetUs)</code></th>
<td class="colLast">
<div class="block">Called after the output stream offset changes.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onPositionDiscontinuity()">onPositionDiscontinuity</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onPositionDiscontinuity()">onPositionDiscontinuity</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">See <a href="AudioSink.Listener.html#onPositionDiscontinuity()"><code>AudioSink.Listener.onPositionDiscontinuity()</code></a>.</div> <div class="block">See <a href="AudioSink.Listener.html#onPositionDiscontinuity()"><code>AudioSink.Listener.onPositionDiscontinuity()</code></a>.</div>
</td> </td>
</tr> </tr>
<tr id="i22" class="altColor"> <tr id="i23" class="rowColor">
<td class="colFirst"><code>protected void</code></td> <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>&#8203;(long&nbsp;positionUs, <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onPositionReset(long,boolean)">onPositionReset</a></span>&#8203;(long&nbsp;positionUs,
boolean&nbsp;joining)</code></th> boolean&nbsp;joining)</code></th>
@ -503,42 +510,42 @@ implements <a href="../util/MediaClock.html" title="interface in com.google.andr
<div class="block">Called when the position is reset.</div> <div class="block">Called when the position is reset.</div>
</td> </td>
</tr> </tr>
<tr id="i23" class="rowColor"> <tr id="i24" class="altColor">
<td class="colFirst"><code>protected void</code></td> <td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onProcessedStreamChange()">onProcessedStreamChange</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onProcessedStreamChange()">onProcessedStreamChange</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Called after the last output buffer before a stream change has been processed.</div> <div class="block">Called after the last output buffer before a stream change has been processed.</div>
</td> </td>
</tr> </tr>
<tr id="i24" class="altColor"> <tr id="i25" class="rowColor">
<td class="colFirst"><code>protected void</code></td> <td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onQueueInputBuffer(com.google.android.exoplayer2.decoder.DecoderInputBuffer)">onQueueInputBuffer</a></span>&#8203;(<a href="../decoder/DecoderInputBuffer.html" title="class in com.google.android.exoplayer2.decoder">DecoderInputBuffer</a>&nbsp;buffer)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onQueueInputBuffer(com.google.android.exoplayer2.decoder.DecoderInputBuffer)">onQueueInputBuffer</a></span>&#8203;(<a href="../decoder/DecoderInputBuffer.html" title="class in com.google.android.exoplayer2.decoder">DecoderInputBuffer</a>&nbsp;buffer)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Called immediately before an input buffer is queued into the codec.</div> <div class="block">Called immediately before an input buffer is queued into the codec.</div>
</td> </td>
</tr> </tr>
<tr id="i25" class="rowColor"> <tr id="i26" class="altColor">
<td class="colFirst"><code>protected void</code></td> <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> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onReset()">onReset</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Called when the renderer is reset.</div> <div class="block">Called when the renderer is reset.</div>
</td> </td>
</tr> </tr>
<tr id="i26" class="altColor"> <tr id="i27" class="rowColor">
<td class="colFirst"><code>protected void</code></td> <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> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onStarted()">onStarted</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Called when the renderer is started.</div> <div class="block">Called when the renderer is started.</div>
</td> </td>
</tr> </tr>
<tr id="i27" class="rowColor"> <tr id="i28" class="altColor">
<td class="colFirst"><code>protected void</code></td> <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> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onStopped()">onStopped</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Called when the renderer is stopped.</div> <div class="block">Called when the renderer is stopped.</div>
</td> </td>
</tr> </tr>
<tr id="i28" class="altColor"> <tr id="i29" class="rowColor">
<td class="colFirst"><code>protected boolean</code></td> <td class="colFirst"><code>protected boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#processOutputBuffer(long,long,com.google.android.exoplayer2.mediacodec.MediaCodecAdapter,java.nio.ByteBuffer,int,int,int,long,boolean,boolean,com.google.android.exoplayer2.Format)">processOutputBuffer</a></span>&#8203;(long&nbsp;positionUs, <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#processOutputBuffer(long,long,com.google.android.exoplayer2.mediacodec.MediaCodecAdapter,java.nio.ByteBuffer,int,int,int,long,boolean,boolean,com.google.android.exoplayer2.Format)">processOutputBuffer</a></span>&#8203;(long&nbsp;positionUs,
long&nbsp;elapsedRealtimeUs, long&nbsp;elapsedRealtimeUs,
@ -555,28 +562,28 @@ implements <a href="../util/MediaClock.html" title="interface in com.google.andr
<div class="block">Processes an output media buffer.</div> <div class="block">Processes an output media buffer.</div>
</td> </td>
</tr> </tr>
<tr id="i29" class="rowColor"> <tr id="i30" class="altColor">
<td class="colFirst"><code>protected void</code></td> <td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#renderToEndOfStream()">renderToEndOfStream</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#renderToEndOfStream()">renderToEndOfStream</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Incrementally renders any remaining output.</div> <div class="block">Incrementally renders any remaining output.</div>
</td> </td>
</tr> </tr>
<tr id="i30" class="altColor"> <tr id="i31" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPlaybackParameters(com.google.android.exoplayer2.PlaybackParameters)">setPlaybackParameters</a></span>&#8203;(<a href="../PlaybackParameters.html" title="class in com.google.android.exoplayer2">PlaybackParameters</a>&nbsp;playbackParameters)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPlaybackParameters(com.google.android.exoplayer2.PlaybackParameters)">setPlaybackParameters</a></span>&#8203;(<a href="../PlaybackParameters.html" title="class in com.google.android.exoplayer2">PlaybackParameters</a>&nbsp;playbackParameters)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Attempts to set the playback parameters.</div> <div class="block">Attempts to set the playback parameters.</div>
</td> </td>
</tr> </tr>
<tr id="i31" class="rowColor"> <tr id="i32" class="altColor">
<td class="colFirst"><code>protected boolean</code></td> <td class="colFirst"><code>protected boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#shouldUseBypass(com.google.android.exoplayer2.Format)">shouldUseBypass</a></span>&#8203;(<a href="../Format.html" title="class in com.google.android.exoplayer2">Format</a>&nbsp;format)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#shouldUseBypass(com.google.android.exoplayer2.Format)">shouldUseBypass</a></span>&#8203;(<a href="../Format.html" title="class in com.google.android.exoplayer2">Format</a>&nbsp;format)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Returns whether buffers in the input format can be processed without a codec.</div> <div class="block">Returns whether buffers in the input format can be processed without a codec.</div>
</td> </td>
</tr> </tr>
<tr id="i32" class="altColor"> <tr id="i33" class="rowColor">
<td class="colFirst"><code>protected @com.google.android.exoplayer2.RendererCapabilities.Capabilities int</code></td> <td class="colFirst"><code>protected @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.mediacodec.MediaCodecSelector,com.google.android.exoplayer2.Format)">supportsFormat</a></span>&#8203;(<a href="../mediacodec/MediaCodecSelector.html" title="interface in com.google.android.exoplayer2.mediacodec">MediaCodecSelector</a>&nbsp;mediaCodecSelector, <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#supportsFormat(com.google.android.exoplayer2.mediacodec.MediaCodecSelector,com.google.android.exoplayer2.Format)">supportsFormat</a></span>&#8203;(<a href="../mediacodec/MediaCodecSelector.html" title="interface in com.google.android.exoplayer2.mediacodec">MediaCodecSelector</a>&nbsp;mediaCodecSelector,
<a href="../Format.html" title="class in com.google.android.exoplayer2">Format</a>&nbsp;format)</code></th> <a href="../Format.html" title="class in com.google.android.exoplayer2">Format</a>&nbsp;format)</code></th>
@ -1458,6 +1465,25 @@ protected&nbsp;void&nbsp;onPositionDiscontinuity()</pre>
</dl> </dl>
</li> </li>
</ul> </ul>
<a id="onOutputStreamOffsetUsChanged(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onOutputStreamOffsetUsChanged</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;onOutputStreamOffsetUsChanged&#8203;(long&nbsp;outputStreamOffsetUs)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../mediacodec/MediaCodecRenderer.html#onOutputStreamOffsetUsChanged(long)">MediaCodecRenderer</a></code></span></div>
<div class="block">Called after the output stream offset changes.
<p>The default implementation is a no-op.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../mediacodec/MediaCodecRenderer.html#onOutputStreamOffsetUsChanged(long)">onOutputStreamOffsetUsChanged</a></code>&nbsp;in class&nbsp;<code><a href="../mediacodec/MediaCodecRenderer.html" title="class in com.google.android.exoplayer2.mediacodec">MediaCodecRenderer</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>outputStreamOffsetUs</code> - The output stream offset in microseconds.</dd>
</dl>
</li>
</ul>
<a id="handleMessage(@com.google.android.exoplayer2.Renderer.MessageTypeint,java.lang.Object)"> <a id="handleMessage(@com.google.android.exoplayer2.Renderer.MessageTypeint,java.lang.Object)">
<!-- --> <!-- -->
</a> </a>

View File

@ -477,7 +477,8 @@ extends <a href="BaseAudioProcessor.html" title="class in com.google.android.exo
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>onConfigure</h4> <h4>onConfigure</h4>
<pre class="methodSignature">public&nbsp;<a href="AudioProcessor.AudioFormat.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.AudioFormat</a>&nbsp;onConfigure&#8203;(<a href="AudioProcessor.AudioFormat.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.AudioFormat</a>&nbsp;inputAudioFormat) <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="AudioProcessor.AudioFormat.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.AudioFormat</a>&nbsp;onConfigure&#8203;(<a href="AudioProcessor.AudioFormat.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.AudioFormat</a>&nbsp;inputAudioFormat)
throws <a href="AudioProcessor.UnhandledAudioFormatException.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.UnhandledAudioFormatException</a></pre> throws <a href="AudioProcessor.UnhandledAudioFormatException.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.UnhandledAudioFormatException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="BaseAudioProcessor.html#onConfigure(com.google.android.exoplayer2.audio.AudioProcessor.AudioFormat)">BaseAudioProcessor</a></code></span></div> <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="BaseAudioProcessor.html#onConfigure(com.google.android.exoplayer2.audio.AudioProcessor.AudioFormat)">BaseAudioProcessor</a></code></span></div>
<div class="block">Called when the processor is configured for a new input format.</div> <div class="block">Called when the processor is configured for a new input format.</div>

View File

@ -269,8 +269,8 @@ implements <a href="AudioProcessor.html" title="interface in com.google.android.
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isEnded()">isEnded</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isEnded()">isEnded</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Returns whether this processor will return no more output from <a href="AudioProcessor.html#getOutput()"><code>AudioProcessor.getOutput()</code></a> until it <div class="block">Returns whether this processor will return no more output from <a href="AudioProcessor.html#getOutput()"><code>AudioProcessor.getOutput()</code></a> until
has been <a href="AudioProcessor.html#flush()"><code>AudioProcessor.flush()</code></a>ed and more input has been queued.</div> <a href="AudioProcessor.html#flush()"><code>AudioProcessor.flush()</code></a> has been called and more input has been queued.</div>
</td> </td>
</tr> </tr>
<tr id="i6" class="altColor"> <tr id="i6" class="altColor">
@ -459,7 +459,8 @@ implements <a href="AudioProcessor.html" title="interface in com.google.android.
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>configure</h4> <h4>configure</h4>
<pre class="methodSignature">public&nbsp;<a href="AudioProcessor.AudioFormat.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.AudioFormat</a>&nbsp;configure&#8203;(<a href="AudioProcessor.AudioFormat.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.AudioFormat</a>&nbsp;inputAudioFormat) <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="AudioProcessor.AudioFormat.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.AudioFormat</a>&nbsp;configure&#8203;(<a href="AudioProcessor.AudioFormat.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.AudioFormat</a>&nbsp;inputAudioFormat)
throws <a href="AudioProcessor.UnhandledAudioFormatException.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.UnhandledAudioFormatException</a></pre> throws <a href="AudioProcessor.UnhandledAudioFormatException.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.UnhandledAudioFormatException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="AudioProcessor.html#configure(com.google.android.exoplayer2.audio.AudioProcessor.AudioFormat)">AudioProcessor</a></code></span></div> <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="AudioProcessor.html#configure(com.google.android.exoplayer2.audio.AudioProcessor.AudioFormat)">AudioProcessor</a></code></span></div>
<div class="block">Configures the processor to process input audio with the specified format. After calling this <div class="block">Configures the processor to process input audio with the specified format. After calling this
@ -564,8 +565,8 @@ implements <a href="AudioProcessor.html" title="interface in com.google.android.
<h4>isEnded</h4> <h4>isEnded</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isEnded()</pre> <pre class="methodSignature">public&nbsp;boolean&nbsp;isEnded()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="AudioProcessor.html#isEnded()">AudioProcessor</a></code></span></div> <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="AudioProcessor.html#isEnded()">AudioProcessor</a></code></span></div>
<div class="block">Returns whether this processor will return no more output from <a href="AudioProcessor.html#getOutput()"><code>AudioProcessor.getOutput()</code></a> until it <div class="block">Returns whether this processor will return no more output from <a href="AudioProcessor.html#getOutput()"><code>AudioProcessor.getOutput()</code></a> until
has been <a href="AudioProcessor.html#flush()"><code>AudioProcessor.flush()</code></a>ed and more input has been queued.</div> <a href="AudioProcessor.html#flush()"><code>AudioProcessor.flush()</code></a> has been called and more input has been queued.</div>
<dl> <dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="AudioProcessor.html#isEnded()">isEnded</a></code>&nbsp;in interface&nbsp;<code><a href="AudioProcessor.html" title="interface in com.google.android.exoplayer2.audio">AudioProcessor</a></code></dd> <dd><code><a href="AudioProcessor.html#isEnded()">isEnded</a></code>&nbsp;in interface&nbsp;<code><a href="AudioProcessor.html" title="interface in com.google.android.exoplayer2.audio">AudioProcessor</a></code></dd>

View File

@ -146,8 +146,8 @@ extends <a href="BaseAudioProcessor.html" title="class in com.google.android.exo
<p>This audio processor can be inserted into the audio processor chain to access audio data <p>This audio processor can be inserted into the audio processor chain to access audio data
before/after particular processing steps have been applied. For example, to get audio output before/after particular processing steps have been applied. For example, to get audio output
after playback speed adjustment and silence skipping have been applied it is necessary to pass a after playback speed adjustment and silence skipping have been applied it is necessary to pass a
custom <a href="DefaultAudioSink.AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio"><code>DefaultAudioSink.AudioProcessorChain</code></a> when creating the audio sink, and include custom <a href="AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio"><code>AudioProcessorChain</code></a> when creating the audio sink, and include this audio processor
this audio processor after all other audio processors.</div> after all other audio processors.</div>
</li> </li>
</ul> </ul>
</div> </div>

View File

@ -117,28 +117,40 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</td> </td>
</tr> </tr>
<tr class="altColor"> <tr class="altColor">
<th class="colFirst" scope="row"><a href="AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio">AudioProcessorChain</a></th>
<td class="colLast">
<div class="block">Provides a chain of audio processors, which are used for any user-defined processing and applying
playback parameters (if supported).</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="AudioRendererEventListener.html" title="interface in com.google.android.exoplayer2.audio">AudioRendererEventListener</a></th> <th class="colFirst" scope="row"><a href="AudioRendererEventListener.html" title="interface in com.google.android.exoplayer2.audio">AudioRendererEventListener</a></th>
<td class="colLast"> <td class="colLast">
<div class="block">Listener of audio <a href="../Renderer.html" title="interface in com.google.android.exoplayer2"><code>Renderer</code></a> events.</div> <div class="block">Listener of audio <a href="../Renderer.html" title="interface in com.google.android.exoplayer2"><code>Renderer</code></a> events.</div>
</td> </td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<th class="colFirst" scope="row"><a href="AudioSink.html" title="interface in com.google.android.exoplayer2.audio">AudioSink</a></th> <th class="colFirst" scope="row"><a href="AudioSink.html" title="interface in com.google.android.exoplayer2.audio">AudioSink</a></th>
<td class="colLast"> <td class="colLast">
<div class="block">A sink that consumes audio data.</div> <div class="block">A sink that consumes audio data.</div>
</td> </td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<th class="colFirst" scope="row"><a href="AudioSink.Listener.html" title="interface in com.google.android.exoplayer2.audio">AudioSink.Listener</a></th> <th class="colFirst" scope="row"><a href="AudioSink.Listener.html" title="interface in com.google.android.exoplayer2.audio">AudioSink.Listener</a></th>
<td class="colLast"> <td class="colLast">
<div class="block">Listener for audio sink events.</div> <div class="block">Listener for audio sink events.</div>
</td> </td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<th class="colFirst" scope="row"><a href="DefaultAudioSink.AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio">DefaultAudioSink.AudioProcessorChain</a></th> <th class="colFirst" scope="row"><a href="DefaultAudioSink.AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio">DefaultAudioSink.AudioProcessorChain</a></th>
<td class="colLast">Deprecated.
<div class="deprecationComment">Use <a href="AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio"><code>AudioProcessorChain</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="DefaultAudioSink.AudioTrackBufferSizeProvider.html" title="interface in com.google.android.exoplayer2.audio">DefaultAudioSink.AudioTrackBufferSizeProvider</a></th>
<td class="colLast"> <td class="colLast">
<div class="block">Provides a chain of audio processors, which are used for any user-defined processing and <div class="block">Provides the buffer size to use when creating an <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a>.</div>
applying playback parameters (if supported).</div>
</td> </td>
</tr> </tr>
<tr class="altColor"> <tr class="altColor">

View File

@ -136,7 +136,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<li class="circle">com.google.android.exoplayer2.audio.<a href="DefaultAudioSink.html" title="class in com.google.android.exoplayer2.audio"><span class="typeNameLink">DefaultAudioSink</span></a> (implements com.google.android.exoplayer2.audio.<a href="AudioSink.html" title="interface in com.google.android.exoplayer2.audio">AudioSink</a>)</li> <li class="circle">com.google.android.exoplayer2.audio.<a href="DefaultAudioSink.html" title="class in com.google.android.exoplayer2.audio"><span class="typeNameLink">DefaultAudioSink</span></a> (implements com.google.android.exoplayer2.audio.<a href="AudioSink.html" title="interface in com.google.android.exoplayer2.audio">AudioSink</a>)</li>
<li class="circle">com.google.android.exoplayer2.audio.<a href="DefaultAudioSink.Builder.html" title="class in com.google.android.exoplayer2.audio"><span class="typeNameLink">DefaultAudioSink.Builder</span></a></li> <li class="circle">com.google.android.exoplayer2.audio.<a href="DefaultAudioSink.Builder.html" title="class in com.google.android.exoplayer2.audio"><span class="typeNameLink">DefaultAudioSink.Builder</span></a></li>
<li class="circle">com.google.android.exoplayer2.audio.<a href="DefaultAudioSink.DefaultAudioProcessorChain.html" title="class in com.google.android.exoplayer2.audio"><span class="typeNameLink">DefaultAudioSink.DefaultAudioProcessorChain</span></a> (implements com.google.android.exoplayer2.audio.<a href="DefaultAudioSink.AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio">DefaultAudioSink.AudioProcessorChain</a>)</li> <li class="circle">com.google.android.exoplayer2.audio.<a href="DefaultAudioSink.DefaultAudioProcessorChain.html" title="class in com.google.android.exoplayer2.audio"><span class="typeNameLink">DefaultAudioSink.DefaultAudioProcessorChain</span></a> (implements com.google.android.exoplayer2.audio.<a href="DefaultAudioSink.AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio">DefaultAudioSink.AudioProcessorChain</a>)</li>
<li class="circle">com.google.android.exoplayer2.audio.<a href="DefaultAudioTrackBufferSizeProvider.html" title="class in com.google.android.exoplayer2.audio"><span class="typeNameLink">DefaultAudioTrackBufferSizeProvider</span></a></li> <li class="circle">com.google.android.exoplayer2.audio.<a href="DefaultAudioTrackBufferSizeProvider.html" title="class in com.google.android.exoplayer2.audio"><span class="typeNameLink">DefaultAudioTrackBufferSizeProvider</span></a> (implements com.google.android.exoplayer2.audio.<a href="DefaultAudioSink.AudioTrackBufferSizeProvider.html" title="interface in com.google.android.exoplayer2.audio">DefaultAudioSink.AudioTrackBufferSizeProvider</a>)</li>
<li class="circle">com.google.android.exoplayer2.audio.<a href="DefaultAudioTrackBufferSizeProvider.Builder.html" title="class in com.google.android.exoplayer2.audio"><span class="typeNameLink">DefaultAudioTrackBufferSizeProvider.Builder</span></a></li> <li class="circle">com.google.android.exoplayer2.audio.<a href="DefaultAudioTrackBufferSizeProvider.Builder.html" title="class in com.google.android.exoplayer2.audio"><span class="typeNameLink">DefaultAudioTrackBufferSizeProvider.Builder</span></a></li>
<li class="circle">com.google.android.exoplayer2.audio.<a href="DtsUtil.html" title="class in com.google.android.exoplayer2.audio"><span class="typeNameLink">DtsUtil</span></a></li> <li class="circle">com.google.android.exoplayer2.audio.<a href="DtsUtil.html" title="class in com.google.android.exoplayer2.audio"><span class="typeNameLink">DtsUtil</span></a></li>
<li class="circle">com.google.android.exoplayer2.audio.<a href="ForwardingAudioSink.html" title="class in com.google.android.exoplayer2.audio"><span class="typeNameLink">ForwardingAudioSink</span></a> (implements com.google.android.exoplayer2.audio.<a href="AudioSink.html" title="interface in com.google.android.exoplayer2.audio">AudioSink</a>)</li> <li class="circle">com.google.android.exoplayer2.audio.<a href="ForwardingAudioSink.html" title="class in com.google.android.exoplayer2.audio"><span class="typeNameLink">ForwardingAudioSink</span></a> (implements com.google.android.exoplayer2.audio.<a href="AudioSink.html" title="interface in com.google.android.exoplayer2.audio">AudioSink</a>)</li>
@ -173,10 +173,15 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<ul> <ul>
<li class="circle">com.google.android.exoplayer2.audio.<a href="AudioCapabilitiesReceiver.Listener.html" title="interface in com.google.android.exoplayer2.audio"><span class="typeNameLink">AudioCapabilitiesReceiver.Listener</span></a></li> <li class="circle">com.google.android.exoplayer2.audio.<a href="AudioCapabilitiesReceiver.Listener.html" title="interface in com.google.android.exoplayer2.audio"><span class="typeNameLink">AudioCapabilitiesReceiver.Listener</span></a></li>
<li class="circle">com.google.android.exoplayer2.audio.<a href="AudioProcessor.html" title="interface in com.google.android.exoplayer2.audio"><span class="typeNameLink">AudioProcessor</span></a></li> <li class="circle">com.google.android.exoplayer2.audio.<a href="AudioProcessor.html" title="interface in com.google.android.exoplayer2.audio"><span class="typeNameLink">AudioProcessor</span></a></li>
<li class="circle">com.google.android.exoplayer2.audio.<a href="AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio"><span class="typeNameLink">AudioProcessorChain</span></a>
<ul>
<li class="circle">com.google.android.exoplayer2.audio.<a href="DefaultAudioSink.AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio"><span class="typeNameLink">DefaultAudioSink.AudioProcessorChain</span></a></li>
</ul>
</li>
<li class="circle">com.google.android.exoplayer2.audio.<a href="AudioRendererEventListener.html" title="interface in com.google.android.exoplayer2.audio"><span class="typeNameLink">AudioRendererEventListener</span></a></li> <li class="circle">com.google.android.exoplayer2.audio.<a href="AudioRendererEventListener.html" title="interface in com.google.android.exoplayer2.audio"><span class="typeNameLink">AudioRendererEventListener</span></a></li>
<li class="circle">com.google.android.exoplayer2.audio.<a href="AudioSink.html" title="interface in com.google.android.exoplayer2.audio"><span class="typeNameLink">AudioSink</span></a></li> <li class="circle">com.google.android.exoplayer2.audio.<a href="AudioSink.html" title="interface in com.google.android.exoplayer2.audio"><span class="typeNameLink">AudioSink</span></a></li>
<li class="circle">com.google.android.exoplayer2.audio.<a href="AudioSink.Listener.html" title="interface in com.google.android.exoplayer2.audio"><span class="typeNameLink">AudioSink.Listener</span></a></li> <li class="circle">com.google.android.exoplayer2.audio.<a href="AudioSink.Listener.html" title="interface in com.google.android.exoplayer2.audio"><span class="typeNameLink">AudioSink.Listener</span></a></li>
<li class="circle">com.google.android.exoplayer2.audio.<a href="DefaultAudioSink.AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio"><span class="typeNameLink">DefaultAudioSink.AudioProcessorChain</span></a></li> <li class="circle">com.google.android.exoplayer2.audio.<a href="DefaultAudioSink.AudioTrackBufferSizeProvider.html" title="interface in com.google.android.exoplayer2.audio"><span class="typeNameLink">DefaultAudioSink.AudioTrackBufferSizeProvider</span></a></li>
<li class="circle">com.google.android.exoplayer2.audio.<a href="TeeAudioProcessor.AudioBufferSink.html" title="interface in com.google.android.exoplayer2.audio"><span class="typeNameLink">TeeAudioProcessor.AudioBufferSink</span></a></li> <li class="circle">com.google.android.exoplayer2.audio.<a href="TeeAudioProcessor.AudioBufferSink.html" title="interface in com.google.android.exoplayer2.audio"><span class="typeNameLink">TeeAudioProcessor.AudioBufferSink</span></a></li>
</ul> </ul>
</section> </section>

View File

@ -300,7 +300,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setKeyRequestParameters</h4> <h4>setKeyRequestParameters</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultDrmSessionManager.Builder.html" title="class in com.google.android.exoplayer2.drm">DefaultDrmSessionManager.Builder</a>&nbsp;setKeyRequestParameters&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultDrmSessionManager.Builder.html" title="class in com.google.android.exoplayer2.drm">DefaultDrmSessionManager.Builder</a>&nbsp;setKeyRequestParameters&#8203;(@Nullable
<a href="https://developer.android.com/reference/java/util/Map.html" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="https://developer.android.com/reference/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<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>&gt;&nbsp;keyRequestParameters)</pre> <a href="https://developer.android.com/reference/java/util/Map.html" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="https://developer.android.com/reference/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<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>&gt;&nbsp;keyRequestParameters)</pre>
<div class="block">Sets the key request parameters to pass as the last argument to <a href="ExoMediaDrm.html#getKeyRequest(byte%5B%5D,java.util.List,int,java.util.HashMap)"><code>ExoMediaDrm.getKeyRequest(byte[], List, int, HashMap)</code></a>. May be null if not parameters need to <div class="block">Sets the key request parameters to pass as the last argument to <a href="ExoMediaDrm.html#getKeyRequest(byte%5B%5D,java.util.List,int,java.util.HashMap)"><code>ExoMediaDrm.getKeyRequest(byte[], List, int, HashMap)</code></a>. May be null if not parameters need to
be passed. be passed.
@ -320,7 +321,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setUuidAndExoMediaDrmProvider</h4> <h4>setUuidAndExoMediaDrmProvider</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultDrmSessionManager.Builder.html" title="class in com.google.android.exoplayer2.drm">DefaultDrmSessionManager.Builder</a>&nbsp;setUuidAndExoMediaDrmProvider&#8203;(<a href="https://developer.android.com/reference/java/util/UUID.html" title="class or interface in java.util" class="externalLink" target="_top">UUID</a>&nbsp;uuid, <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultDrmSessionManager.Builder.html" title="class in com.google.android.exoplayer2.drm">DefaultDrmSessionManager.Builder</a>&nbsp;setUuidAndExoMediaDrmProvider&#8203;(<a href="https://developer.android.com/reference/java/util/UUID.html" title="class or interface in java.util" class="externalLink" target="_top">UUID</a>&nbsp;uuid,
<a href="ExoMediaDrm.Provider.html" title="interface in com.google.android.exoplayer2.drm">ExoMediaDrm.Provider</a>&nbsp;exoMediaDrmProvider)</pre> <a href="ExoMediaDrm.Provider.html" title="interface in com.google.android.exoplayer2.drm">ExoMediaDrm.Provider</a>&nbsp;exoMediaDrmProvider)</pre>
<div class="block">Sets the UUID of the DRM scheme and the <a href="ExoMediaDrm.Provider.html" title="interface in com.google.android.exoplayer2.drm"><code>ExoMediaDrm.Provider</code></a> to use.</div> <div class="block">Sets the UUID of the DRM scheme and the <a href="ExoMediaDrm.Provider.html" title="interface in com.google.android.exoplayer2.drm"><code>ExoMediaDrm.Provider</code></a> to use.</div>
<dl> <dl>
@ -338,7 +340,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setMultiSession</h4> <h4>setMultiSession</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultDrmSessionManager.Builder.html" title="class in com.google.android.exoplayer2.drm">DefaultDrmSessionManager.Builder</a>&nbsp;setMultiSession&#8203;(boolean&nbsp;multiSession)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultDrmSessionManager.Builder.html" title="class in com.google.android.exoplayer2.drm">DefaultDrmSessionManager.Builder</a>&nbsp;setMultiSession&#8203;(boolean&nbsp;multiSession)</pre>
<div class="block">Sets whether this session manager is allowed to acquire multiple simultaneous sessions. <div class="block">Sets whether this session manager is allowed to acquire multiple simultaneous sessions.
<p>Users should pass false when a single key request will obtain all keys required to decrypt <p>Users should pass false when a single key request will obtain all keys required to decrypt
@ -358,7 +361,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setUseDrmSessionsForClearContent</h4> <h4>setUseDrmSessionsForClearContent</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultDrmSessionManager.Builder.html" title="class in com.google.android.exoplayer2.drm">DefaultDrmSessionManager.Builder</a>&nbsp;setUseDrmSessionsForClearContent&#8203;(@com.google.android.exoplayer2.C.TrackType int...&nbsp;useDrmSessionsForClearContentTrackTypes)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultDrmSessionManager.Builder.html" title="class in com.google.android.exoplayer2.drm">DefaultDrmSessionManager.Builder</a>&nbsp;setUseDrmSessionsForClearContent&#8203;(@com.google.android.exoplayer2.C.TrackType int...&nbsp;useDrmSessionsForClearContentTrackTypes)</pre>
<div class="block">Sets whether this session manager should attach <a href="DrmSession.html" title="interface in com.google.android.exoplayer2.drm"><code>DrmSessions</code></a> to the clear <div class="block">Sets whether this session manager should attach <a href="DrmSession.html" title="interface in com.google.android.exoplayer2.drm"><code>DrmSessions</code></a> to the clear
sections of the media content. sections of the media content.
@ -383,7 +387,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setPlayClearSamplesWithoutKeys</h4> <h4>setPlayClearSamplesWithoutKeys</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultDrmSessionManager.Builder.html" title="class in com.google.android.exoplayer2.drm">DefaultDrmSessionManager.Builder</a>&nbsp;setPlayClearSamplesWithoutKeys&#8203;(boolean&nbsp;playClearSamplesWithoutKeys)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultDrmSessionManager.Builder.html" title="class in com.google.android.exoplayer2.drm">DefaultDrmSessionManager.Builder</a>&nbsp;setPlayClearSamplesWithoutKeys&#8203;(boolean&nbsp;playClearSamplesWithoutKeys)</pre>
<div class="block">Sets whether clear samples within protected content should be played when keys for the <div class="block">Sets whether clear samples within protected content should be played when keys for the
encrypted part of the content have yet to be loaded.</div> encrypted part of the content have yet to be loaded.</div>
<dl> <dl>
@ -401,7 +406,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setLoadErrorHandlingPolicy</h4> <h4>setLoadErrorHandlingPolicy</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultDrmSessionManager.Builder.html" title="class in com.google.android.exoplayer2.drm">DefaultDrmSessionManager.Builder</a>&nbsp;setLoadErrorHandlingPolicy&#8203;(<a href="../upstream/LoadErrorHandlingPolicy.html" title="interface in com.google.android.exoplayer2.upstream">LoadErrorHandlingPolicy</a>&nbsp;loadErrorHandlingPolicy)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultDrmSessionManager.Builder.html" title="class in com.google.android.exoplayer2.drm">DefaultDrmSessionManager.Builder</a>&nbsp;setLoadErrorHandlingPolicy&#8203;(<a href="../upstream/LoadErrorHandlingPolicy.html" title="interface in com.google.android.exoplayer2.upstream">LoadErrorHandlingPolicy</a>&nbsp;loadErrorHandlingPolicy)</pre>
<div class="block">Sets the <a href="../upstream/LoadErrorHandlingPolicy.html" title="interface in com.google.android.exoplayer2.upstream"><code>LoadErrorHandlingPolicy</code></a> for key and provisioning requests.</div> <div class="block">Sets the <a href="../upstream/LoadErrorHandlingPolicy.html" title="interface in com.google.android.exoplayer2.upstream"><code>LoadErrorHandlingPolicy</code></a> for key and provisioning requests.</div>
<dl> <dl>
<dt><span class="paramLabel">Parameters:</span></dt> <dt><span class="paramLabel">Parameters:</span></dt>
@ -417,7 +423,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setSessionKeepaliveMs</h4> <h4>setSessionKeepaliveMs</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultDrmSessionManager.Builder.html" title="class in com.google.android.exoplayer2.drm">DefaultDrmSessionManager.Builder</a>&nbsp;setSessionKeepaliveMs&#8203;(long&nbsp;sessionKeepaliveMs)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultDrmSessionManager.Builder.html" title="class in com.google.android.exoplayer2.drm">DefaultDrmSessionManager.Builder</a>&nbsp;setSessionKeepaliveMs&#8203;(long&nbsp;sessionKeepaliveMs)</pre>
<div class="block">Sets the time to keep <a href="DrmSession.html" title="interface in com.google.android.exoplayer2.drm"><code>DrmSessions</code></a> alive when they're not in use. <div class="block">Sets the time to keep <a href="DrmSession.html" title="interface in com.google.android.exoplayer2.drm"><code>DrmSessions</code></a> alive when they're not in use.
<p>It can be useful to keep sessions alive during playback of short clear sections of media <p>It can be useful to keep sessions alive during playback of short clear sections of media

View File

@ -2,7 +2,7 @@
<!-- NewPage --> <!-- NewPage -->
<html lang="en"> <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 --> <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>SingleFrameGlTextureProcessor (ExoPlayer library)</title> <title>ColorLut (ExoPlayer library)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <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="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style"> <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
@ -19,14 +19,14 @@
<script type="text/javascript"><!-- <script type="text/javascript"><!--
try { try {
if (location.href.indexOf('is-external=true') == -1) { if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="SingleFrameGlTextureProcessor (ExoPlayer library)"; parent.document.title="ColorLut (ExoPlayer library)";
} }
} }
catch(err) { catch(err) {
} }
//--> //-->
var data = {"i0":6,"i1":6,"i2":6,"i3":6}; var data = {"i0":6,"i1":6,"i2":6,"i3":18};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]}; var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]};
var altColor = "altColor"; var altColor = "altColor";
var rowColor = "rowColor"; var rowColor = "rowColor";
var tableTab = "tableTab"; var tableTab = "tableTab";
@ -113,26 +113,26 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<!-- ======== START OF CLASS DATA ======== --> <!-- ======== START OF CLASS DATA ======== -->
<main role="main"> <main role="main">
<div class="header"> <div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.transformer</a></div> <div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.effect</a></div>
<h2 title="Interface SingleFrameGlTextureProcessor" class="title">Interface SingleFrameGlTextureProcessor</h2> <h2 title="Interface ColorLut" class="title">Interface ColorLut</h2>
</div> </div>
<div class="contentContainer"> <div class="contentContainer">
<div class="description"> <div class="description">
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><code><a href="../util/Effect.html" title="interface in com.google.android.exoplayer2.util">Effect</a></code>, <code><a href="GlEffect.html" title="interface in com.google.android.exoplayer2.effect">GlEffect</a></code></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="SingleColorLut.html" title="class in com.google.android.exoplayer2.effect">SingleColorLut</a></code></dd>
</dl>
<hr> <hr>
<pre>public interface <span class="typeNameLabel">SingleFrameGlTextureProcessor</span></pre> <pre>public interface <span class="typeNameLabel">ColorLut</span>
<div class="block">Manages a GLSL shader program for processing a frame. Implementations generally copy input pixels extends <a href="GlEffect.html" title="interface in com.google.android.exoplayer2.effect">GlEffect</a></pre>
into an output frame, with changes to pixels specific to the implementation. <div class="block">Specifies color transformations using color lookup tables to apply to each frame in the fragment
shader.</div>
<p>Methods must be called in the following order:
<ol>
<li>The constructor, for implementation-specific arguments.
<li><a href="#initialize(android.content.Context,int,int,int)"><code>initialize(Context, int, int, int)</code></a>, to set up graphics initialization.
<li><a href="#drawFrame(long)"><code>drawFrame(long)</code></a>, to process one frame.
<li><a href="#release()"><code>release()</code></a>, upon conclusion of processing.
</ol></div>
</li> </li>
</ul> </ul>
</div> </div>
@ -147,42 +147,40 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</a> </a>
<h3>Method Summary</h3> <h3>Method Summary</h3>
<table class="memberSummary"> <table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption> <caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t5" class="tableTab"><span><a href="javascript:show(16);">Default Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr> <tr>
<th class="colFirst" scope="col">Modifier and Type</th> <th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th> <th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th> <th class="colLast" scope="col">Description</th>
</tr> </tr>
<tr id="i0" class="altColor"> <tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#drawFrame(long)">drawFrame</a></span>&#8203;(long&nbsp;presentationTimeUs)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getLength(long)">getLength</a></span>&#8203;(long&nbsp;presentationTimeUs)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Draws one frame.</div> <div class="block">Returns the length N of the 3D N x N x N LUT cube with the given timestamp.</div>
</td> </td>
</tr> </tr>
<tr id="i1" class="rowColor"> <tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="https://developer.android.com/reference/android/util/Size.html" title="class or interface in android.util" class="externalLink" target="_top">Size</a></code></td> <td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getOutputSize()">getOutputSize</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getLutTextureId(long)">getLutTextureId</a></span>&#8203;(long&nbsp;presentationTimeUs)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Returns the output <a href="https://developer.android.com/reference/android/util/Size.html" title="class or interface in android.util" class="externalLink"><code>Size</code></a> of frames processed through <a href="#drawFrame(long)" target="_top"><code>drawFrame(long)</code></a>.</div> <div class="block">Returns the OpenGL texture ID of the LUT to apply to the pixels of the frame with the given
timestamp.</div>
</td> </td>
</tr> </tr>
<tr id="i2" class="altColor"> <tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#initialize(android.content.Context,int,int,int)">initialize</a></span>&#8203;(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a>&nbsp;context, <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#release()">release</a></span>()</code></th>
int&nbsp;inputTexId,
int&nbsp;inputWidth,
int&nbsp;inputHeight)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Performs all initialization that requires OpenGL, such as, loading and compiling a GLSL shader <div class="block">Releases the OpenGL texture of the LUT.</div>
program.</div>
</td> </td>
</tr> </tr>
<tr id="i3" class="rowColor"> <tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>default <a href="SingleFrameGlTextureProcessor.html" title="class in com.google.android.exoplayer2.effect">SingleFrameGlTextureProcessor</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#release()">release</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toGlTextureProcessor(android.content.Context,boolean)">toGlTextureProcessor</a></span>&#8203;(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a>&nbsp;context,
boolean&nbsp;useHdr)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Releases all resources.</div> <div class="block">This method must be executed on the same thread as other GL commands.</div>
</td> </td>
</tr> </tr>
</table> </table>
@ -202,75 +200,63 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<!-- --> <!-- -->
</a> </a>
<h3>Method Detail</h3> <h3>Method Detail</h3>
<a id="initialize(android.content.Context,int,int,int)"> <a id="getLutTextureId(long)">
<!-- --> <!-- -->
</a> </a>
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>initialize</h4> <h4>getLutTextureId</h4>
<pre class="methodSignature">void&nbsp;initialize&#8203;(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a>&nbsp;context, <pre class="methodSignature">int&nbsp;getLutTextureId&#8203;(long&nbsp;presentationTimeUs)</pre>
int&nbsp;inputTexId, <div class="block">Returns the OpenGL texture ID of the LUT to apply to the pixels of the frame with the given
int&nbsp;inputWidth, timestamp.</div>
int&nbsp;inputHeight)
throws <a href="https://developer.android.com/reference/java/io/IOException.html" title="class or interface in java.io" class="externalLink" target="_top">IOException</a></pre>
<div class="block">Performs all initialization that requires OpenGL, such as, loading and compiling a GLSL shader
program.
<p>This method may only be called if there is a current OpenGL context.</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>inputTexId</code> - Identifier of a 2D OpenGL texture.</dd>
<dd><code>inputWidth</code> - The input width, in pixels.</dd>
<dd><code>inputHeight</code> - The input height, in pixels.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://developer.android.com/reference/java/io/IOException.html" title="class or interface in java.io" class="externalLink" target="_top">IOException</a></code> - If an error occurs while reading resources.</dd>
</dl>
</li> </li>
</ul> </ul>
<a id="getOutputSize()"> <a id="getLength(long)">
<!-- --> <!-- -->
</a> </a>
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>getOutputSize</h4> <h4>getLength</h4>
<pre class="methodSignature"><a href="https://developer.android.com/reference/android/util/Size.html" title="class or interface in android.util" class="externalLink" target="_top">Size</a>&nbsp;getOutputSize()</pre> <pre class="methodSignature">int&nbsp;getLength&#8203;(long&nbsp;presentationTimeUs)</pre>
<div class="block">Returns the output <a href="https://developer.android.com/reference/android/util/Size.html" title="class or interface in android.util" class="externalLink"><code>Size</code></a> of frames processed through <a href="#drawFrame(long)" target="_top"><code>drawFrame(long)</code></a>. <div class="block">Returns the length N of the 3D N x N x N LUT cube with the given timestamp.</div>
<p>This method may only be called after the texture processor has been <a href="#initialize(android.content.Context,int,int,int)"><code>initialized</code></a>.</div>
</li>
</ul>
<a id="drawFrame(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>drawFrame</h4>
<pre class="methodSignature">void&nbsp;drawFrame&#8203;(long&nbsp;presentationTimeUs)
throws <a href="FrameProcessingException.html" title="class in com.google.android.exoplayer2.transformer">FrameProcessingException</a></pre>
<div class="block">Draws one frame.
<p>This method may only be called after the texture processor has been <a href="#initialize(android.content.Context,int,int,int)"><code>initialized</code></a>. The caller is responsible for focussing the
correct render target before calling this method.
<p>A minimal implementation should tell OpenGL to use its shader program, bind the shader
program's vertex attributes and uniforms, and issue a drawing command.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>presentationTimeUs</code> - The presentation timestamp of the current frame, in microseconds.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="FrameProcessingException.html" title="class in com.google.android.exoplayer2.transformer">FrameProcessingException</a></code> - If an error occurs while processing or drawing the frame.</dd>
</dl>
</li> </li>
</ul> </ul>
<a id="release()"> <a id="release()">
<!-- --> <!-- -->
</a> </a>
<ul class="blockListLast"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>release</h4> <h4>release</h4>
<pre class="methodSignature">void&nbsp;release()</pre> <pre class="methodSignature">void&nbsp;release()
<div class="block">Releases all resources.</div> throws <a href="../util/GlUtil.GlException.html" title="class in com.google.android.exoplayer2.util">GlUtil.GlException</a></pre>
<div class="block">Releases the OpenGL texture of the LUT.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../util/GlUtil.GlException.html" title="class in com.google.android.exoplayer2.util">GlUtil.GlException</a></code></dd>
</dl>
</li>
</ul>
<a id="toGlTextureProcessor(android.content.Context,boolean)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toGlTextureProcessor</h4>
<pre class="methodSignature">@WorkerThread
default&nbsp;<a href="SingleFrameGlTextureProcessor.html" title="class in com.google.android.exoplayer2.effect">SingleFrameGlTextureProcessor</a>&nbsp;toGlTextureProcessor&#8203;(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a>&nbsp;context,
boolean&nbsp;useHdr)
throws <a href="../util/FrameProcessingException.html" title="class in com.google.android.exoplayer2.util">FrameProcessingException</a></pre>
<div class="block">This method must be executed on the same thread as other GL commands.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="GlEffect.html#toGlTextureProcessor(android.content.Context,boolean)">toGlTextureProcessor</a></code>&nbsp;in interface&nbsp;<code><a href="GlEffect.html" title="interface in com.google.android.exoplayer2.effect">GlEffect</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<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>useHdr</code> - Whether input textures come from an HDR source. If <code>true</code>, colors will be
in linear RGB BT.2020. If <code>false</code>, colors will be in linear RGB BT.709.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../util/FrameProcessingException.html" title="class in com.google.android.exoplayer2.util">FrameProcessingException</a></code></dd>
</dl>
</li> </li>
</ul> </ul>
</li> </li>

View File

@ -0,0 +1,376 @@
<!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>Contrast (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="Contrast (ExoPlayer library)";
}
}
catch(err) {
}
//-->
var data = {"i0":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
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&nbsp;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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</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>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.effect</a></div>
<h2 title="Class Contrast" class="title">Class Contrast</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>com.google.android.exoplayer2.effect.Contrast</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="GlEffect.html" title="interface in com.google.android.exoplayer2.effect">GlEffect</a></code>, <code><a href="../util/Effect.html" title="interface in com.google.android.exoplayer2.util">Effect</a></code></dd>
</dl>
<hr>
<pre>public class <span class="typeNameLabel">Contrast</span>
extends <a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a>
implements <a href="GlEffect.html" title="interface in com.google.android.exoplayer2.effect">GlEffect</a></pre>
<div class="block">A <a href="GlEffect.html" title="interface in com.google.android.exoplayer2.effect"><code>GlEffect</code></a> to control the contrast of video frames.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>float</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#contrast">contrast</a></span></code></th>
<td class="colLast">
<div class="block">Adjusts the contrast of video frames in the interval [-1, 1].</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(float)">Contrast</a></span>&#8203;(float&nbsp;contrast)</code></th>
<td class="colLast">
<div class="block">Creates a new instance for the given contrast value.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="SingleFrameGlTextureProcessor.html" title="class in com.google.android.exoplayer2.effect">SingleFrameGlTextureProcessor</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toGlTextureProcessor(android.content.Context,boolean)">toGlTextureProcessor</a></span>&#8203;(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a>&nbsp;context,
boolean&nbsp;useHdr)</code></th>
<td class="colLast">
<div class="block">Returns a <a href="SingleFrameGlTextureProcessor.html" title="class in com.google.android.exoplayer2.effect"><code>SingleFrameGlTextureProcessor</code></a> that applies the effect.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></h3>
<code><a href="https://developer.android.com/reference/java/lang/Object.html#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink" target="_top">wait</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a id="contrast">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>contrast</h4>
<pre>public final&nbsp;float contrast</pre>
<div class="block">Adjusts the contrast of video frames in the interval [-1, 1].</div>
</li>
</ul>
</li>
</ul>
</section>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;(float)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>Contrast</h4>
<pre>public&nbsp;Contrast&#8203;(float&nbsp;contrast)</pre>
<div class="block">Creates a new instance for the given contrast value.
<p>Contrast values range from -1 (all gray pixels) to 1 (maximum difference of colors). 0 means
to add no contrast and leaves the frames unchanged.</div>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="toGlTextureProcessor(android.content.Context,boolean)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toGlTextureProcessor</h4>
<pre class="methodSignature">public&nbsp;<a href="SingleFrameGlTextureProcessor.html" title="class in com.google.android.exoplayer2.effect">SingleFrameGlTextureProcessor</a>&nbsp;toGlTextureProcessor&#8203;(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a>&nbsp;context,
boolean&nbsp;useHdr)
throws <a href="../util/FrameProcessingException.html" title="class in com.google.android.exoplayer2.util">FrameProcessingException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="GlEffect.html#toGlTextureProcessor(android.content.Context,boolean)">GlEffect</a></code></span></div>
<div class="block">Returns a <a href="SingleFrameGlTextureProcessor.html" title="class in com.google.android.exoplayer2.effect"><code>SingleFrameGlTextureProcessor</code></a> that applies the effect.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="GlEffect.html#toGlTextureProcessor(android.content.Context,boolean)">toGlTextureProcessor</a></code>&nbsp;in interface&nbsp;<code><a href="GlEffect.html" title="interface in com.google.android.exoplayer2.effect">GlEffect</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<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>useHdr</code> - Whether input textures come from an HDR source. If <code>true</code>, colors will be
in linear RGB BT.2020. If <code>false</code>, colors will be in linear RGB BT.709.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../util/FrameProcessingException.html" title="class in com.google.android.exoplayer2.util">FrameProcessingException</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</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&nbsp;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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

View File

@ -2,7 +2,7 @@
<!-- NewPage --> <!-- NewPage -->
<html lang="en"> <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 --> <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>Presentation.Builder (ExoPlayer library)</title> <title>Crop (ExoPlayer library)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <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="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style"> <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
@ -19,13 +19,13 @@
<script type="text/javascript"><!-- <script type="text/javascript"><!--
try { try {
if (location.href.indexOf('is-external=true') == -1) { if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Presentation.Builder (ExoPlayer library)"; parent.document.title="Crop (ExoPlayer library)";
} }
} }
catch(err) { catch(err) {
} }
//--> //-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10}; var data = {"i0":10,"i1":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]}; var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor"; var altColor = "altColor";
var rowColor = "rowColor"; var rowColor = "rowColor";
@ -113,15 +113,15 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<!-- ======== START OF CLASS DATA ======== --> <!-- ======== START OF CLASS DATA ======== -->
<main role="main"> <main role="main">
<div class="header"> <div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.transformer</a></div> <div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.effect</a></div>
<h2 title="Class Presentation.Builder" class="title">Class Presentation.Builder</h2> <h2 title="Class Crop" class="title">Class Crop</h2>
</div> </div>
<div class="contentContainer"> <div class="contentContainer">
<ul class="inheritance"> <ul class="inheritance">
<li><a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">java.lang.Object</a></li> <li><a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">java.lang.Object</a></li>
<li> <li>
<ul class="inheritance"> <ul class="inheritance">
<li>com.google.android.exoplayer2.transformer.Presentation.Builder</li> <li>com.google.android.exoplayer2.effect.Crop</li>
</ul> </ul>
</li> </li>
</ul> </ul>
@ -129,13 +129,16 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<dl> <dl>
<dt>Enclosing class:</dt> <dt>All Implemented Interfaces:</dt>
<dd><a href="Presentation.html" title="class in com.google.android.exoplayer2.transformer">Presentation</a></dd> <dd><code><a href="GlEffect.html" title="interface in com.google.android.exoplayer2.effect">GlEffect</a></code>, <code><a href="GlMatrixTransformation.html" title="interface in com.google.android.exoplayer2.effect">GlMatrixTransformation</a></code>, <code><a href="MatrixTransformation.html" title="interface in com.google.android.exoplayer2.effect">MatrixTransformation</a></code>, <code><a href="../util/Effect.html" title="interface in com.google.android.exoplayer2.util">Effect</a></code></dd>
</dl> </dl>
<hr> <hr>
<pre>public static final class <span class="typeNameLabel">Presentation.Builder</span> <pre>public final class <span class="typeNameLabel">Crop</span>
extends <a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></pre> extends <a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a>
<div class="block">A builder for <a href="Presentation.html" title="class in com.google.android.exoplayer2.transformer"><code>Presentation</code></a> instances.</div> implements <a href="MatrixTransformation.html" title="interface in com.google.android.exoplayer2.effect">MatrixTransformation</a></pre>
<div class="block">Specifies a crop to apply in the vertex shader.
<p>The background color of the output frame will be black, with alpha = 0 if applicable.</div>
</li> </li>
</ul> </ul>
</div> </div>
@ -156,9 +159,13 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<th class="colLast" scope="col">Description</th> <th class="colLast" scope="col">Description</th>
</tr> </tr>
<tr class="altColor"> <tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">Builder</a></span>()</code></th> <th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(float,float,float,float)">Crop</a></span>&#8203;(float&nbsp;left,
float&nbsp;right,
float&nbsp;bottom,
float&nbsp;top)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Creates a builder with default values.</div> <div class="block">Crops a smaller (or larger) frame, per normalized device coordinates (NDC), where the input
frame corresponds to the square ranging from -1 to 1 on the x and y axes.</div>
</td> </td>
</tr> </tr>
</table> </table>
@ -180,34 +187,18 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<th class="colLast" scope="col">Description</th> <th class="colLast" scope="col">Description</th>
</tr> </tr>
<tr id="i0" class="altColor"> <tr id="i0" class="altColor">
<td class="colFirst"><code><a href="Presentation.html" title="class in com.google.android.exoplayer2.transformer">Presentation</a></code></td> <td class="colFirst"><code><a href="https://developer.android.com/reference/android/util/Pair.html" title="class or interface in android.util" class="externalLink">Pair</a>&lt;<a href="https://developer.android.com/reference/java/lang/Integer.html?is-external=true" title="class or interface in java.lang" class="externalLink">Integer</a>,&#8203;<a href="https://developer.android.com/reference/java/lang/Integer.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#build()">build</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#configure(int,int)">configure</a></span>&#8203;(int&nbsp;inputWidth,
<td class="colLast">&nbsp;</td> int&nbsp;inputHeight)</code></th>
<td class="colLast">
<div class="block">Configures the input and output dimensions.</div>
</td>
</tr> </tr>
<tr id="i1" class="rowColor"> <tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="Presentation.Builder.html" title="class in com.google.android.exoplayer2.transformer">Presentation.Builder</a></code></td> <td class="colFirst"><code><a href="https://developer.android.com/reference/android/graphics/Matrix.html" title="class or interface in android.graphics" class="externalLink" target="_top">Matrix</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setAspectRatio(float,@com.google.android.exoplayer2.transformer.Presentation.Layoutint)">setAspectRatio</a></span>&#8203;(float&nbsp;aspectRatio, <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMatrix(long)">getMatrix</a></span>&#8203;(long&nbsp;presentationTimeUs)</code></th>
@com.google.android.exoplayer2.transformer.Presentation.Layout int&nbsp;layout)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Sets the aspect ratio (width/height ratio) for the output frame.</div> <div class="block">Returns the 3x3 transformation <a href="https://developer.android.com/reference/android/graphics/Matrix.html" title="class or interface in android.graphics" class="externalLink" target="_top"><code>Matrix</code></a> to apply to the frame with the given timestamp.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="Presentation.Builder.html" title="class in com.google.android.exoplayer2.transformer">Presentation.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setCrop(float,float,float,float)">setCrop</a></span>&#8203;(float&nbsp;left,
float&nbsp;right,
float&nbsp;bottom,
float&nbsp;top)</code></th>
<td class="colLast">
<div class="block">Crops a smaller (or larger frame), per normalized device coordinates (NDC), where the input
frame corresponds to the square ranging from -1 to 1 on the x and y axes.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="Presentation.Builder.html" title="class in com.google.android.exoplayer2.transformer">Presentation.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setResolution(int)">setResolution</a></span>&#8203;(int&nbsp;height)</code></th>
<td class="colLast">
<div class="block">Sets the output resolution using the output height.</div>
</td> </td>
</tr> </tr>
</table> </table>
@ -218,6 +209,20 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></h3> <h3>Methods inherited from class&nbsp;java.lang.<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></h3>
<code><a href="https://developer.android.com/reference/java/lang/Object.html#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink" target="_top">wait</a></code></li> <code><a href="https://developer.android.com/reference/java/lang/Object.html#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink" target="_top">wait</a></code></li>
</ul> </ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.com.google.android.exoplayer2.effect.GlMatrixTransformation">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;com.google.android.exoplayer2.effect.<a href="GlMatrixTransformation.html" title="interface in com.google.android.exoplayer2.effect">GlMatrixTransformation</a></h3>
<code><a href="GlMatrixTransformation.html#toGlTextureProcessor(android.content.Context,boolean)">toGlTextureProcessor</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.com.google.android.exoplayer2.effect.MatrixTransformation">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;com.google.android.exoplayer2.effect.<a href="MatrixTransformation.html" title="interface in com.google.android.exoplayer2.effect">MatrixTransformation</a></h3>
<code><a href="MatrixTransformation.html#getGlMatrixArray(long)">getGlMatrixArray</a></code></li>
</ul>
</li> </li>
</ul> </ul>
</section> </section>
@ -234,14 +239,29 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<!-- --> <!-- -->
</a> </a>
<h3>Constructor Detail</h3> <h3>Constructor Detail</h3>
<a id="&lt;init&gt;()"> <a id="&lt;init&gt;(float,float,float,float)">
<!-- --> <!-- -->
</a> </a>
<ul class="blockListLast"> <ul class="blockListLast">
<li class="blockList"> <li class="blockList">
<h4>Builder</h4> <h4>Crop</h4>
<pre>public&nbsp;Builder()</pre> <pre>public&nbsp;Crop&#8203;(float&nbsp;left,
<div class="block">Creates a builder with default values.</div> float&nbsp;right,
float&nbsp;bottom,
float&nbsp;top)</pre>
<div class="block">Crops a smaller (or larger) frame, per normalized device coordinates (NDC), where the input
frame corresponds to the square ranging from -1 to 1 on the x and y axes.
<p><code>left</code> and <code>bottom</code> default to -1, and <code>right</code> and <code>top</code> default to
1, which corresponds to not applying any crop. To crop to a smaller subset of the input frame,
use values between -1 and 1. To crop to a larger frame, use values below -1 and above 1.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>left</code> - The left edge of the output frame, in NDC. Must be less than <code>right</code>.</dd>
<dd><code>right</code> - The right edge of the output frame, in NDC. Must be greater than <code>left</code>.</dd>
<dd><code>bottom</code> - The bottom edge of the output frame, in NDC. Must be less than <code>top</code>.</dd>
<dd><code>top</code> - The top edge of the output frame, in NDC. Must be greater than <code>bottom</code>.</dd>
</dl>
</li> </li>
</ul> </ul>
</li> </li>
@ -254,97 +274,42 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<!-- --> <!-- -->
</a> </a>
<h3>Method Detail</h3> <h3>Method Detail</h3>
<a id="setResolution(int)"> <a id="configure(int,int)">
<!-- --> <!-- -->
</a> </a>
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setResolution</h4> <h4>configure</h4>
<pre class="methodSignature">public&nbsp;<a href="Presentation.Builder.html" title="class in com.google.android.exoplayer2.transformer">Presentation.Builder</a>&nbsp;setResolution&#8203;(int&nbsp;height)</pre> <pre class="methodSignature">public&nbsp;<a href="https://developer.android.com/reference/android/util/Pair.html" title="class or interface in android.util" class="externalLink">Pair</a>&lt;<a href="https://developer.android.com/reference/java/lang/Integer.html?is-external=true" title="class or interface in java.lang" class="externalLink">Integer</a>,&#8203;<a href="https://developer.android.com/reference/java/lang/Integer.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>&gt;&nbsp;configure&#8203;(int&nbsp;inputWidth,
<div class="block">Sets the output resolution using the output height. int&nbsp;inputHeight)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="GlMatrixTransformation.html#configure(int,int)">GlMatrixTransformation</a></code></span></div>
<div class="block">Configures the input and output dimensions.
<p>The default value, <a href="../C.html#LENGTH_UNSET"><code>C.LENGTH_UNSET</code></a>, corresponds to using the same height as the <p>Must be called before <a href="GlMatrixTransformation.html#getGlMatrixArray(long)"><code>GlMatrixTransformation.getGlMatrixArray(long)</code></a>.</div>
input. Output width of the displayed frame will scale to preserve the frame's aspect ratio
after other transformations.
<p>For example, a 1920x1440 frame can be scaled to 640x480 by calling <code>
setResolution(480)</code>.</div>
<dl> <dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="GlMatrixTransformation.html#configure(int,int)">configure</a></code>&nbsp;in interface&nbsp;<code><a href="GlMatrixTransformation.html" title="interface in com.google.android.exoplayer2.effect">GlMatrixTransformation</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt> <dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>height</code> - The output height of the displayed frame, in pixels.</dd> <dd><code>inputWidth</code> - The input frame width, in pixels.</dd>
<dd><code>inputHeight</code> - The input frame height, in pixels.</dd>
<dt><span class="returnLabel">Returns:</span></dt> <dt><span class="returnLabel">Returns:</span></dt>
<dd>This builder.</dd> <dd>The output frame width and height, in pixels.</dd>
</dl> </dl>
</li> </li>
</ul> </ul>
<a id="setCrop(float,float,float,float)"> <a id="getMatrix(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCrop</h4>
<pre class="methodSignature">public&nbsp;<a href="Presentation.Builder.html" title="class in com.google.android.exoplayer2.transformer">Presentation.Builder</a>&nbsp;setCrop&#8203;(float&nbsp;left,
float&nbsp;right,
float&nbsp;bottom,
float&nbsp;top)</pre>
<div class="block">Crops a smaller (or larger frame), per normalized device coordinates (NDC), where the input
frame corresponds to the square ranging from -1 to 1 on the x and y axes.
<p><code>left</code> and <code>bottom</code> default to -1, and <code>right</code> and <code>top</code> default
to 1, which corresponds to not applying any crop. To crop to a smaller subset of the input
frame, use values between -1 and 1. To crop to a larger frame, use values below -1 and above
1.
<p>Width and height values set may be rescaled by <a href="#setResolution(int)"><code>setResolution(int)</code></a>, which is
applied after cropping changes.
<p>Only one of <code>setCrop</code> or <a href="#setAspectRatio(float,@com.google.android.exoplayer2.transformer.Presentation.Layoutint)"><code>setAspectRatio(float, int)</code></a> can be called for one
<a href="Presentation.html" title="class in com.google.android.exoplayer2.transformer"><code>Presentation</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>left</code> - The left edge of the output frame, in NDC. Must be less than <code>right</code>.</dd>
<dd><code>right</code> - The right edge of the output frame, in NDC. Must be greater than <code>left</code>.</dd>
<dd><code>bottom</code> - The bottom edge of the output frame, in NDC. Must be less than <code>top</code>.</dd>
<dd><code>top</code> - The top edge of the output frame, in NDC. Must be greater than <code>bottom</code>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This builder.</dd>
</dl>
</li>
</ul>
<a id="setAspectRatio(float,@com.google.android.exoplayer2.transformer.Presentation.Layoutint)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAspectRatio</h4>
<pre class="methodSignature">public&nbsp;<a href="Presentation.Builder.html" title="class in com.google.android.exoplayer2.transformer">Presentation.Builder</a>&nbsp;setAspectRatio&#8203;(float&nbsp;aspectRatio,
@com.google.android.exoplayer2.transformer.Presentation.Layout int&nbsp;layout)</pre>
<div class="block">Sets the aspect ratio (width/height ratio) for the output frame.
<p>Resizes a frame's width or height to conform to an <code>aspectRatio</code>, given a <a href="Presentation.Layout.html" title="annotation in com.google.android.exoplayer2.transformer"><code>Presentation.Layout</code></a>. <code>aspectRatio</code> defaults to <a href="../C.html#LENGTH_UNSET"><code>C.LENGTH_UNSET</code></a>, which corresponds to the
same aspect ratio as the input frame. <code>layout</code> defaults to <a href="Presentation.html#LAYOUT_SCALE_TO_FIT"><code>Presentation.LAYOUT_SCALE_TO_FIT</code></a>
<p>Width and height values set may be rescaled by <a href="#setResolution(int)"><code>setResolution(int)</code></a>, which is
applied after aspect ratio changes.
<p>Only one of <a href="#setCrop(float,float,float,float)"><code>setCrop(float, float, float, float)</code></a> or <code>setAspectRatio</code> can be
called for one <a href="Presentation.html" title="class in com.google.android.exoplayer2.transformer"><code>Presentation</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>aspectRatio</code> - The aspect ratio (width/height ratio) of the output frame. Must be
positive.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This builder.</dd>
</dl>
</li>
</ul>
<a id="build()">
<!-- --> <!-- -->
</a> </a>
<ul class="blockListLast"> <ul class="blockListLast">
<li class="blockList"> <li class="blockList">
<h4>build</h4> <h4>getMatrix</h4>
<pre class="methodSignature">public&nbsp;<a href="Presentation.html" title="class in com.google.android.exoplayer2.transformer">Presentation</a>&nbsp;build()</pre> <pre class="methodSignature">public&nbsp;<a href="https://developer.android.com/reference/android/graphics/Matrix.html" title="class or interface in android.graphics" class="externalLink" target="_top">Matrix</a>&nbsp;getMatrix&#8203;(long&nbsp;presentationTimeUs)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="MatrixTransformation.html#getMatrix(long)">MatrixTransformation</a></code></span></div>
<div class="block">Returns the 3x3 transformation <a href="https://developer.android.com/reference/android/graphics/Matrix.html" title="class or interface in android.graphics" class="externalLink" target="_top"><code>Matrix</code></a> to apply to the frame with the given timestamp.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="MatrixTransformation.html#getMatrix(long)">getMatrix</a></code>&nbsp;in interface&nbsp;<code><a href="MatrixTransformation.html" title="interface in com.google.android.exoplayer2.effect">MatrixTransformation</a></code></dd>
</dl>
</li> </li>
</ul> </ul>
</li> </li>

View File

@ -0,0 +1,277 @@
<!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>GlEffect (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="GlEffect (ExoPlayer library)";
}
}
catch(err) {
}
//-->
var data = {"i0":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
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&nbsp;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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</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>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.effect</a></div>
<h2 title="Interface GlEffect" class="title">Interface GlEffect</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><code><a href="../util/Effect.html" title="interface in com.google.android.exoplayer2.util">Effect</a></code></dd>
</dl>
<dl>
<dt>All Known Subinterfaces:</dt>
<dd><code><a href="ColorLut.html" title="interface in com.google.android.exoplayer2.effect">ColorLut</a></code>, <code><a href="GlMatrixTransformation.html" title="interface in com.google.android.exoplayer2.effect">GlMatrixTransformation</a></code>, <code><a href="MatrixTransformation.html" title="interface in com.google.android.exoplayer2.effect">MatrixTransformation</a></code>, <code><a href="RgbMatrix.html" title="interface in com.google.android.exoplayer2.effect">RgbMatrix</a></code></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="Contrast.html" title="class in com.google.android.exoplayer2.effect">Contrast</a></code>, <code><a href="Crop.html" title="class in com.google.android.exoplayer2.effect">Crop</a></code>, <code><a href="HslAdjustment.html" title="class in com.google.android.exoplayer2.effect">HslAdjustment</a></code>, <code><a href="Presentation.html" title="class in com.google.android.exoplayer2.effect">Presentation</a></code>, <code><a href="RgbAdjustment.html" title="class in com.google.android.exoplayer2.effect">RgbAdjustment</a></code>, <code><a href="RgbFilter.html" title="class in com.google.android.exoplayer2.effect">RgbFilter</a></code>, <code><a href="ScaleToFitTransformation.html" title="class in com.google.android.exoplayer2.effect">ScaleToFitTransformation</a></code>, <code><a href="SingleColorLut.html" title="class in com.google.android.exoplayer2.effect">SingleColorLut</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">GlEffect</span>
extends <a href="../util/Effect.html" title="interface in com.google.android.exoplayer2.util">Effect</a></pre>
<div class="block">Interface for a video frame effect with a <a href="GlTextureProcessor.html" title="interface in com.google.android.exoplayer2.effect"><code>GlTextureProcessor</code></a> implementation.
<p>Implementations contain information specifying the effect and can be <a href="#toGlTextureProcessor(android.content.Context,boolean)">converted</a> to a <a href="GlTextureProcessor.html" title="interface in com.google.android.exoplayer2.effect"><code>GlTextureProcessor</code></a> which applies
the effect.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="GlTextureProcessor.html" title="interface in com.google.android.exoplayer2.effect">GlTextureProcessor</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toGlTextureProcessor(android.content.Context,boolean)">toGlTextureProcessor</a></span>&#8203;(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a>&nbsp;context,
boolean&nbsp;useHdr)</code></th>
<td class="colLast">
<div class="block">Returns a <a href="SingleFrameGlTextureProcessor.html" title="class in com.google.android.exoplayer2.effect"><code>SingleFrameGlTextureProcessor</code></a> that applies the effect.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="toGlTextureProcessor(android.content.Context,boolean)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toGlTextureProcessor</h4>
<pre class="methodSignature"><a href="GlTextureProcessor.html" title="interface in com.google.android.exoplayer2.effect">GlTextureProcessor</a>&nbsp;toGlTextureProcessor&#8203;(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a>&nbsp;context,
boolean&nbsp;useHdr)
throws <a href="../util/FrameProcessingException.html" title="class in com.google.android.exoplayer2.util">FrameProcessingException</a></pre>
<div class="block">Returns a <a href="SingleFrameGlTextureProcessor.html" title="class in com.google.android.exoplayer2.effect"><code>SingleFrameGlTextureProcessor</code></a> that applies the effect.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<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>useHdr</code> - Whether input textures come from an HDR source. If <code>true</code>, colors will be
in linear RGB BT.2020. If <code>false</code>, colors will be in linear RGB BT.709.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../util/FrameProcessingException.html" title="class in com.google.android.exoplayer2.util">FrameProcessingException</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</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&nbsp;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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

View File

@ -0,0 +1,349 @@
<!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>GlEffectsFrameProcessor.Factory (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="GlEffectsFrameProcessor.Factory (ExoPlayer library)";
}
}
catch(err) {
}
//-->
var data = {"i0":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
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&nbsp;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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</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>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.effect</a></div>
<h2 title="Class GlEffectsFrameProcessor.Factory" class="title">Class GlEffectsFrameProcessor.Factory</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>com.google.android.exoplayer2.effect.GlEffectsFrameProcessor.Factory</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="../util/FrameProcessor.Factory.html" title="interface in com.google.android.exoplayer2.util">FrameProcessor.Factory</a></code></dd>
</dl>
<dl>
<dt>Enclosing class:</dt>
<dd><a href="GlEffectsFrameProcessor.html" title="class in com.google.android.exoplayer2.effect">GlEffectsFrameProcessor</a></dd>
</dl>
<hr>
<pre>public static class <span class="typeNameLabel">GlEffectsFrameProcessor.Factory</span>
extends <a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a>
implements <a href="../util/FrameProcessor.Factory.html" title="interface in com.google.android.exoplayer2.util">FrameProcessor.Factory</a></pre>
<div class="block">A factory for <a href="GlEffectsFrameProcessor.html" title="class in com.google.android.exoplayer2.effect"><code>GlEffectsFrameProcessor</code></a> instances.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">Factory</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="GlEffectsFrameProcessor.html" title="class in com.google.android.exoplayer2.effect">GlEffectsFrameProcessor</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#create(android.content.Context,com.google.android.exoplayer2.util.FrameProcessor.Listener,java.util.List,com.google.android.exoplayer2.util.DebugViewProvider,com.google.android.exoplayer2.video.ColorInfo,boolean)">create</a></span>&#8203;(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a>&nbsp;context,
<a href="../util/FrameProcessor.Listener.html" title="interface in com.google.android.exoplayer2.util">FrameProcessor.Listener</a>&nbsp;listener,
<a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="../util/Effect.html" title="interface in com.google.android.exoplayer2.util" target="_top">Effect</a>&gt;&nbsp;effects,
<a href="../util/DebugViewProvider.html" title="interface in com.google.android.exoplayer2.util">DebugViewProvider</a>&nbsp;debugViewProvider,
<a href="../video/ColorInfo.html" title="class in com.google.android.exoplayer2.video">ColorInfo</a>&nbsp;colorInfo,
boolean&nbsp;releaseFramesAutomatically)</code></th>
<td class="colLast">
<div class="block">Creates a new <a href="../util/FrameProcessor.html" title="interface in com.google.android.exoplayer2.util"><code>FrameProcessor</code></a> instance.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></h3>
<code><a href="https://developer.android.com/reference/java/lang/Object.html#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink" target="_top">wait</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>Factory</h4>
<pre>public&nbsp;Factory()</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="create(android.content.Context,com.google.android.exoplayer2.util.FrameProcessor.Listener,java.util.List,com.google.android.exoplayer2.util.DebugViewProvider,com.google.android.exoplayer2.video.ColorInfo,boolean)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>create</h4>
<pre class="methodSignature">public&nbsp;<a href="GlEffectsFrameProcessor.html" title="class in com.google.android.exoplayer2.effect">GlEffectsFrameProcessor</a>&nbsp;create&#8203;(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a>&nbsp;context,
<a href="../util/FrameProcessor.Listener.html" title="interface in com.google.android.exoplayer2.util">FrameProcessor.Listener</a>&nbsp;listener,
<a href="https://developer.android.com/reference/java/util/List.html" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="../util/Effect.html" title="interface in com.google.android.exoplayer2.util" target="_top">Effect</a>&gt;&nbsp;effects,
<a href="../util/DebugViewProvider.html" title="interface in com.google.android.exoplayer2.util">DebugViewProvider</a>&nbsp;debugViewProvider,
<a href="../video/ColorInfo.html" title="class in com.google.android.exoplayer2.video">ColorInfo</a>&nbsp;colorInfo,
boolean&nbsp;releaseFramesAutomatically)
throws <a href="../util/FrameProcessingException.html" title="class in com.google.android.exoplayer2.util">FrameProcessingException</a></pre>
<div class="block">Creates a new <a href="../util/FrameProcessor.html" title="interface in com.google.android.exoplayer2.util"><code>FrameProcessor</code></a> instance.
<p>All <a href="../util/Effect.html" title="interface in com.google.android.exoplayer2.util"><code>Effect</code></a> instances must be <a href="GlEffect.html" title="interface in com.google.android.exoplayer2.effect"><code>GlEffect</code></a> instances.
<p>Using HDR requires the <code>EXT_YUV_target</code> OpenGL extension.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../util/FrameProcessor.Factory.html#create(android.content.Context,com.google.android.exoplayer2.util.FrameProcessor.Listener,java.util.List,com.google.android.exoplayer2.util.DebugViewProvider,com.google.android.exoplayer2.video.ColorInfo,boolean)">create</a></code>&nbsp;in interface&nbsp;<code><a href="../util/FrameProcessor.Factory.html" title="interface in com.google.android.exoplayer2.util">FrameProcessor.Factory</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<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>listener</code> - A <a href="../util/FrameProcessor.Listener.html" title="interface in com.google.android.exoplayer2.util"><code>FrameProcessor.Listener</code></a>.</dd>
<dd><code>effects</code> - The <a href="../util/Effect.html" title="interface in com.google.android.exoplayer2.util"><code>Effect</code></a> instances to apply to each frame.</dd>
<dd><code>debugViewProvider</code> - A <a href="../util/DebugViewProvider.html" title="interface in com.google.android.exoplayer2.util"><code>DebugViewProvider</code></a>.</dd>
<dd><code>colorInfo</code> - The <a href="../video/ColorInfo.html" title="class in com.google.android.exoplayer2.video"><code>ColorInfo</code></a> for input and output frames.</dd>
<dd><code>releaseFramesAutomatically</code> - If <code>true</code>, the <a href="../util/FrameProcessor.html" title="interface in com.google.android.exoplayer2.util"><code>FrameProcessor</code></a> will render
output frames to the <a href="../util/FrameProcessor.html#setOutputSurfaceInfo(com.google.android.exoplayer2.util.SurfaceInfo)">output surface</a>
automatically as <a href="../util/FrameProcessor.html" title="interface in com.google.android.exoplayer2.util"><code>FrameProcessor</code></a> is done processing them. If <code>false</code>, the
<a href="../util/FrameProcessor.html" title="interface in com.google.android.exoplayer2.util"><code>FrameProcessor</code></a> will block until <a href="../util/FrameProcessor.html#releaseOutputFrame(long)"><code>FrameProcessor.releaseOutputFrame(long)</code></a> is called, to
render or drop the frame.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A new instance.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../util/FrameProcessingException.html" title="class in com.google.android.exoplayer2.util">FrameProcessingException</a></code> - If a problem occurs while creating the <a href="../util/FrameProcessor.html" title="interface in com.google.android.exoplayer2.util"><code>FrameProcessor</code></a>.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</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&nbsp;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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

View File

@ -0,0 +1,525 @@
<!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>GlEffectsFrameProcessor (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="GlEffectsFrameProcessor (ExoPlayer library)";
}
}
catch(err) {
}
//-->
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";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
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&nbsp;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:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</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>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.effect</a></div>
<h2 title="Class GlEffectsFrameProcessor" class="title">Class GlEffectsFrameProcessor</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>com.google.android.exoplayer2.effect.GlEffectsFrameProcessor</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="../util/FrameProcessor.html" title="interface in com.google.android.exoplayer2.util">FrameProcessor</a></code></dd>
</dl>
<hr>
<pre>public final class <span class="typeNameLabel">GlEffectsFrameProcessor</span>
extends <a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a>
implements <a href="../util/FrameProcessor.html" title="interface in com.google.android.exoplayer2.util">FrameProcessor</a></pre>
<div class="block">A <a href="../util/FrameProcessor.html" title="interface in com.google.android.exoplayer2.util"><code>FrameProcessor</code></a> implementation that applies <a href="GlEffect.html" title="interface in com.google.android.exoplayer2.effect"><code>GlEffect</code></a> instances using OpenGL on a
background thread.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="GlEffectsFrameProcessor.Factory.html" title="class in com.google.android.exoplayer2.effect">GlEffectsFrameProcessor.Factory</a></span></code></th>
<td class="colLast">
<div class="block">A factory for <a href="GlEffectsFrameProcessor.html" title="class in com.google.android.exoplayer2.effect"><code>GlEffectsFrameProcessor</code></a> instances.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.com.google.android.exoplayer2.util.FrameProcessor">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;com.google.android.exoplayer2.util.<a href="../util/FrameProcessor.html" title="interface in com.google.android.exoplayer2.util">FrameProcessor</a></h3>
<code><a href="../util/FrameProcessor.Listener.html" title="interface in com.google.android.exoplayer2.util">FrameProcessor.Listener</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.com.google.android.exoplayer2.util.FrameProcessor">
<!-- -->
</a>
<h3>Fields inherited from interface&nbsp;com.google.android.exoplayer2.util.<a href="../util/FrameProcessor.html" title="interface in com.google.android.exoplayer2.util">FrameProcessor</a></h3>
<code><a href="../util/FrameProcessor.html#DROP_OUTPUT_FRAME">DROP_OUTPUT_FRAME</a>, <a href="../util/FrameProcessor.html#RELEASE_OUTPUT_FRAME_IMMEDIATELY">RELEASE_OUTPUT_FRAME_IMMEDIATELY</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="https://developer.android.com/reference/android/view/Surface.html" title="class or interface in android.view" class="externalLink" target="_top">Surface</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getInputSurface()">getInputSurface</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the input <a href="https://developer.android.com/reference/android/view/Surface.html" title="class or interface in android.view" class="externalLink"><code>Surface</code></a>, where <a href="../util/FrameProcessor.html" title="interface in com.google.android.exoplayer2.util" target="_top"><code>FrameProcessor</code></a> consumes input frames from.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getPendingInputFrameCount()">getPendingInputFrameCount</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the number of input frames that have been <a href="../util/FrameProcessor.html#registerInputFrame()">registered</a>
but not processed off the <a href="../util/FrameProcessor.html#getInputSurface()">input surface</a> yet.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#registerInputFrame()">registerInputFrame</a></span>()</code></th>
<td class="colLast">
<div class="block">Informs the <code>FrameProcessor</code> that a frame will be queued to its input surface.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#release()">release</a></span>()</code></th>
<td class="colLast">
<div class="block">Releases all resources.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#releaseOutputFrame(long)">releaseOutputFrame</a></span>&#8203;(long&nbsp;releaseTimeNs)</code></th>
<td class="colLast">
<div class="block">Releases the oldest unreleased output frame that has become <a href="../util/FrameProcessor.Listener.html#onOutputFrameAvailable(long)">available</a> at the given <code>releaseTimeNs</code>.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setInputFrameInfo(com.google.android.exoplayer2.util.FrameInfo)">setInputFrameInfo</a></span>&#8203;(<a href="../util/FrameInfo.html" title="class in com.google.android.exoplayer2.util">FrameInfo</a>&nbsp;inputFrameInfo)</code></th>
<td class="colLast">
<div class="block">Sets information about the input frames.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setOutputSurfaceInfo(com.google.android.exoplayer2.util.SurfaceInfo)">setOutputSurfaceInfo</a></span>&#8203;(<a href="../util/SurfaceInfo.html" title="class in com.google.android.exoplayer2.util">SurfaceInfo</a>&nbsp;outputSurfaceInfo)</code></th>
<td class="colLast">
<div class="block">Sets the output surface and supporting information.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#signalEndOfInput()">signalEndOfInput</a></span>()</code></th>
<td class="colLast">
<div class="block">Informs the <code>FrameProcessor</code> that no further input frames should be accepted.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></h3>
<code><a href="https://developer.android.com/reference/java/lang/Object.html#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink" target="_top">wait</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="getInputSurface()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInputSurface</h4>
<pre class="methodSignature">public&nbsp;<a href="https://developer.android.com/reference/android/view/Surface.html" title="class or interface in android.view" class="externalLink" target="_top">Surface</a>&nbsp;getInputSurface()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../util/FrameProcessor.html#getInputSurface()">FrameProcessor</a></code></span></div>
<div class="block">Returns the input <a href="https://developer.android.com/reference/android/view/Surface.html" title="class or interface in android.view" class="externalLink"><code>Surface</code></a>, where <a href="../util/FrameProcessor.html" title="interface in com.google.android.exoplayer2.util" target="_top"><code>FrameProcessor</code></a> consumes input frames from.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../util/FrameProcessor.html#getInputSurface()">getInputSurface</a></code>&nbsp;in interface&nbsp;<code><a href="../util/FrameProcessor.html" title="interface in com.google.android.exoplayer2.util">FrameProcessor</a></code></dd>
</dl>
</li>
</ul>
<a id="setInputFrameInfo(com.google.android.exoplayer2.util.FrameInfo)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setInputFrameInfo</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setInputFrameInfo&#8203;(<a href="../util/FrameInfo.html" title="class in com.google.android.exoplayer2.util">FrameInfo</a>&nbsp;inputFrameInfo)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../util/FrameProcessor.html#setInputFrameInfo(com.google.android.exoplayer2.util.FrameInfo)">FrameProcessor</a></code></span></div>
<div class="block">Sets information about the input frames.
<p>The new input information is applied from the next frame <a href="../util/FrameProcessor.html#registerInputFrame()">registered</a> onwards.
<p>Pixels are expanded using the <a href="../util/FrameInfo.html#pixelWidthHeightRatio"><code>FrameInfo.pixelWidthHeightRatio</code></a> so that the output
frames' pixels have a ratio of 1.
<p>The caller should update <a href="../util/FrameInfo.html#streamOffsetUs"><code>FrameInfo.streamOffsetUs</code></a> when switching input streams to
ensure that frame timestamps are always monotonically increasing.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../util/FrameProcessor.html#setInputFrameInfo(com.google.android.exoplayer2.util.FrameInfo)">setInputFrameInfo</a></code>&nbsp;in interface&nbsp;<code><a href="../util/FrameProcessor.html" title="interface in com.google.android.exoplayer2.util">FrameProcessor</a></code></dd>
</dl>
</li>
</ul>
<a id="registerInputFrame()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>registerInputFrame</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;registerInputFrame()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../util/FrameProcessor.html#registerInputFrame()">FrameProcessor</a></code></span></div>
<div class="block">Informs the <code>FrameProcessor</code> that a frame will be queued to its input surface.
<p>Must be called before rendering a frame to the frame processor's input surface.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../util/FrameProcessor.html#registerInputFrame()">registerInputFrame</a></code>&nbsp;in interface&nbsp;<code><a href="../util/FrameProcessor.html" title="interface in com.google.android.exoplayer2.util">FrameProcessor</a></code></dd>
</dl>
</li>
</ul>
<a id="getPendingInputFrameCount()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPendingInputFrameCount</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;getPendingInputFrameCount()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../util/FrameProcessor.html#getPendingInputFrameCount()">FrameProcessor</a></code></span></div>
<div class="block">Returns the number of input frames that have been <a href="../util/FrameProcessor.html#registerInputFrame()">registered</a>
but not processed off the <a href="../util/FrameProcessor.html#getInputSurface()">input surface</a> yet.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../util/FrameProcessor.html#getPendingInputFrameCount()">getPendingInputFrameCount</a></code>&nbsp;in interface&nbsp;<code><a href="../util/FrameProcessor.html" title="interface in com.google.android.exoplayer2.util">FrameProcessor</a></code></dd>
</dl>
</li>
</ul>
<a id="setOutputSurfaceInfo(com.google.android.exoplayer2.util.SurfaceInfo)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setOutputSurfaceInfo</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setOutputSurfaceInfo&#8203;(@Nullable
<a href="../util/SurfaceInfo.html" title="class in com.google.android.exoplayer2.util">SurfaceInfo</a>&nbsp;outputSurfaceInfo)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../util/FrameProcessor.html#setOutputSurfaceInfo(com.google.android.exoplayer2.util.SurfaceInfo)">FrameProcessor</a></code></span></div>
<div class="block">Sets the output surface and supporting information. When output frames are released and not
dropped, they will be rendered to this output <a href="../util/SurfaceInfo.html" title="class in com.google.android.exoplayer2.util"><code>SurfaceInfo</code></a>.
<p>The new output <a href="../util/SurfaceInfo.html" title="class in com.google.android.exoplayer2.util"><code>SurfaceInfo</code></a> is applied from the next output frame rendered onwards.
If the output <a href="../util/SurfaceInfo.html" title="class in com.google.android.exoplayer2.util"><code>SurfaceInfo</code></a> is <code>null</code>, the <code>FrameProcessor</code> will stop
rendering pending frames and resume rendering once a non-null <a href="../util/SurfaceInfo.html" title="class in com.google.android.exoplayer2.util"><code>SurfaceInfo</code></a> is set.
<p>If the dimensions given in <a href="../util/SurfaceInfo.html" title="class in com.google.android.exoplayer2.util"><code>SurfaceInfo</code></a> do not match the <a href="../util/FrameProcessor.Listener.html#onOutputSizeChanged(int,int)">output size after applying the final effect</a> the frames
are resized before rendering to the surface and letter/pillar-boxing is applied.
<p>The caller is responsible for tracking the lifecycle of the <a href="../util/SurfaceInfo.html#surface"><code>SurfaceInfo.surface</code></a>
including calling this method with a new surface if it is destroyed. When this method returns,
the previous output surface is no longer being used and can safely be released by the caller.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../util/FrameProcessor.html#setOutputSurfaceInfo(com.google.android.exoplayer2.util.SurfaceInfo)">setOutputSurfaceInfo</a></code>&nbsp;in interface&nbsp;<code><a href="../util/FrameProcessor.html" title="interface in com.google.android.exoplayer2.util">FrameProcessor</a></code></dd>
</dl>
</li>
</ul>
<a id="releaseOutputFrame(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>releaseOutputFrame</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;releaseOutputFrame&#8203;(long&nbsp;releaseTimeNs)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../util/FrameProcessor.html#releaseOutputFrame(long)">FrameProcessor</a></code></span></div>
<div class="block">Releases the oldest unreleased output frame that has become <a href="../util/FrameProcessor.Listener.html#onOutputFrameAvailable(long)">available</a> at the given <code>releaseTimeNs</code>.
<p>This will either render the output frame to the <a href="../util/FrameProcessor.html#setOutputSurfaceInfo(com.google.android.exoplayer2.util.SurfaceInfo)">output
surface</a>, or drop the frame, per <code>releaseTimeNs</code>.
<p>This method must only be called if <code>releaseFramesAutomatically</code> was set to <code>
false</code> using the <a href="../util/FrameProcessor.Factory.html" title="interface in com.google.android.exoplayer2.util"><code>FrameProcessor.Factory</code></a> and should be called exactly once for each frame that becomes
<a href="../util/FrameProcessor.Listener.html#onOutputFrameAvailable(long)">available</a>.
<p>The <code>releaseTimeNs</code> may be passed to <a href="https://developer.android.com/reference/android/opengl/EGLExt.html#eglPresentationTimeANDROID(android.opengl.EGLDisplay,android.opengl.EGLSurface,long)" title="class or interface in android.opengl" class="externalLink" target="_top"><code>EGLExt.eglPresentationTimeANDROID(android.opengl.EGLDisplay, android.opengl.EGLSurface, long)</code></a>
depending on the implementation.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../util/FrameProcessor.html#releaseOutputFrame(long)">releaseOutputFrame</a></code>&nbsp;in interface&nbsp;<code><a href="../util/FrameProcessor.html" title="interface in com.google.android.exoplayer2.util">FrameProcessor</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>releaseTimeNs</code> - The release time to use for the frame, in nanoseconds. The release time
can be before of after the current system time. Use <a href="../util/FrameProcessor.html#DROP_OUTPUT_FRAME"><code>FrameProcessor.DROP_OUTPUT_FRAME</code></a> to drop the
frame, or <a href="../util/FrameProcessor.html#RELEASE_OUTPUT_FRAME_IMMEDIATELY"><code>FrameProcessor.RELEASE_OUTPUT_FRAME_IMMEDIATELY</code></a> to release the frame immediately.</dd>
</dl>
</li>
</ul>
<a id="signalEndOfInput()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>signalEndOfInput</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;signalEndOfInput()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../util/FrameProcessor.html#signalEndOfInput()">FrameProcessor</a></code></span></div>
<div class="block">Informs the <code>FrameProcessor</code> that no further input frames should be accepted.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../util/FrameProcessor.html#signalEndOfInput()">signalEndOfInput</a></code>&nbsp;in interface&nbsp;<code><a href="../util/FrameProcessor.html" title="interface in com.google.android.exoplayer2.util">FrameProcessor</a></code></dd>
</dl>
</li>
</ul>
<a id="release()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>release</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;release()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../util/FrameProcessor.html#release()">FrameProcessor</a></code></span></div>
<div class="block">Releases all resources.
<p>If the frame processor is released before it has <a href="../util/FrameProcessor.Listener.html#onFrameProcessingEnded()">ended</a>, it will attempt to cancel processing any input frames
that have already become available. Input frames that become available after release are
ignored.
<p>This method blocks until all resources are released or releasing times out.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../util/FrameProcessor.html#release()">release</a></code>&nbsp;in interface&nbsp;<code><a href="../util/FrameProcessor.html" title="interface in com.google.android.exoplayer2.util">FrameProcessor</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</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&nbsp;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:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

View File

@ -113,7 +113,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<!-- ======== START OF CLASS DATA ======== --> <!-- ======== START OF CLASS DATA ======== -->
<main role="main"> <main role="main">
<div class="header"> <div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.transformer</a></div> <div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.effect</a></div>
<h2 title="Interface GlMatrixTransformation" class="title">Interface GlMatrixTransformation</h2> <h2 title="Interface GlMatrixTransformation" class="title">Interface GlMatrixTransformation</h2>
</div> </div>
<div class="contentContainer"> <div class="contentContainer">
@ -122,26 +122,27 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<li class="blockList"> <li class="blockList">
<dl> <dl>
<dt>All Superinterfaces:</dt> <dt>All Superinterfaces:</dt>
<dd><code><a href="GlEffect.html" title="interface in com.google.android.exoplayer2.transformer">GlEffect</a></code></dd> <dd><code><a href="../util/Effect.html" title="interface in com.google.android.exoplayer2.util">Effect</a></code>, <code><a href="GlEffect.html" title="interface in com.google.android.exoplayer2.effect">GlEffect</a></code></dd>
</dl> </dl>
<dl> <dl>
<dt>All Known Subinterfaces:</dt> <dt>All Known Subinterfaces:</dt>
<dd><code><a href="MatrixTransformation.html" title="interface in com.google.android.exoplayer2.transformer">MatrixTransformation</a></code></dd> <dd><code><a href="MatrixTransformation.html" title="interface in com.google.android.exoplayer2.effect">MatrixTransformation</a></code></dd>
</dl> </dl>
<dl> <dl>
<dt>All Known Implementing Classes:</dt> <dt>All Known Implementing Classes:</dt>
<dd><code><a href="Presentation.html" title="class in com.google.android.exoplayer2.transformer">Presentation</a></code>, <code><a href="ScaleToFitTransformation.html" title="class in com.google.android.exoplayer2.transformer">ScaleToFitTransformation</a></code></dd> <dd><code><a href="Crop.html" title="class in com.google.android.exoplayer2.effect">Crop</a></code>, <code><a href="Presentation.html" title="class in com.google.android.exoplayer2.effect">Presentation</a></code>, <code><a href="ScaleToFitTransformation.html" title="class in com.google.android.exoplayer2.effect">ScaleToFitTransformation</a></code></dd>
</dl> </dl>
<hr> <hr>
<pre>public interface <span class="typeNameLabel">GlMatrixTransformation</span> <pre>public interface <span class="typeNameLabel">GlMatrixTransformation</span>
extends <a href="GlEffect.html" title="interface in com.google.android.exoplayer2.transformer">GlEffect</a></pre> extends <a href="GlEffect.html" title="interface in com.google.android.exoplayer2.effect">GlEffect</a></pre>
<div class="block">Specifies a 4x4 transformation <a href="https://developer.android.com/reference/android/opengl/Matrix.html" title="class or interface in android.opengl" class="externalLink" target="_top"><code>Matrix</code></a> to apply in the vertex shader for each frame. <div class="block">Specifies a 4x4 transformation <a href="https://developer.android.com/reference/android/opengl/Matrix.html" title="class or interface in android.opengl" class="externalLink" target="_top"><code>Matrix</code></a> to apply in the vertex shader for each frame.
<p>The matrix is applied to points given in normalized device coordinates (-1 to 1 on x, y, and z <p>The matrix is applied to points given in normalized device coordinates (-1 to 1 on x, y, and z
axes). Transformed pixels that are moved outside of the normal device coordinate range are axes). Transformed pixels that are moved outside of the normal device coordinate range are
clipped. clipped.
<p>Output frame pixels outside of the transformed input frame will be black.</div> <p>Output frame pixels outside of the transformed input frame will be black, with alpha = 0 if
applicable.</div>
</li> </li>
</ul> </ul>
</div> </div>
@ -163,7 +164,7 @@ extends <a href="GlEffect.html" title="interface in com.google.android.exoplayer
<th class="colLast" scope="col">Description</th> <th class="colLast" scope="col">Description</th>
</tr> </tr>
<tr id="i0" class="altColor"> <tr id="i0" class="altColor">
<td class="colFirst"><code>default <a href="https://developer.android.com/reference/android/util/Size.html" title="class or interface in android.util" class="externalLink" target="_top">Size</a></code></td> <td class="colFirst"><code>default <a href="https://developer.android.com/reference/android/util/Pair.html" title="class or interface in android.util" class="externalLink">Pair</a>&lt;<a href="https://developer.android.com/reference/java/lang/Integer.html?is-external=true" title="class or interface in java.lang" class="externalLink">Integer</a>,&#8203;<a href="https://developer.android.com/reference/java/lang/Integer.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#configure(int,int)">configure</a></span>&#8203;(int&nbsp;inputWidth, <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#configure(int,int)">configure</a></span>&#8203;(int&nbsp;inputWidth,
int&nbsp;inputHeight)</code></th> int&nbsp;inputHeight)</code></th>
<td class="colLast"> <td class="colLast">
@ -178,10 +179,11 @@ extends <a href="GlEffect.html" title="interface in com.google.android.exoplayer
</td> </td>
</tr> </tr>
<tr id="i2" class="altColor"> <tr id="i2" class="altColor">
<td class="colFirst"><code>default <a href="SingleFrameGlTextureProcessor.html" title="interface in com.google.android.exoplayer2.transformer">SingleFrameGlTextureProcessor</a></code></td> <td class="colFirst"><code>default <a href="SingleFrameGlTextureProcessor.html" title="class in com.google.android.exoplayer2.effect">SingleFrameGlTextureProcessor</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toGlTextureProcessor()">toGlTextureProcessor</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toGlTextureProcessor(android.content.Context,boolean)">toGlTextureProcessor</a></span>&#8203;(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a>&nbsp;context,
boolean&nbsp;useHdr)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Returns a <a href="SingleFrameGlTextureProcessor.html" title="interface in com.google.android.exoplayer2.transformer"><code>SingleFrameGlTextureProcessor</code></a> that applies the effect.</div> <div class="block">Returns a <a href="SingleFrameGlTextureProcessor.html" title="class in com.google.android.exoplayer2.effect"><code>SingleFrameGlTextureProcessor</code></a> that applies the effect.</div>
</td> </td>
</tr> </tr>
</table> </table>
@ -207,8 +209,8 @@ extends <a href="GlEffect.html" title="interface in com.google.android.exoplayer
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>configure</h4> <h4>configure</h4>
<pre class="methodSignature">default&nbsp;<a href="https://developer.android.com/reference/android/util/Size.html" title="class or interface in android.util" class="externalLink" target="_top">Size</a>&nbsp;configure&#8203;(int&nbsp;inputWidth, <pre class="methodSignature">default&nbsp;<a href="https://developer.android.com/reference/android/util/Pair.html" title="class or interface in android.util" class="externalLink">Pair</a>&lt;<a href="https://developer.android.com/reference/java/lang/Integer.html?is-external=true" title="class or interface in java.lang" class="externalLink">Integer</a>,&#8203;<a href="https://developer.android.com/reference/java/lang/Integer.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>&gt;&nbsp;configure&#8203;(int&nbsp;inputWidth,
int&nbsp;inputHeight)</pre> int&nbsp;inputHeight)</pre>
<div class="block">Configures the input and output dimensions. <div class="block">Configures the input and output dimensions.
<p>Must be called before <a href="#getGlMatrixArray(long)"><code>getGlMatrixArray(long)</code></a>.</div> <p>Must be called before <a href="#getGlMatrixArray(long)"><code>getGlMatrixArray(long)</code></a>.</div>
@ -217,7 +219,7 @@ extends <a href="GlEffect.html" title="interface in com.google.android.exoplayer
<dd><code>inputWidth</code> - The input frame width, in pixels.</dd> <dd><code>inputWidth</code> - The input frame width, in pixels.</dd>
<dd><code>inputHeight</code> - The input frame height, in pixels.</dd> <dd><code>inputHeight</code> - The input frame height, in pixels.</dd>
<dt><span class="returnLabel">Returns:</span></dt> <dt><span class="returnLabel">Returns:</span></dt>
<dd>The output frame <a href="https://developer.android.com/reference/android/util/Size.html" title="class or interface in android.util" class="externalLink" target="_top"><code>Size</code></a>, in pixels.</dd> <dd>The output frame width and height, in pixels.</dd>
</dl> </dl>
</li> </li>
</ul> </ul>
@ -231,18 +233,26 @@ extends <a href="GlEffect.html" title="interface in com.google.android.exoplayer
<div class="block">Returns the 4x4 transformation <a href="https://developer.android.com/reference/android/opengl/Matrix.html" title="class or interface in android.opengl" class="externalLink" target="_top"><code>Matrix</code></a> to apply to the frame with the given timestamp.</div> <div class="block">Returns the 4x4 transformation <a href="https://developer.android.com/reference/android/opengl/Matrix.html" title="class or interface in android.opengl" class="externalLink" target="_top"><code>Matrix</code></a> to apply to the frame with the given timestamp.</div>
</li> </li>
</ul> </ul>
<a id="toGlTextureProcessor()"> <a id="toGlTextureProcessor(android.content.Context,boolean)">
<!-- --> <!-- -->
</a> </a>
<ul class="blockListLast"> <ul class="blockListLast">
<li class="blockList"> <li class="blockList">
<h4>toGlTextureProcessor</h4> <h4>toGlTextureProcessor</h4>
<pre class="methodSignature">default&nbsp;<a href="SingleFrameGlTextureProcessor.html" title="interface in com.google.android.exoplayer2.transformer">SingleFrameGlTextureProcessor</a>&nbsp;toGlTextureProcessor()</pre> <pre class="methodSignature">default&nbsp;<a href="SingleFrameGlTextureProcessor.html" title="class in com.google.android.exoplayer2.effect">SingleFrameGlTextureProcessor</a>&nbsp;toGlTextureProcessor&#8203;(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a>&nbsp;context,
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="GlEffect.html#toGlTextureProcessor()">GlEffect</a></code></span></div> boolean&nbsp;useHdr)
<div class="block">Returns a <a href="SingleFrameGlTextureProcessor.html" title="interface in com.google.android.exoplayer2.transformer"><code>SingleFrameGlTextureProcessor</code></a> that applies the effect.</div> throws <a href="../util/FrameProcessingException.html" title="class in com.google.android.exoplayer2.util">FrameProcessingException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="GlEffect.html#toGlTextureProcessor(android.content.Context,boolean)">GlEffect</a></code></span></div>
<div class="block">Returns a <a href="SingleFrameGlTextureProcessor.html" title="class in com.google.android.exoplayer2.effect"><code>SingleFrameGlTextureProcessor</code></a> that applies the effect.</div>
<dl> <dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="GlEffect.html#toGlTextureProcessor()">toGlTextureProcessor</a></code>&nbsp;in interface&nbsp;<code><a href="GlEffect.html" title="interface in com.google.android.exoplayer2.transformer">GlEffect</a></code></dd> <dd><code><a href="GlEffect.html#toGlTextureProcessor(android.content.Context,boolean)">toGlTextureProcessor</a></code>&nbsp;in interface&nbsp;<code><a href="GlEffect.html" title="interface in com.google.android.exoplayer2.effect">GlEffect</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<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>useHdr</code> - Whether input textures come from an HDR source. If <code>true</code>, colors will be
in linear RGB BT.2020. If <code>false</code>, colors will be in linear RGB BT.709.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../util/FrameProcessingException.html" title="class in com.google.android.exoplayer2.util">FrameProcessingException</a></code></dd>
</dl> </dl>
</li> </li>
</ul> </ul>

View File

@ -0,0 +1,259 @@
<!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>GlTextureProcessor.ErrorListener (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="GlTextureProcessor.ErrorListener (ExoPlayer library)";
}
}
catch(err) {
}
//-->
var data = {"i0":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
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&nbsp;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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</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>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.effect</a></div>
<h2 title="Interface GlTextureProcessor.ErrorListener" class="title">Interface GlTextureProcessor.ErrorListener</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>Enclosing interface:</dt>
<dd><a href="GlTextureProcessor.html" title="interface in com.google.android.exoplayer2.effect">GlTextureProcessor</a></dd>
</dl>
<hr>
<pre>public static interface <span class="typeNameLabel">GlTextureProcessor.ErrorListener</span></pre>
<div class="block">Listener for frame processing errors.
<p>This listener can be called from any thread.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onFrameProcessingError(com.google.android.exoplayer2.util.FrameProcessingException)">onFrameProcessingError</a></span>&#8203;(<a href="../util/FrameProcessingException.html" title="class in com.google.android.exoplayer2.util">FrameProcessingException</a>&nbsp;e)</code></th>
<td class="colLast">
<div class="block">Called when an exception occurs during asynchronous frame processing.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="onFrameProcessingError(com.google.android.exoplayer2.util.FrameProcessingException)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>onFrameProcessingError</h4>
<pre class="methodSignature">void&nbsp;onFrameProcessingError&#8203;(<a href="../util/FrameProcessingException.html" title="class in com.google.android.exoplayer2.util">FrameProcessingException</a>&nbsp;e)</pre>
<div class="block">Called when an exception occurs during asynchronous frame processing.
<p>If an error occurred, consuming and producing further frames will not work as expected and
the <a href="GlTextureProcessor.html" title="interface in com.google.android.exoplayer2.effect"><code>GlTextureProcessor</code></a> should be released.</div>
</li>
</ul>
</li>
</ul>
</section>
</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&nbsp;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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

View File

@ -0,0 +1,282 @@
<!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>GlTextureProcessor.InputListener (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="GlTextureProcessor.InputListener (ExoPlayer library)";
}
}
catch(err) {
}
//-->
var data = {"i0":18,"i1":18};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],16:["t5","Default Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
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&nbsp;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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</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>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.effect</a></div>
<h2 title="Interface GlTextureProcessor.InputListener" class="title">Interface GlTextureProcessor.InputListener</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>Enclosing interface:</dt>
<dd><a href="GlTextureProcessor.html" title="interface in com.google.android.exoplayer2.effect">GlTextureProcessor</a></dd>
</dl>
<hr>
<pre>public static interface <span class="typeNameLabel">GlTextureProcessor.InputListener</span></pre>
<div class="block">Listener for input-related frame processing events.
<p>This listener can be called from any thread.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t5" class="tableTab"><span><a href="javascript:show(16);">Default Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>default void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onInputFrameProcessed(com.google.android.exoplayer2.effect.TextureInfo)">onInputFrameProcessed</a></span>&#8203;(<a href="TextureInfo.html" title="class in com.google.android.exoplayer2.effect">TextureInfo</a>&nbsp;inputTexture)</code></th>
<td class="colLast">
<div class="block">Called when the <a href="GlTextureProcessor.html" title="interface in com.google.android.exoplayer2.effect"><code>GlTextureProcessor</code></a> has processed an input frame.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>default void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onReadyToAcceptInputFrame()">onReadyToAcceptInputFrame</a></span>()</code></th>
<td class="colLast">
<div class="block">Called when the <a href="GlTextureProcessor.html" title="interface in com.google.android.exoplayer2.effect"><code>GlTextureProcessor</code></a> is ready to accept another input frame.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="onReadyToAcceptInputFrame()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onReadyToAcceptInputFrame</h4>
<pre class="methodSignature">default&nbsp;void&nbsp;onReadyToAcceptInputFrame()</pre>
<div class="block">Called when the <a href="GlTextureProcessor.html" title="interface in com.google.android.exoplayer2.effect"><code>GlTextureProcessor</code></a> is ready to accept another input frame.
<p>For each time this method is called, <a href="GlTextureProcessor.html#queueInputFrame(com.google.android.exoplayer2.effect.TextureInfo,long)"><code>GlTextureProcessor.queueInputFrame(TextureInfo, long)</code></a> can be
called once.</div>
</li>
</ul>
<a id="onInputFrameProcessed(com.google.android.exoplayer2.effect.TextureInfo)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>onInputFrameProcessed</h4>
<pre class="methodSignature">default&nbsp;void&nbsp;onInputFrameProcessed&#8203;(<a href="TextureInfo.html" title="class in com.google.android.exoplayer2.effect">TextureInfo</a>&nbsp;inputTexture)</pre>
<div class="block">Called when the <a href="GlTextureProcessor.html" title="interface in com.google.android.exoplayer2.effect"><code>GlTextureProcessor</code></a> has processed an input frame.
<p>The implementation shall not assume the <a href="GlTextureProcessor.html" title="interface in com.google.android.exoplayer2.effect"><code>GlTextureProcessor</code></a> is <a href="#onReadyToAcceptInputFrame()">ready to accept another input frame</a> when this method is called.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>inputTexture</code> - The <a href="TextureInfo.html" title="class in com.google.android.exoplayer2.effect"><code>TextureInfo</code></a> that was used to <a href="GlTextureProcessor.html#queueInputFrame(com.google.android.exoplayer2.effect.TextureInfo,long)">queue</a> the input frame.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</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&nbsp;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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

View File

@ -0,0 +1,287 @@
<!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>GlTextureProcessor.OutputListener (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="GlTextureProcessor.OutputListener (ExoPlayer library)";
}
}
catch(err) {
}
//-->
var data = {"i0":18,"i1":18};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],16:["t5","Default Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
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&nbsp;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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</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>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.effect</a></div>
<h2 title="Interface GlTextureProcessor.OutputListener" class="title">Interface GlTextureProcessor.OutputListener</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>Enclosing interface:</dt>
<dd><a href="GlTextureProcessor.html" title="interface in com.google.android.exoplayer2.effect">GlTextureProcessor</a></dd>
</dl>
<hr>
<pre>public static interface <span class="typeNameLabel">GlTextureProcessor.OutputListener</span></pre>
<div class="block">Listener for output-related frame processing events.
<p>This listener can be called from any thread.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t5" class="tableTab"><span><a href="javascript:show(16);">Default Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>default void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onCurrentOutputStreamEnded()">onCurrentOutputStreamEnded</a></span>()</code></th>
<td class="colLast">
<div class="block">Called when the <a href="GlTextureProcessor.html" title="interface in com.google.android.exoplayer2.effect"><code>GlTextureProcessor</code></a> will not produce further output frames belonging
to the current output stream.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>default void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onOutputFrameAvailable(com.google.android.exoplayer2.effect.TextureInfo,long)">onOutputFrameAvailable</a></span>&#8203;(<a href="TextureInfo.html" title="class in com.google.android.exoplayer2.effect">TextureInfo</a>&nbsp;outputTexture,
long&nbsp;presentationTimeUs)</code></th>
<td class="colLast">
<div class="block">Called when the <a href="GlTextureProcessor.html" title="interface in com.google.android.exoplayer2.effect"><code>GlTextureProcessor</code></a> has produced an output frame.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="onOutputFrameAvailable(com.google.android.exoplayer2.effect.TextureInfo,long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onOutputFrameAvailable</h4>
<pre class="methodSignature">default&nbsp;void&nbsp;onOutputFrameAvailable&#8203;(<a href="TextureInfo.html" title="class in com.google.android.exoplayer2.effect">TextureInfo</a>&nbsp;outputTexture,
long&nbsp;presentationTimeUs)</pre>
<div class="block">Called when the <a href="GlTextureProcessor.html" title="interface in com.google.android.exoplayer2.effect"><code>GlTextureProcessor</code></a> has produced an output frame.
<p>After the listener's owner has processed the output frame, it must call <a href="GlTextureProcessor.html#releaseOutputFrame(com.google.android.exoplayer2.effect.TextureInfo)"><code>GlTextureProcessor.releaseOutputFrame(TextureInfo)</code></a>. The output frame should be released as soon as possible,
as there is no guarantee that the <a href="GlTextureProcessor.html" title="interface in com.google.android.exoplayer2.effect"><code>GlTextureProcessor</code></a> will produce further output
frames before this output frame is released.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>outputTexture</code> - A <a href="TextureInfo.html" title="class in com.google.android.exoplayer2.effect"><code>TextureInfo</code></a> describing the texture containing the output
frame.</dd>
<dd><code>presentationTimeUs</code> - The presentation timestamp of the output frame, in microseconds.</dd>
</dl>
</li>
</ul>
<a id="onCurrentOutputStreamEnded()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>onCurrentOutputStreamEnded</h4>
<pre class="methodSignature">default&nbsp;void&nbsp;onCurrentOutputStreamEnded()</pre>
<div class="block">Called when the <a href="GlTextureProcessor.html" title="interface in com.google.android.exoplayer2.effect"><code>GlTextureProcessor</code></a> will not produce further output frames belonging
to the current output stream.</div>
</li>
</ul>
</li>
</ul>
</section>
</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&nbsp;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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

View File

@ -0,0 +1,439 @@
<!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>GlTextureProcessor (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="GlTextureProcessor (ExoPlayer library)";
}
}
catch(err) {
}
//-->
var data = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
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&nbsp;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:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</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>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.effect</a></div>
<h2 title="Interface GlTextureProcessor" class="title">Interface GlTextureProcessor</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="SingleFrameGlTextureProcessor.html" title="class in com.google.android.exoplayer2.effect">SingleFrameGlTextureProcessor</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">GlTextureProcessor</span></pre>
<div class="block">Processes frames from one OpenGL 2D texture to another.
<p>The <code>GlTextureProcessor</code> consumes input frames it accepts via <a href="#queueInputFrame(com.google.android.exoplayer2.effect.TextureInfo,long)"><code>queueInputFrame(TextureInfo, long)</code></a> and surrenders each texture back to the caller via its
<a href="GlTextureProcessor.InputListener.html#onInputFrameProcessed(com.google.android.exoplayer2.effect.TextureInfo)">listener</a> once the texture's
contents have been processed.
<p>The <code>GlTextureProcessor</code> produces output frames asynchronously and notifies its owner
when they are available via its <a href="GlTextureProcessor.OutputListener.html#onOutputFrameAvailable(com.google.android.exoplayer2.effect.TextureInfo,long)">listener</a>. The <code>GlTextureProcessor</code> instance's owner must surrender the texture back
to the <code>GlTextureProcessor</code> via <a href="#releaseOutputFrame(com.google.android.exoplayer2.effect.TextureInfo)"><code>releaseOutputFrame(TextureInfo)</code></a> when it has
finished processing it.
<p><code>GlTextureProcessor</code> implementations can choose to produce output frames before
receiving input frames or process several input frames before producing an output frame. However,
<code>GlTextureProcessor</code> implementations cannot assume that they will receive more than one
input frame at a time, so they must process each input frame they accept even if they cannot
produce output yet.
<p>The methods in this interface must be called on the thread that owns the parent OpenGL
context. If the implementation uses another OpenGL context, e.g., on another thread, it must
configure it to share data with the context of thread the interface methods are called on.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Interface</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="GlTextureProcessor.ErrorListener.html" title="interface in com.google.android.exoplayer2.effect">GlTextureProcessor.ErrorListener</a></span></code></th>
<td class="colLast">
<div class="block">Listener for frame processing errors.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="GlTextureProcessor.InputListener.html" title="interface in com.google.android.exoplayer2.effect">GlTextureProcessor.InputListener</a></span></code></th>
<td class="colLast">
<div class="block">Listener for input-related frame processing events.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="GlTextureProcessor.OutputListener.html" title="interface in com.google.android.exoplayer2.effect">GlTextureProcessor.OutputListener</a></span></code></th>
<td class="colLast">
<div class="block">Listener for output-related frame processing events.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#queueInputFrame(com.google.android.exoplayer2.effect.TextureInfo,long)">queueInputFrame</a></span>&#8203;(<a href="TextureInfo.html" title="class in com.google.android.exoplayer2.effect">TextureInfo</a>&nbsp;inputTexture,
long&nbsp;presentationTimeUs)</code></th>
<td class="colLast">
<div class="block">Processes an input frame if possible.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#release()">release</a></span>()</code></th>
<td class="colLast">
<div class="block">Releases all resources.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#releaseOutputFrame(com.google.android.exoplayer2.effect.TextureInfo)">releaseOutputFrame</a></span>&#8203;(<a href="TextureInfo.html" title="class in com.google.android.exoplayer2.effect">TextureInfo</a>&nbsp;outputTexture)</code></th>
<td class="colLast">
<div class="block">Notifies the texture processor that the frame on the given output texture is no longer used and
can be overwritten.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setErrorListener(com.google.android.exoplayer2.effect.GlTextureProcessor.ErrorListener)">setErrorListener</a></span>&#8203;(<a href="GlTextureProcessor.ErrorListener.html" title="interface in com.google.android.exoplayer2.effect">GlTextureProcessor.ErrorListener</a>&nbsp;errorListener)</code></th>
<td class="colLast">
<div class="block">Sets the <a href="GlTextureProcessor.ErrorListener.html" title="interface in com.google.android.exoplayer2.effect"><code>GlTextureProcessor.ErrorListener</code></a>.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setInputListener(com.google.android.exoplayer2.effect.GlTextureProcessor.InputListener)">setInputListener</a></span>&#8203;(<a href="GlTextureProcessor.InputListener.html" title="interface in com.google.android.exoplayer2.effect">GlTextureProcessor.InputListener</a>&nbsp;inputListener)</code></th>
<td class="colLast">
<div class="block">Sets the <a href="GlTextureProcessor.InputListener.html" title="interface in com.google.android.exoplayer2.effect"><code>GlTextureProcessor.InputListener</code></a>.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setOutputListener(com.google.android.exoplayer2.effect.GlTextureProcessor.OutputListener)">setOutputListener</a></span>&#8203;(<a href="GlTextureProcessor.OutputListener.html" title="interface in com.google.android.exoplayer2.effect">GlTextureProcessor.OutputListener</a>&nbsp;outputListener)</code></th>
<td class="colLast">
<div class="block">Sets the <a href="GlTextureProcessor.OutputListener.html" title="interface in com.google.android.exoplayer2.effect"><code>GlTextureProcessor.OutputListener</code></a>.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#signalEndOfCurrentInputStream()">signalEndOfCurrentInputStream</a></span>()</code></th>
<td class="colLast">
<div class="block">Notifies the <code>GlTextureProcessor</code> that no further input frames belonging to the current
input stream will be queued.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="setInputListener(com.google.android.exoplayer2.effect.GlTextureProcessor.InputListener)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setInputListener</h4>
<pre class="methodSignature">void&nbsp;setInputListener&#8203;(<a href="GlTextureProcessor.InputListener.html" title="interface in com.google.android.exoplayer2.effect">GlTextureProcessor.InputListener</a>&nbsp;inputListener)</pre>
<div class="block">Sets the <a href="GlTextureProcessor.InputListener.html" title="interface in com.google.android.exoplayer2.effect"><code>GlTextureProcessor.InputListener</code></a>.</div>
</li>
</ul>
<a id="setOutputListener(com.google.android.exoplayer2.effect.GlTextureProcessor.OutputListener)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setOutputListener</h4>
<pre class="methodSignature">void&nbsp;setOutputListener&#8203;(<a href="GlTextureProcessor.OutputListener.html" title="interface in com.google.android.exoplayer2.effect">GlTextureProcessor.OutputListener</a>&nbsp;outputListener)</pre>
<div class="block">Sets the <a href="GlTextureProcessor.OutputListener.html" title="interface in com.google.android.exoplayer2.effect"><code>GlTextureProcessor.OutputListener</code></a>.</div>
</li>
</ul>
<a id="setErrorListener(com.google.android.exoplayer2.effect.GlTextureProcessor.ErrorListener)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setErrorListener</h4>
<pre class="methodSignature">void&nbsp;setErrorListener&#8203;(<a href="GlTextureProcessor.ErrorListener.html" title="interface in com.google.android.exoplayer2.effect">GlTextureProcessor.ErrorListener</a>&nbsp;errorListener)</pre>
<div class="block">Sets the <a href="GlTextureProcessor.ErrorListener.html" title="interface in com.google.android.exoplayer2.effect"><code>GlTextureProcessor.ErrorListener</code></a>.</div>
</li>
</ul>
<a id="queueInputFrame(com.google.android.exoplayer2.effect.TextureInfo,long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>queueInputFrame</h4>
<pre class="methodSignature">void&nbsp;queueInputFrame&#8203;(<a href="TextureInfo.html" title="class in com.google.android.exoplayer2.effect">TextureInfo</a>&nbsp;inputTexture,
long&nbsp;presentationTimeUs)</pre>
<div class="block">Processes an input frame if possible.
<p>The <code>GlTextureProcessor</code> owns the accepted frame until it calls <a href="GlTextureProcessor.InputListener.html#onInputFrameProcessed(com.google.android.exoplayer2.effect.TextureInfo)"><code>GlTextureProcessor.InputListener.onInputFrameProcessed(TextureInfo)</code></a>. The caller should not overwrite or release
the texture before the <code>GlTextureProcessor</code> has finished processing it.
<p>This method must only be called when the <code>GlTextureProcessor</code> can <a href="GlTextureProcessor.InputListener.html#onReadyToAcceptInputFrame()">accept an input frame</a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>inputTexture</code> - A <a href="TextureInfo.html" title="class in com.google.android.exoplayer2.effect"><code>TextureInfo</code></a> describing the texture containing the input frame.</dd>
<dd><code>presentationTimeUs</code> - The presentation timestamp of the input frame, in microseconds.</dd>
</dl>
</li>
</ul>
<a id="releaseOutputFrame(com.google.android.exoplayer2.effect.TextureInfo)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>releaseOutputFrame</h4>
<pre class="methodSignature">void&nbsp;releaseOutputFrame&#8203;(<a href="TextureInfo.html" title="class in com.google.android.exoplayer2.effect">TextureInfo</a>&nbsp;outputTexture)</pre>
<div class="block">Notifies the texture processor that the frame on the given output texture is no longer used and
can be overwritten.</div>
</li>
</ul>
<a id="signalEndOfCurrentInputStream()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>signalEndOfCurrentInputStream</h4>
<pre class="methodSignature">void&nbsp;signalEndOfCurrentInputStream()</pre>
<div class="block">Notifies the <code>GlTextureProcessor</code> that no further input frames belonging to the current
input stream will be queued.
<p>Input frames that are queued after this method is called belong to a different input stream,
so presentation timestamps may reset to start from a smaller presentation timestamp than the
last frame of the previous input stream.</div>
</li>
</ul>
<a id="release()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>release</h4>
<pre class="methodSignature">void&nbsp;release()
throws <a href="../util/FrameProcessingException.html" title="class in com.google.android.exoplayer2.util">FrameProcessingException</a></pre>
<div class="block">Releases all resources.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../util/FrameProcessingException.html" title="class in com.google.android.exoplayer2.util">FrameProcessingException</a></code> - If an error occurs while releasing resources.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</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&nbsp;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:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

View File

@ -0,0 +1,394 @@
<!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>HslAdjustment.Builder (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="HslAdjustment.Builder (ExoPlayer library)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
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&nbsp;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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</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>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.effect</a></div>
<h2 title="Class HslAdjustment.Builder" class="title">Class HslAdjustment.Builder</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>com.google.android.exoplayer2.effect.HslAdjustment.Builder</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>Enclosing class:</dt>
<dd><a href="HslAdjustment.html" title="class in com.google.android.exoplayer2.effect">HslAdjustment</a></dd>
</dl>
<hr>
<pre>public static final class <span class="typeNameLabel">HslAdjustment.Builder</span>
extends <a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></pre>
<div class="block">A builder for <code>HslAdjustment</code> instances.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">Builder</a></span>()</code></th>
<td class="colLast">
<div class="block">Creates a new instance with the default values.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="HslAdjustment.Builder.html" title="class in com.google.android.exoplayer2.effect">HslAdjustment.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#adjustHue(float)">adjustHue</a></span>&#8203;(float&nbsp;hueAdjustmentDegrees)</code></th>
<td class="colLast">
<div class="block">Rotates the hue of the frame by <code>hueAdjustmentDegrees</code>.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="HslAdjustment.Builder.html" title="class in com.google.android.exoplayer2.effect">HslAdjustment.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#adjustLightness(float)">adjustLightness</a></span>&#8203;(float&nbsp;lightnessAdjustment)</code></th>
<td class="colLast">
<div class="block">Adjusts the lightness of the frame by <code>lightnessAdjustment</code>.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="HslAdjustment.Builder.html" title="class in com.google.android.exoplayer2.effect">HslAdjustment.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#adjustSaturation(float)">adjustSaturation</a></span>&#8203;(float&nbsp;saturationAdjustment)</code></th>
<td class="colLast">
<div class="block">Adjusts the saturation of the frame by <code>saturationAdjustment</code>.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="HslAdjustment.html" title="class in com.google.android.exoplayer2.effect">HslAdjustment</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#build()">build</a></span>()</code></th>
<td class="colLast">
<div class="block">Creates a new <a href="HslAdjustment.html" title="class in com.google.android.exoplayer2.effect"><code>HslAdjustment</code></a> instance.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></h3>
<code><a href="https://developer.android.com/reference/java/lang/Object.html#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink" target="_top">wait</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>Builder</h4>
<pre>public&nbsp;Builder()</pre>
<div class="block">Creates a new instance with the default values.</div>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="adjustHue(float)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>adjustHue</h4>
<pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="HslAdjustment.Builder.html" title="class in com.google.android.exoplayer2.effect">HslAdjustment.Builder</a>&nbsp;adjustHue&#8203;(float&nbsp;hueAdjustmentDegrees)</pre>
<div class="block">Rotates the hue of the frame by <code>hueAdjustmentDegrees</code>.
<p>The Hue of the frame is defined in the interval of [0, 360] degrees. The actual degrees of
hue adjustment applied is <code>hueAdjustmentDegrees % 360</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>hueAdjustmentDegrees</code> - The hue adjustment in rotation degrees. The default value is
<code>0</code>, which means no change is applied.</dd>
</dl>
</li>
</ul>
<a id="adjustSaturation(float)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>adjustSaturation</h4>
<pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="HslAdjustment.Builder.html" title="class in com.google.android.exoplayer2.effect">HslAdjustment.Builder</a>&nbsp;adjustSaturation&#8203;(float&nbsp;saturationAdjustment)</pre>
<div class="block">Adjusts the saturation of the frame by <code>saturationAdjustment</code>.
<p>Saturation is defined in the interval of [0, 100] where a saturation of <code>0</code> will
generate a grayscale frame and a saturation of <code>100</code> has a maximum separation between
the colors.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>saturationAdjustment</code> - The difference of how much the saturation will be adjusted in
either direction. Needs to be in the interval of [-100, 100] and the default value is
<code>0</code>, which means no change is applied.</dd>
</dl>
</li>
</ul>
<a id="adjustLightness(float)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>adjustLightness</h4>
<pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="HslAdjustment.Builder.html" title="class in com.google.android.exoplayer2.effect">HslAdjustment.Builder</a>&nbsp;adjustLightness&#8203;(float&nbsp;lightnessAdjustment)</pre>
<div class="block">Adjusts the lightness of the frame by <code>lightnessAdjustment</code>.
<p>Lightness is defined in the interval of [0, 100] where a lightness of <code>0</code> is a black
frame and a lightness of <code>100</code> is a white frame.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>lightnessAdjustment</code> - The difference by how much the lightness will be adjusted in
either direction. Needs to be in the interval of [-100, 100] and the default value is
<code>0</code>, which means no change is applied.</dd>
</dl>
</li>
</ul>
<a id="build()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>build</h4>
<pre class="methodSignature">public&nbsp;<a href="HslAdjustment.html" title="class in com.google.android.exoplayer2.effect">HslAdjustment</a>&nbsp;build()</pre>
<div class="block">Creates a new <a href="HslAdjustment.html" title="class in com.google.android.exoplayer2.effect"><code>HslAdjustment</code></a> instance.</div>
</li>
</ul>
</li>
</ul>
</section>
</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&nbsp;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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

View File

@ -0,0 +1,389 @@
<!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>HslAdjustment (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="HslAdjustment (ExoPlayer library)";
}
}
catch(err) {
}
//-->
var data = {"i0":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
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&nbsp;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:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</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>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.effect</a></div>
<h2 title="Class HslAdjustment" class="title">Class HslAdjustment</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>com.google.android.exoplayer2.effect.HslAdjustment</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="GlEffect.html" title="interface in com.google.android.exoplayer2.effect">GlEffect</a></code>, <code><a href="../util/Effect.html" title="interface in com.google.android.exoplayer2.util">Effect</a></code></dd>
</dl>
<hr>
<pre>public class <span class="typeNameLabel">HslAdjustment</span>
extends <a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a>
implements <a href="GlEffect.html" title="interface in com.google.android.exoplayer2.effect">GlEffect</a></pre>
<div class="block">Adjusts the HSL (Hue, Saturation, and Lightness) of a frame.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="HslAdjustment.Builder.html" title="class in com.google.android.exoplayer2.effect">HslAdjustment.Builder</a></span></code></th>
<td class="colLast">
<div class="block">A builder for <code>HslAdjustment</code> instances.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>float</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hueAdjustmentDegrees">hueAdjustmentDegrees</a></span></code></th>
<td class="colLast">
<div class="block">Indicates the hue adjustment in degrees.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>float</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#lightnessAdjustment">lightnessAdjustment</a></span></code></th>
<td class="colLast">
<div class="block">Indicates the lightness adjustment.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>float</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#saturationAdjustment">saturationAdjustment</a></span></code></th>
<td class="colLast">
<div class="block">Indicates the saturation adjustment.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="SingleFrameGlTextureProcessor.html" title="class in com.google.android.exoplayer2.effect">SingleFrameGlTextureProcessor</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toGlTextureProcessor(android.content.Context,boolean)">toGlTextureProcessor</a></span>&#8203;(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a>&nbsp;context,
boolean&nbsp;useHdr)</code></th>
<td class="colLast">
<div class="block">Returns a <a href="SingleFrameGlTextureProcessor.html" title="class in com.google.android.exoplayer2.effect"><code>SingleFrameGlTextureProcessor</code></a> that applies the effect.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></h3>
<code><a href="https://developer.android.com/reference/java/lang/Object.html#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink" target="_top">wait</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a id="hueAdjustmentDegrees">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hueAdjustmentDegrees</h4>
<pre>public final&nbsp;float hueAdjustmentDegrees</pre>
<div class="block">Indicates the hue adjustment in degrees.</div>
</li>
</ul>
<a id="saturationAdjustment">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>saturationAdjustment</h4>
<pre>public final&nbsp;float saturationAdjustment</pre>
<div class="block">Indicates the saturation adjustment.</div>
</li>
</ul>
<a id="lightnessAdjustment">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>lightnessAdjustment</h4>
<pre>public final&nbsp;float lightnessAdjustment</pre>
<div class="block">Indicates the lightness adjustment.</div>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="toGlTextureProcessor(android.content.Context,boolean)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toGlTextureProcessor</h4>
<pre class="methodSignature">public&nbsp;<a href="SingleFrameGlTextureProcessor.html" title="class in com.google.android.exoplayer2.effect">SingleFrameGlTextureProcessor</a>&nbsp;toGlTextureProcessor&#8203;(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a>&nbsp;context,
boolean&nbsp;useHdr)
throws <a href="../util/FrameProcessingException.html" title="class in com.google.android.exoplayer2.util">FrameProcessingException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="GlEffect.html#toGlTextureProcessor(android.content.Context,boolean)">GlEffect</a></code></span></div>
<div class="block">Returns a <a href="SingleFrameGlTextureProcessor.html" title="class in com.google.android.exoplayer2.effect"><code>SingleFrameGlTextureProcessor</code></a> that applies the effect.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="GlEffect.html#toGlTextureProcessor(android.content.Context,boolean)">toGlTextureProcessor</a></code>&nbsp;in interface&nbsp;<code><a href="GlEffect.html" title="interface in com.google.android.exoplayer2.effect">GlEffect</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<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>useHdr</code> - Whether input textures come from an HDR source. If <code>true</code>, colors will be
in linear RGB BT.2020. If <code>false</code>, colors will be in linear RGB BT.709.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../util/FrameProcessingException.html" title="class in com.google.android.exoplayer2.util">FrameProcessingException</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</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&nbsp;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:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

View File

@ -113,7 +113,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<!-- ======== START OF CLASS DATA ======== --> <!-- ======== START OF CLASS DATA ======== -->
<main role="main"> <main role="main">
<div class="header"> <div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.transformer</a></div> <div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.effect</a></div>
<h2 title="Interface MatrixTransformation" class="title">Interface MatrixTransformation</h2> <h2 title="Interface MatrixTransformation" class="title">Interface MatrixTransformation</h2>
</div> </div>
<div class="contentContainer"> <div class="contentContainer">
@ -122,22 +122,23 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<li class="blockList"> <li class="blockList">
<dl> <dl>
<dt>All Superinterfaces:</dt> <dt>All Superinterfaces:</dt>
<dd><code><a href="GlEffect.html" title="interface in com.google.android.exoplayer2.transformer">GlEffect</a></code>, <code><a href="GlMatrixTransformation.html" title="interface in com.google.android.exoplayer2.transformer">GlMatrixTransformation</a></code></dd> <dd><code><a href="../util/Effect.html" title="interface in com.google.android.exoplayer2.util">Effect</a></code>, <code><a href="GlEffect.html" title="interface in com.google.android.exoplayer2.effect">GlEffect</a></code>, <code><a href="GlMatrixTransformation.html" title="interface in com.google.android.exoplayer2.effect">GlMatrixTransformation</a></code></dd>
</dl> </dl>
<dl> <dl>
<dt>All Known Implementing Classes:</dt> <dt>All Known Implementing Classes:</dt>
<dd><code><a href="Presentation.html" title="class in com.google.android.exoplayer2.transformer">Presentation</a></code>, <code><a href="ScaleToFitTransformation.html" title="class in com.google.android.exoplayer2.transformer">ScaleToFitTransformation</a></code></dd> <dd><code><a href="Crop.html" title="class in com.google.android.exoplayer2.effect">Crop</a></code>, <code><a href="Presentation.html" title="class in com.google.android.exoplayer2.effect">Presentation</a></code>, <code><a href="ScaleToFitTransformation.html" title="class in com.google.android.exoplayer2.effect">ScaleToFitTransformation</a></code></dd>
</dl> </dl>
<hr> <hr>
<pre>public interface <span class="typeNameLabel">MatrixTransformation</span> <pre>public interface <span class="typeNameLabel">MatrixTransformation</span>
extends <a href="GlMatrixTransformation.html" title="interface in com.google.android.exoplayer2.transformer">GlMatrixTransformation</a></pre> extends <a href="GlMatrixTransformation.html" title="interface in com.google.android.exoplayer2.effect">GlMatrixTransformation</a></pre>
<div class="block">Specifies a 3x3 transformation <a href="https://developer.android.com/reference/android/graphics/Matrix.html" title="class or interface in android.graphics" class="externalLink" target="_top"><code>Matrix</code></a> to apply in the vertex shader for each frame. <div class="block">Specifies a 3x3 transformation <a href="https://developer.android.com/reference/android/graphics/Matrix.html" title="class or interface in android.graphics" class="externalLink" target="_top"><code>Matrix</code></a> to apply in the vertex shader for each frame.
<p>The matrix is applied to points given in normalized device coordinates (-1 to 1 on x and y <p>The matrix is applied to points given in normalized device coordinates (-1 to 1 on x and y
axes). Transformed pixels that are moved outside of the normal device coordinate range are axes). Transformed pixels that are moved outside of the normal device coordinate range are
clipped. clipped.
<p>Output frame pixels outside of the transformed input frame will be black.</div> <p>Output frame pixels outside of the transformed input frame will be black, with alpha = 0 if
applicable.</div>
</li> </li>
</ul> </ul>
</div> </div>
@ -174,11 +175,11 @@ extends <a href="GlMatrixTransformation.html" title="interface in com.google.and
</tr> </tr>
</table> </table>
<ul class="blockList"> <ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.com.google.android.exoplayer2.transformer.GlMatrixTransformation"> <li class="blockList"><a id="methods.inherited.from.class.com.google.android.exoplayer2.effect.GlMatrixTransformation">
<!-- --> <!-- -->
</a> </a>
<h3>Methods inherited from interface&nbsp;com.google.android.exoplayer2.transformer.<a href="GlMatrixTransformation.html" title="interface in com.google.android.exoplayer2.transformer">GlMatrixTransformation</a></h3> <h3>Methods inherited from interface&nbsp;com.google.android.exoplayer2.effect.<a href="GlMatrixTransformation.html" title="interface in com.google.android.exoplayer2.effect">GlMatrixTransformation</a></h3>
<code><a href="GlMatrixTransformation.html#configure(int,int)">configure</a>, <a href="GlMatrixTransformation.html#toGlTextureProcessor()">toGlTextureProcessor</a></code></li> <code><a href="GlMatrixTransformation.html#configure(int,int)">configure</a>, <a href="GlMatrixTransformation.html#toGlTextureProcessor(android.content.Context,boolean)">toGlTextureProcessor</a></code></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@ -217,7 +218,7 @@ extends <a href="GlMatrixTransformation.html" title="interface in com.google.and
<div class="block">Returns the 4x4 transformation <a href="https://developer.android.com/reference/android/opengl/Matrix.html" title="class or interface in android.opengl" class="externalLink" target="_top"><code>Matrix</code></a> to apply to the frame with the given timestamp.</div> <div class="block">Returns the 4x4 transformation <a href="https://developer.android.com/reference/android/opengl/Matrix.html" title="class or interface in android.opengl" class="externalLink" target="_top"><code>Matrix</code></a> to apply to the frame with the given timestamp.</div>
<dl> <dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="GlMatrixTransformation.html#getGlMatrixArray(long)">getGlMatrixArray</a></code>&nbsp;in interface&nbsp;<code><a href="GlMatrixTransformation.html" title="interface in com.google.android.exoplayer2.transformer">GlMatrixTransformation</a></code></dd> <dd><code><a href="GlMatrixTransformation.html#getGlMatrixArray(long)">getGlMatrixArray</a></code>&nbsp;in interface&nbsp;<code><a href="GlMatrixTransformation.html" title="interface in com.google.android.exoplayer2.effect">GlMatrixTransformation</a></code></dd>
</dl> </dl>
</li> </li>
</ul> </ul>

View File

@ -105,7 +105,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<!-- ======== START OF CLASS DATA ======== --> <!-- ======== START OF CLASS DATA ======== -->
<main role="main"> <main role="main">
<div class="header"> <div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.transformer</a></div> <div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.effect</a></div>
<h2 title="Annotation Type Presentation.Layout" class="title">Annotation Type Presentation.Layout</h2> <h2 title="Annotation Type Presentation.Layout" class="title">Annotation Type Presentation.Layout</h2>
</div> </div>
<div class="contentContainer"> <div class="contentContainer">
@ -121,8 +121,7 @@ public static @interface <span class="memberNameLabel">Presentation.Layout</span
<p>One of <a href="Presentation.html#LAYOUT_SCALE_TO_FIT"><code>Presentation.LAYOUT_SCALE_TO_FIT</code></a>, <a href="Presentation.html#LAYOUT_SCALE_TO_FIT_WITH_CROP"><code>Presentation.LAYOUT_SCALE_TO_FIT_WITH_CROP</code></a>, or <a href="Presentation.html#LAYOUT_STRETCH_TO_FIT"><code>Presentation.LAYOUT_STRETCH_TO_FIT</code></a>. <p>One of <a href="Presentation.html#LAYOUT_SCALE_TO_FIT"><code>Presentation.LAYOUT_SCALE_TO_FIT</code></a>, <a href="Presentation.html#LAYOUT_SCALE_TO_FIT_WITH_CROP"><code>Presentation.LAYOUT_SCALE_TO_FIT_WITH_CROP</code></a>, or <a href="Presentation.html#LAYOUT_STRETCH_TO_FIT"><code>Presentation.LAYOUT_STRETCH_TO_FIT</code></a>.
<p>May scale either width or height, leaving the other output dimension equal to its input, <p>May scale either width or height, leaving the other output dimension equal to its input.</div>
unless <a href="Presentation.Builder.html#setResolution(int)"><code>Presentation.Builder.setResolution(int)</code></a> rescales width and height.</div>
</li> </li>
</ul> </ul>
</div> </div>

View File

@ -25,8 +25,8 @@
catch(err) { catch(err) {
} }
//--> //-->
var data = {"i0":10,"i1":10}; var data = {"i0":10,"i1":9,"i2":9,"i3":9,"i4":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]}; var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor"; var altColor = "altColor";
var rowColor = "rowColor"; var rowColor = "rowColor";
var tableTab = "tableTab"; var tableTab = "tableTab";
@ -113,7 +113,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<!-- ======== START OF CLASS DATA ======== --> <!-- ======== START OF CLASS DATA ======== -->
<main role="main"> <main role="main">
<div class="header"> <div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.transformer</a></div> <div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.effect</a></div>
<h2 title="Class Presentation" class="title">Class Presentation</h2> <h2 title="Class Presentation" class="title">Class Presentation</h2>
</div> </div>
<div class="contentContainer"> <div class="contentContainer">
@ -121,7 +121,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<li><a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">java.lang.Object</a></li> <li><a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">java.lang.Object</a></li>
<li> <li>
<ul class="inheritance"> <ul class="inheritance">
<li>com.google.android.exoplayer2.transformer.Presentation</li> <li>com.google.android.exoplayer2.effect.Presentation</li>
</ul> </ul>
</li> </li>
</ul> </ul>
@ -130,19 +130,17 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<li class="blockList"> <li class="blockList">
<dl> <dl>
<dt>All Implemented Interfaces:</dt> <dt>All Implemented Interfaces:</dt>
<dd><code><a href="GlEffect.html" title="interface in com.google.android.exoplayer2.transformer">GlEffect</a></code>, <code><a href="GlMatrixTransformation.html" title="interface in com.google.android.exoplayer2.transformer">GlMatrixTransformation</a></code>, <code><a href="MatrixTransformation.html" title="interface in com.google.android.exoplayer2.transformer">MatrixTransformation</a></code></dd> <dd><code><a href="GlEffect.html" title="interface in com.google.android.exoplayer2.effect">GlEffect</a></code>, <code><a href="GlMatrixTransformation.html" title="interface in com.google.android.exoplayer2.effect">GlMatrixTransformation</a></code>, <code><a href="MatrixTransformation.html" title="interface in com.google.android.exoplayer2.effect">MatrixTransformation</a></code>, <code><a href="../util/Effect.html" title="interface in com.google.android.exoplayer2.util">Effect</a></code></dd>
</dl> </dl>
<hr> <hr>
<pre>public final class <span class="typeNameLabel">Presentation</span> <pre>public final class <span class="typeNameLabel">Presentation</span>
extends <a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a> extends <a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a>
implements <a href="MatrixTransformation.html" title="interface in com.google.android.exoplayer2.transformer">MatrixTransformation</a></pre> implements <a href="MatrixTransformation.html" title="interface in com.google.android.exoplayer2.effect">MatrixTransformation</a></pre>
<div class="block">Controls how a frame is presented with options to set the output resolution, crop the input, and <div class="block">Controls how a frame is presented with options to set the output resolution and choose how to map
choose how to map the input pixels onto the output frame geometry (for example, by stretching the the input pixels onto the output frame geometry (for example, by stretching the input frame to
input frame to match the specified output frame, or fitting the input frame using letterboxing). match the specified output frame, or fitting the input frame using letterboxing).
<p>Cropping or aspect ratio is applied before setting resolution. <p>The background color of the output frame will be black, with alpha = 0 if applicable.</div>
<p>The background color of the output frame will be black.</div>
</li> </li>
</ul> </ul>
</div> </div>
@ -164,15 +162,8 @@ implements <a href="MatrixTransformation.html" title="interface in com.google.an
<th class="colLast" scope="col">Description</th> <th class="colLast" scope="col">Description</th>
</tr> </tr>
<tr class="altColor"> <tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="Presentation.Builder.html" title="class in com.google.android.exoplayer2.transformer">Presentation.Builder</a></span></code></th>
<td class="colLast">
<div class="block">A builder for <a href="Presentation.html" title="class in com.google.android.exoplayer2.transformer"><code>Presentation</code></a> instances.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static interface&nbsp;</code></td> <td class="colFirst"><code>static interface&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="Presentation.Layout.html" title="annotation in com.google.android.exoplayer2.transformer">Presentation.Layout</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="Presentation.Layout.html" title="annotation in com.google.android.exoplayer2.effect">Presentation.Layout</a></span></code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Strategies controlling the layout of input pixels in the output frame.</div> <div class="block">Strategies controlling the layout of input pixels in the output frame.</div>
</td> </td>
@ -229,14 +220,14 @@ implements <a href="MatrixTransformation.html" title="interface in com.google.an
</a> </a>
<h3>Method Summary</h3> <h3>Method Summary</h3>
<table class="memberSummary"> <table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption> <caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr> <tr>
<th class="colFirst" scope="col">Modifier and Type</th> <th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th> <th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th> <th class="colLast" scope="col">Description</th>
</tr> </tr>
<tr id="i0" class="altColor"> <tr id="i0" class="altColor">
<td class="colFirst"><code><a href="https://developer.android.com/reference/android/util/Size.html" title="class or interface in android.util" class="externalLink" target="_top">Size</a></code></td> <td class="colFirst"><code><a href="https://developer.android.com/reference/android/util/Pair.html" title="class or interface in android.util" class="externalLink">Pair</a>&lt;<a href="https://developer.android.com/reference/java/lang/Integer.html?is-external=true" title="class or interface in java.lang" class="externalLink">Integer</a>,&#8203;<a href="https://developer.android.com/reference/java/lang/Integer.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#configure(int,int)">configure</a></span>&#8203;(int&nbsp;inputWidth, <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#configure(int,int)">configure</a></span>&#8203;(int&nbsp;inputWidth,
int&nbsp;inputHeight)</code></th> int&nbsp;inputHeight)</code></th>
<td class="colLast"> <td class="colLast">
@ -244,6 +235,30 @@ implements <a href="MatrixTransformation.html" title="interface in com.google.an
</td> </td>
</tr> </tr>
<tr id="i1" class="rowColor"> <tr id="i1" class="rowColor">
<td class="colFirst"><code>static <a href="Presentation.html" title="class in com.google.android.exoplayer2.effect">Presentation</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createForAspectRatio(float,@com.google.android.exoplayer2.effect.Presentation.Layoutint)">createForAspectRatio</a></span>&#8203;(float&nbsp;aspectRatio,
@com.google.android.exoplayer2.effect.Presentation.Layout int&nbsp;layout)</code></th>
<td class="colLast">
<div class="block">Creates a new <a href="Presentation.html" title="class in com.google.android.exoplayer2.effect"><code>Presentation</code></a> instance.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static <a href="Presentation.html" title="class in com.google.android.exoplayer2.effect">Presentation</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createForHeight(int)">createForHeight</a></span>&#8203;(int&nbsp;height)</code></th>
<td class="colLast">
<div class="block">Creates a new <a href="Presentation.html" title="class in com.google.android.exoplayer2.effect"><code>Presentation</code></a> instance.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static <a href="Presentation.html" title="class in com.google.android.exoplayer2.effect">Presentation</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createForWidthAndHeight(int,int,@com.google.android.exoplayer2.effect.Presentation.Layoutint)">createForWidthAndHeight</a></span>&#8203;(int&nbsp;width,
int&nbsp;height,
@com.google.android.exoplayer2.effect.Presentation.Layout int&nbsp;layout)</code></th>
<td class="colLast">
<div class="block">Creates a new <a href="Presentation.html" title="class in com.google.android.exoplayer2.effect"><code>Presentation</code></a> instance.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="https://developer.android.com/reference/android/graphics/Matrix.html" title="class or interface in android.graphics" class="externalLink" target="_top">Matrix</a></code></td> <td class="colFirst"><code><a href="https://developer.android.com/reference/android/graphics/Matrix.html" title="class or interface in android.graphics" class="externalLink" target="_top">Matrix</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMatrix(long)">getMatrix</a></span>&#8203;(long&nbsp;presentationTimeUs)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMatrix(long)">getMatrix</a></span>&#8203;(long&nbsp;presentationTimeUs)</code></th>
<td class="colLast"> <td class="colLast">
@ -259,17 +274,17 @@ implements <a href="MatrixTransformation.html" title="interface in com.google.an
<code><a href="https://developer.android.com/reference/java/lang/Object.html#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink" target="_top">wait</a></code></li> <code><a href="https://developer.android.com/reference/java/lang/Object.html#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink" target="_top">wait</a></code></li>
</ul> </ul>
<ul class="blockList"> <ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.com.google.android.exoplayer2.transformer.GlMatrixTransformation"> <li class="blockList"><a id="methods.inherited.from.class.com.google.android.exoplayer2.effect.GlMatrixTransformation">
<!-- --> <!-- -->
</a> </a>
<h3>Methods inherited from interface&nbsp;com.google.android.exoplayer2.transformer.<a href="GlMatrixTransformation.html" title="interface in com.google.android.exoplayer2.transformer">GlMatrixTransformation</a></h3> <h3>Methods inherited from interface&nbsp;com.google.android.exoplayer2.effect.<a href="GlMatrixTransformation.html" title="interface in com.google.android.exoplayer2.effect">GlMatrixTransformation</a></h3>
<code><a href="GlMatrixTransformation.html#toGlTextureProcessor()">toGlTextureProcessor</a></code></li> <code><a href="GlMatrixTransformation.html#toGlTextureProcessor(android.content.Context,boolean)">toGlTextureProcessor</a></code></li>
</ul> </ul>
<ul class="blockList"> <ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.com.google.android.exoplayer2.transformer.MatrixTransformation"> <li class="blockList"><a id="methods.inherited.from.class.com.google.android.exoplayer2.effect.MatrixTransformation">
<!-- --> <!-- -->
</a> </a>
<h3>Methods inherited from interface&nbsp;com.google.android.exoplayer2.transformer.<a href="MatrixTransformation.html" title="interface in com.google.android.exoplayer2.transformer">MatrixTransformation</a></h3> <h3>Methods inherited from interface&nbsp;com.google.android.exoplayer2.effect.<a href="MatrixTransformation.html" title="interface in com.google.android.exoplayer2.effect">MatrixTransformation</a></h3>
<code><a href="MatrixTransformation.html#getGlMatrixArray(long)">getGlMatrixArray</a></code></li> <code><a href="MatrixTransformation.html#getGlMatrixArray(long)">getGlMatrixArray</a></code></li>
</ul> </ul>
</li> </li>
@ -309,7 +324,7 @@ implements <a href="MatrixTransformation.html" title="interface in com.google.an
</ul></div> </ul></div>
<dl> <dl>
<dt><span class="seeLabel">See Also:</span></dt> <dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#com.google.android.exoplayer2.transformer.Presentation.LAYOUT_SCALE_TO_FIT">Constant Field Values</a></dd> <dd><a href="../../../../../constant-values.html#com.google.android.exoplayer2.effect.Presentation.LAYOUT_SCALE_TO_FIT">Constant Field Values</a></dd>
</dl> </dl>
</li> </li>
</ul> </ul>
@ -333,7 +348,7 @@ implements <a href="MatrixTransformation.html" title="interface in com.google.an
</ul></div> </ul></div>
<dl> <dl>
<dt><span class="seeLabel">See Also:</span></dt> <dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#com.google.android.exoplayer2.transformer.Presentation.LAYOUT_SCALE_TO_FIT_WITH_CROP">Constant Field Values</a></dd> <dd><a href="../../../../../constant-values.html#com.google.android.exoplayer2.effect.Presentation.LAYOUT_SCALE_TO_FIT_WITH_CROP">Constant Field Values</a></dd>
</dl> </dl>
</li> </li>
</ul> </ul>
@ -356,7 +371,7 @@ implements <a href="MatrixTransformation.html" title="interface in com.google.an
</ul></div> </ul></div>
<dl> <dl>
<dt><span class="seeLabel">See Also:</span></dt> <dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#com.google.android.exoplayer2.transformer.Presentation.LAYOUT_STRETCH_TO_FIT">Constant Field Values</a></dd> <dd><a href="../../../../../constant-values.html#com.google.android.exoplayer2.effect.Presentation.LAYOUT_STRETCH_TO_FIT">Constant Field Values</a></dd>
</dl> </dl>
</li> </li>
</ul> </ul>
@ -370,26 +385,84 @@ implements <a href="MatrixTransformation.html" title="interface in com.google.an
<!-- --> <!-- -->
</a> </a>
<h3>Method Detail</h3> <h3>Method Detail</h3>
<a id="createForAspectRatio(float,@com.google.android.exoplayer2.effect.Presentation.Layoutint)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createForAspectRatio</h4>
<pre class="methodSignature">public static&nbsp;<a href="Presentation.html" title="class in com.google.android.exoplayer2.effect">Presentation</a>&nbsp;createForAspectRatio&#8203;(float&nbsp;aspectRatio,
@com.google.android.exoplayer2.effect.Presentation.Layout int&nbsp;layout)</pre>
<div class="block">Creates a new <a href="Presentation.html" title="class in com.google.android.exoplayer2.effect"><code>Presentation</code></a> instance.
<p>The output frame will have the given aspect ratio (width/height ratio). Width or height will
be resized to conform to this <code>aspectRatio</code>, given a <a href="Presentation.Layout.html" title="annotation in com.google.android.exoplayer2.effect"><code>Presentation.Layout</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>aspectRatio</code> - The aspect ratio (width/height ratio) of the output frame. Must be positive.</dd>
<dd><code>layout</code> - The layout of the output frame.</dd>
</dl>
</li>
</ul>
<a id="createForHeight(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createForHeight</h4>
<pre class="methodSignature">public static&nbsp;<a href="Presentation.html" title="class in com.google.android.exoplayer2.effect">Presentation</a>&nbsp;createForHeight&#8203;(int&nbsp;height)</pre>
<div class="block">Creates a new <a href="Presentation.html" title="class in com.google.android.exoplayer2.effect"><code>Presentation</code></a> instance.
<p>The output frame will have the given height. Width will scale to preserve the input aspect
ratio.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>height</code> - The height of the output frame, in pixels.</dd>
</dl>
</li>
</ul>
<a id="createForWidthAndHeight(int,int,@com.google.android.exoplayer2.effect.Presentation.Layoutint)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createForWidthAndHeight</h4>
<pre class="methodSignature">public static&nbsp;<a href="Presentation.html" title="class in com.google.android.exoplayer2.effect">Presentation</a>&nbsp;createForWidthAndHeight&#8203;(int&nbsp;width,
int&nbsp;height,
@com.google.android.exoplayer2.effect.Presentation.Layout int&nbsp;layout)</pre>
<div class="block">Creates a new <a href="Presentation.html" title="class in com.google.android.exoplayer2.effect"><code>Presentation</code></a> instance.
<p>The output frame will have the given width and height, given a <a href="Presentation.Layout.html" title="annotation in com.google.android.exoplayer2.effect"><code>Presentation.Layout</code></a>.
<p>Width and height must be positive integers representing the output frame's width and height.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>width</code> - The width of the output frame, in pixels.</dd>
<dd><code>height</code> - The height of the output frame, in pixels.</dd>
<dd><code>layout</code> - The layout of the output frame.</dd>
</dl>
</li>
</ul>
<a id="configure(int,int)"> <a id="configure(int,int)">
<!-- --> <!-- -->
</a> </a>
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>configure</h4> <h4>configure</h4>
<pre class="methodSignature">public&nbsp;<a href="https://developer.android.com/reference/android/util/Size.html" title="class or interface in android.util" class="externalLink" target="_top">Size</a>&nbsp;configure&#8203;(int&nbsp;inputWidth, <pre class="methodSignature">public&nbsp;<a href="https://developer.android.com/reference/android/util/Pair.html" title="class or interface in android.util" class="externalLink">Pair</a>&lt;<a href="https://developer.android.com/reference/java/lang/Integer.html?is-external=true" title="class or interface in java.lang" class="externalLink">Integer</a>,&#8203;<a href="https://developer.android.com/reference/java/lang/Integer.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>&gt;&nbsp;configure&#8203;(int&nbsp;inputWidth,
int&nbsp;inputHeight)</pre> int&nbsp;inputHeight)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="GlMatrixTransformation.html#configure(int,int)">GlMatrixTransformation</a></code></span></div> <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="GlMatrixTransformation.html#configure(int,int)">GlMatrixTransformation</a></code></span></div>
<div class="block">Configures the input and output dimensions. <div class="block">Configures the input and output dimensions.
<p>Must be called before <a href="GlMatrixTransformation.html#getGlMatrixArray(long)"><code>GlMatrixTransformation.getGlMatrixArray(long)</code></a>.</div> <p>Must be called before <a href="GlMatrixTransformation.html#getGlMatrixArray(long)"><code>GlMatrixTransformation.getGlMatrixArray(long)</code></a>.</div>
<dl> <dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="GlMatrixTransformation.html#configure(int,int)">configure</a></code>&nbsp;in interface&nbsp;<code><a href="GlMatrixTransformation.html" title="interface in com.google.android.exoplayer2.transformer">GlMatrixTransformation</a></code></dd> <dd><code><a href="GlMatrixTransformation.html#configure(int,int)">configure</a></code>&nbsp;in interface&nbsp;<code><a href="GlMatrixTransformation.html" title="interface in com.google.android.exoplayer2.effect">GlMatrixTransformation</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt> <dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>inputWidth</code> - The input frame width, in pixels.</dd> <dd><code>inputWidth</code> - The input frame width, in pixels.</dd>
<dd><code>inputHeight</code> - The input frame height, in pixels.</dd> <dd><code>inputHeight</code> - The input frame height, in pixels.</dd>
<dt><span class="returnLabel">Returns:</span></dt> <dt><span class="returnLabel">Returns:</span></dt>
<dd>The output frame <a href="https://developer.android.com/reference/android/util/Size.html" title="class or interface in android.util" class="externalLink" target="_top"><code>Size</code></a>, in pixels.</dd> <dd>The output frame width and height, in pixels.</dd>
</dl> </dl>
</li> </li>
</ul> </ul>
@ -404,7 +477,7 @@ implements <a href="MatrixTransformation.html" title="interface in com.google.an
<div class="block">Returns the 3x3 transformation <a href="https://developer.android.com/reference/android/graphics/Matrix.html" title="class or interface in android.graphics" class="externalLink" target="_top"><code>Matrix</code></a> to apply to the frame with the given timestamp.</div> <div class="block">Returns the 3x3 transformation <a href="https://developer.android.com/reference/android/graphics/Matrix.html" title="class or interface in android.graphics" class="externalLink" target="_top"><code>Matrix</code></a> to apply to the frame with the given timestamp.</div>
<dl> <dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="MatrixTransformation.html#getMatrix(long)">getMatrix</a></code>&nbsp;in interface&nbsp;<code><a href="MatrixTransformation.html" title="interface in com.google.android.exoplayer2.transformer">MatrixTransformation</a></code></dd> <dd><code><a href="MatrixTransformation.html#getMatrix(long)">getMatrix</a></code>&nbsp;in interface&nbsp;<code><a href="MatrixTransformation.html" title="interface in com.google.android.exoplayer2.effect">MatrixTransformation</a></code></dd>
</dl> </dl>
</li> </li>
</ul> </ul>

View File

@ -0,0 +1,382 @@
<!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>RgbAdjustment.Builder (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="RgbAdjustment.Builder (ExoPlayer library)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
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&nbsp;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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</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>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.effect</a></div>
<h2 title="Class RgbAdjustment.Builder" class="title">Class RgbAdjustment.Builder</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>com.google.android.exoplayer2.effect.RgbAdjustment.Builder</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>Enclosing class:</dt>
<dd><a href="RgbAdjustment.html" title="class in com.google.android.exoplayer2.effect">RgbAdjustment</a></dd>
</dl>
<hr>
<pre>public static final class <span class="typeNameLabel">RgbAdjustment.Builder</span>
extends <a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></pre>
<div class="block">A builder for <a href="RgbAdjustment.html" title="class in com.google.android.exoplayer2.effect"><code>RgbAdjustment</code></a> instances.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">Builder</a></span>()</code></th>
<td class="colLast">
<div class="block">Creates a new instance with default values.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="RgbAdjustment.html" title="class in com.google.android.exoplayer2.effect">RgbAdjustment</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#build()">build</a></span>()</code></th>
<td class="colLast">
<div class="block">Creates a new <a href="RgbAdjustment.html" title="class in com.google.android.exoplayer2.effect"><code>RgbAdjustment</code></a> instance.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="RgbAdjustment.Builder.html" title="class in com.google.android.exoplayer2.effect">RgbAdjustment.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setBlueScale(float)">setBlueScale</a></span>&#8203;(float&nbsp;blueScale)</code></th>
<td class="colLast">
<div class="block">Scales the blue channel of the frame by <code>blueScale</code>.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="RgbAdjustment.Builder.html" title="class in com.google.android.exoplayer2.effect">RgbAdjustment.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setGreenScale(float)">setGreenScale</a></span>&#8203;(float&nbsp;greenScale)</code></th>
<td class="colLast">
<div class="block">Scales the green channel of the frame by <code>greenScale</code>.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="RgbAdjustment.Builder.html" title="class in com.google.android.exoplayer2.effect">RgbAdjustment.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setRedScale(float)">setRedScale</a></span>&#8203;(float&nbsp;redScale)</code></th>
<td class="colLast">
<div class="block">Scales the red channel of the frame by <code>redScale</code>.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></h3>
<code><a href="https://developer.android.com/reference/java/lang/Object.html#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink" target="_top">wait</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>Builder</h4>
<pre>public&nbsp;Builder()</pre>
<div class="block">Creates a new instance with default values.</div>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="setRedScale(float)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setRedScale</h4>
<pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="RgbAdjustment.Builder.html" title="class in com.google.android.exoplayer2.effect">RgbAdjustment.Builder</a>&nbsp;setRedScale&#8203;(float&nbsp;redScale)</pre>
<div class="block">Scales the red channel of the frame by <code>redScale</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>redScale</code> - The scale to apply to the red channel. Needs to be non-negative and the
default value is <code>1</code>.</dd>
</dl>
</li>
</ul>
<a id="setGreenScale(float)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setGreenScale</h4>
<pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="RgbAdjustment.Builder.html" title="class in com.google.android.exoplayer2.effect">RgbAdjustment.Builder</a>&nbsp;setGreenScale&#8203;(float&nbsp;greenScale)</pre>
<div class="block">Scales the green channel of the frame by <code>greenScale</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>greenScale</code> - The scale to apply to the green channel. Needs to be non-negative and the
default value is <code>1</code>.</dd>
</dl>
</li>
</ul>
<a id="setBlueScale(float)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setBlueScale</h4>
<pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="RgbAdjustment.Builder.html" title="class in com.google.android.exoplayer2.effect">RgbAdjustment.Builder</a>&nbsp;setBlueScale&#8203;(float&nbsp;blueScale)</pre>
<div class="block">Scales the blue channel of the frame by <code>blueScale</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>blueScale</code> - The scale to apply to the blue channel. Needs to be non-negative and the
default value is <code>1</code>.</dd>
</dl>
</li>
</ul>
<a id="build()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>build</h4>
<pre class="methodSignature">public&nbsp;<a href="RgbAdjustment.html" title="class in com.google.android.exoplayer2.effect">RgbAdjustment</a>&nbsp;build()</pre>
<div class="block">Creates a new <a href="RgbAdjustment.html" title="class in com.google.android.exoplayer2.effect"><code>RgbAdjustment</code></a> instance.</div>
</li>
</ul>
</li>
</ul>
</section>
</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&nbsp;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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

View File

@ -0,0 +1,318 @@
<!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>RgbAdjustment (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="RgbAdjustment (ExoPlayer library)";
}
}
catch(err) {
}
//-->
var data = {"i0":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
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&nbsp;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:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</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>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.effect</a></div>
<h2 title="Class RgbAdjustment" class="title">Class RgbAdjustment</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>com.google.android.exoplayer2.effect.RgbAdjustment</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="GlEffect.html" title="interface in com.google.android.exoplayer2.effect">GlEffect</a></code>, <code><a href="RgbMatrix.html" title="interface in com.google.android.exoplayer2.effect">RgbMatrix</a></code>, <code><a href="../util/Effect.html" title="interface in com.google.android.exoplayer2.util">Effect</a></code></dd>
</dl>
<hr>
<pre>public final class <span class="typeNameLabel">RgbAdjustment</span>
extends <a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a>
implements <a href="RgbMatrix.html" title="interface in com.google.android.exoplayer2.effect">RgbMatrix</a></pre>
<div class="block">Scales the red, green, and blue color channels of a frame.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="RgbAdjustment.Builder.html" title="class in com.google.android.exoplayer2.effect">RgbAdjustment.Builder</a></span></code></th>
<td class="colLast">
<div class="block">A builder for <a href="RgbAdjustment.html" title="class in com.google.android.exoplayer2.effect"><code>RgbAdjustment</code></a> instances.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>float[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMatrix(long,boolean)">getMatrix</a></span>&#8203;(long&nbsp;presentationTimeUs,
boolean&nbsp;useHdr)</code></th>
<td class="colLast">
<div class="block">Returns the 4x4 RGB transformation <a href="https://developer.android.com/reference/android/opengl/Matrix.html" title="class or interface in android.opengl" class="externalLink" target="_top">matrix</a> to apply to the
color values of each pixel in the frame with the given timestamp.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></h3>
<code><a href="https://developer.android.com/reference/java/lang/Object.html#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink" target="_top">wait</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.com.google.android.exoplayer2.effect.RgbMatrix">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;com.google.android.exoplayer2.effect.<a href="RgbMatrix.html" title="interface in com.google.android.exoplayer2.effect">RgbMatrix</a></h3>
<code><a href="RgbMatrix.html#toGlTextureProcessor(android.content.Context,boolean)">toGlTextureProcessor</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="getMatrix(long,boolean)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getMatrix</h4>
<pre class="methodSignature">public&nbsp;float[]&nbsp;getMatrix&#8203;(long&nbsp;presentationTimeUs,
boolean&nbsp;useHdr)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="RgbMatrix.html#getMatrix(long,boolean)">RgbMatrix</a></code></span></div>
<div class="block">Returns the 4x4 RGB transformation <a href="https://developer.android.com/reference/android/opengl/Matrix.html" title="class or interface in android.opengl" class="externalLink" target="_top">matrix</a> to apply to the
color values of each pixel in the frame with the given timestamp.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="RgbMatrix.html#getMatrix(long,boolean)">getMatrix</a></code>&nbsp;in interface&nbsp;<code><a href="RgbMatrix.html" title="interface in com.google.android.exoplayer2.effect">RgbMatrix</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>presentationTimeUs</code> - The timestamp of the frame to apply the matrix on.</dd>
<dd><code>useHdr</code> - If <code>true</code>, colors will be in linear RGB BT.2020. If <code>false</code>, colors
will be in linear RGB BT.709. Must be consistent with <code>useHdr</code> in <a href="RgbMatrix.html#toGlTextureProcessor(android.content.Context,boolean)"><code>RgbMatrix.toGlTextureProcessor(Context, boolean)</code></a>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The <code>RgbMatrix</code> to apply to the frame.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</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&nbsp;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:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

View File

@ -0,0 +1,353 @@
<!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>RgbFilter (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="RgbFilter (ExoPlayer library)";
}
}
catch(err) {
}
//-->
var data = {"i0":9,"i1":9,"i2":10,"i3":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
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&nbsp;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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</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>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.effect</a></div>
<h2 title="Class RgbFilter" class="title">Class RgbFilter</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>com.google.android.exoplayer2.effect.RgbFilter</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="GlEffect.html" title="interface in com.google.android.exoplayer2.effect">GlEffect</a></code>, <code><a href="RgbMatrix.html" title="interface in com.google.android.exoplayer2.effect">RgbMatrix</a></code>, <code><a href="../util/Effect.html" title="interface in com.google.android.exoplayer2.util">Effect</a></code></dd>
</dl>
<hr>
<pre>public class <span class="typeNameLabel">RgbFilter</span>
extends <a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a>
implements <a href="RgbMatrix.html" title="interface in com.google.android.exoplayer2.effect">RgbMatrix</a></pre>
<div class="block">Provides common color filters.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>static <a href="RgbFilter.html" title="class in com.google.android.exoplayer2.effect">RgbFilter</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createGrayscaleFilter()">createGrayscaleFilter</a></span>()</code></th>
<td class="colLast">
<div class="block">Creates a new grayscale <code>RgbFilter</code> instance.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static <a href="RgbFilter.html" title="class in com.google.android.exoplayer2.effect">RgbFilter</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createInvertedFilter()">createInvertedFilter</a></span>()</code></th>
<td class="colLast">
<div class="block">Creates a new inverted <code>RgbFilter</code> instance.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>float[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMatrix(long,boolean)">getMatrix</a></span>&#8203;(long&nbsp;presentationTimeUs,
boolean&nbsp;useHdr)</code></th>
<td class="colLast">
<div class="block">Returns the 4x4 RGB transformation <a href="https://developer.android.com/reference/android/opengl/Matrix.html" title="class or interface in android.opengl" class="externalLink" target="_top">matrix</a> to apply to the
color values of each pixel in the frame with the given timestamp.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="SingleFrameGlTextureProcessor.html" title="class in com.google.android.exoplayer2.effect">SingleFrameGlTextureProcessor</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toGlTextureProcessor(android.content.Context,boolean)">toGlTextureProcessor</a></span>&#8203;(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a>&nbsp;context,
boolean&nbsp;useHdr)</code></th>
<td class="colLast">
<div class="block">Returns a <a href="SingleFrameGlTextureProcessor.html" title="class in com.google.android.exoplayer2.effect"><code>SingleFrameGlTextureProcessor</code></a> that applies the effect.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></h3>
<code><a href="https://developer.android.com/reference/java/lang/Object.html#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink" target="_top">wait</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="createGrayscaleFilter()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createGrayscaleFilter</h4>
<pre class="methodSignature">public static&nbsp;<a href="RgbFilter.html" title="class in com.google.android.exoplayer2.effect">RgbFilter</a>&nbsp;createGrayscaleFilter()</pre>
<div class="block">Creates a new grayscale <code>RgbFilter</code> instance.</div>
</li>
</ul>
<a id="createInvertedFilter()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createInvertedFilter</h4>
<pre class="methodSignature">public static&nbsp;<a href="RgbFilter.html" title="class in com.google.android.exoplayer2.effect">RgbFilter</a>&nbsp;createInvertedFilter()</pre>
<div class="block">Creates a new inverted <code>RgbFilter</code> instance.</div>
</li>
</ul>
<a id="getMatrix(long,boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMatrix</h4>
<pre class="methodSignature">public&nbsp;float[]&nbsp;getMatrix&#8203;(long&nbsp;presentationTimeUs,
boolean&nbsp;useHdr)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="RgbMatrix.html#getMatrix(long,boolean)">RgbMatrix</a></code></span></div>
<div class="block">Returns the 4x4 RGB transformation <a href="https://developer.android.com/reference/android/opengl/Matrix.html" title="class or interface in android.opengl" class="externalLink" target="_top">matrix</a> to apply to the
color values of each pixel in the frame with the given timestamp.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="RgbMatrix.html#getMatrix(long,boolean)">getMatrix</a></code>&nbsp;in interface&nbsp;<code><a href="RgbMatrix.html" title="interface in com.google.android.exoplayer2.effect">RgbMatrix</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>presentationTimeUs</code> - The timestamp of the frame to apply the matrix on.</dd>
<dd><code>useHdr</code> - If <code>true</code>, colors will be in linear RGB BT.2020. If <code>false</code>, colors
will be in linear RGB BT.709. Must be consistent with <code>useHdr</code> in <a href="RgbMatrix.html#toGlTextureProcessor(android.content.Context,boolean)"><code>RgbMatrix.toGlTextureProcessor(Context, boolean)</code></a>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The <code>RgbMatrix</code> to apply to the frame.</dd>
</dl>
</li>
</ul>
<a id="toGlTextureProcessor(android.content.Context,boolean)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toGlTextureProcessor</h4>
<pre class="methodSignature">public&nbsp;<a href="SingleFrameGlTextureProcessor.html" title="class in com.google.android.exoplayer2.effect">SingleFrameGlTextureProcessor</a>&nbsp;toGlTextureProcessor&#8203;(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a>&nbsp;context,
boolean&nbsp;useHdr)
throws <a href="../util/FrameProcessingException.html" title="class in com.google.android.exoplayer2.util">FrameProcessingException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="GlEffect.html#toGlTextureProcessor(android.content.Context,boolean)">GlEffect</a></code></span></div>
<div class="block">Returns a <a href="SingleFrameGlTextureProcessor.html" title="class in com.google.android.exoplayer2.effect"><code>SingleFrameGlTextureProcessor</code></a> that applies the effect.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="GlEffect.html#toGlTextureProcessor(android.content.Context,boolean)">toGlTextureProcessor</a></code>&nbsp;in interface&nbsp;<code><a href="GlEffect.html" title="interface in com.google.android.exoplayer2.effect">GlEffect</a></code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="RgbMatrix.html#toGlTextureProcessor(android.content.Context,boolean)">toGlTextureProcessor</a></code>&nbsp;in interface&nbsp;<code><a href="RgbMatrix.html" title="interface in com.google.android.exoplayer2.effect">RgbMatrix</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<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>useHdr</code> - Whether input textures come from an HDR source. If <code>true</code>, colors will be
in linear RGB BT.2020. If <code>false</code>, colors will be in linear RGB BT.709.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../util/FrameProcessingException.html" title="class in com.google.android.exoplayer2.util">FrameProcessingException</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</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&nbsp;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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

View File

@ -0,0 +1,302 @@
<!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>RgbMatrix (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="RgbMatrix (ExoPlayer library)";
}
}
catch(err) {
}
//-->
var data = {"i0":6,"i1":18};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
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&nbsp;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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</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>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.effect</a></div>
<h2 title="Interface RgbMatrix" class="title">Interface RgbMatrix</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><code><a href="../util/Effect.html" title="interface in com.google.android.exoplayer2.util">Effect</a></code>, <code><a href="GlEffect.html" title="interface in com.google.android.exoplayer2.effect">GlEffect</a></code></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="RgbAdjustment.html" title="class in com.google.android.exoplayer2.effect">RgbAdjustment</a></code>, <code><a href="RgbFilter.html" title="class in com.google.android.exoplayer2.effect">RgbFilter</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">RgbMatrix</span>
extends <a href="GlEffect.html" title="interface in com.google.android.exoplayer2.effect">GlEffect</a></pre>
<div class="block">Specifies a 4x4 RGB color transformation matrix to apply to each frame in the fragment shader.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t5" class="tableTab"><span><a href="javascript:show(16);">Default Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>float[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMatrix(long,boolean)">getMatrix</a></span>&#8203;(long&nbsp;presentationTimeUs,
boolean&nbsp;useHdr)</code></th>
<td class="colLast">
<div class="block">Returns the 4x4 RGB transformation <a href="https://developer.android.com/reference/android/opengl/Matrix.html" title="class or interface in android.opengl" class="externalLink" target="_top">matrix</a> to apply to the
color values of each pixel in the frame with the given timestamp.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>default <a href="SingleFrameGlTextureProcessor.html" title="class in com.google.android.exoplayer2.effect">SingleFrameGlTextureProcessor</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toGlTextureProcessor(android.content.Context,boolean)">toGlTextureProcessor</a></span>&#8203;(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a>&nbsp;context,
boolean&nbsp;useHdr)</code></th>
<td class="colLast">
<div class="block">Returns a <a href="SingleFrameGlTextureProcessor.html" title="class in com.google.android.exoplayer2.effect"><code>SingleFrameGlTextureProcessor</code></a> that applies the effect.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="getMatrix(long,boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMatrix</h4>
<pre class="methodSignature">float[]&nbsp;getMatrix&#8203;(long&nbsp;presentationTimeUs,
boolean&nbsp;useHdr)</pre>
<div class="block">Returns the 4x4 RGB transformation <a href="https://developer.android.com/reference/android/opengl/Matrix.html" title="class or interface in android.opengl" class="externalLink" target="_top">matrix</a> to apply to the
color values of each pixel in the frame with the given timestamp.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>presentationTimeUs</code> - The timestamp of the frame to apply the matrix on.</dd>
<dd><code>useHdr</code> - If <code>true</code>, colors will be in linear RGB BT.2020. If <code>false</code>, colors
will be in linear RGB BT.709. Must be consistent with <code>useHdr</code> in <a href="#toGlTextureProcessor(android.content.Context,boolean)"><code>toGlTextureProcessor(Context, boolean)</code></a>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The <code>RgbMatrix</code> to apply to the frame.</dd>
</dl>
</li>
</ul>
<a id="toGlTextureProcessor(android.content.Context,boolean)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toGlTextureProcessor</h4>
<pre class="methodSignature">default&nbsp;<a href="SingleFrameGlTextureProcessor.html" title="class in com.google.android.exoplayer2.effect">SingleFrameGlTextureProcessor</a>&nbsp;toGlTextureProcessor&#8203;(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a>&nbsp;context,
boolean&nbsp;useHdr)
throws <a href="../util/FrameProcessingException.html" title="class in com.google.android.exoplayer2.util">FrameProcessingException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="GlEffect.html#toGlTextureProcessor(android.content.Context,boolean)">GlEffect</a></code></span></div>
<div class="block">Returns a <a href="SingleFrameGlTextureProcessor.html" title="class in com.google.android.exoplayer2.effect"><code>SingleFrameGlTextureProcessor</code></a> that applies the effect.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="GlEffect.html#toGlTextureProcessor(android.content.Context,boolean)">toGlTextureProcessor</a></code>&nbsp;in interface&nbsp;<code><a href="GlEffect.html" title="interface in com.google.android.exoplayer2.effect">GlEffect</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<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>useHdr</code> - Whether input textures come from an HDR source. If <code>true</code>, colors will be
in linear RGB BT.2020. If <code>false</code>, colors will be in linear RGB BT.709.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../util/FrameProcessingException.html" title="class in com.google.android.exoplayer2.util">FrameProcessingException</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</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&nbsp;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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

View File

@ -113,7 +113,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<!-- ======== START OF CLASS DATA ======== --> <!-- ======== START OF CLASS DATA ======== -->
<main role="main"> <main role="main">
<div class="header"> <div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.transformer</a></div> <div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.effect</a></div>
<h2 title="Class ScaleToFitTransformation.Builder" class="title">Class ScaleToFitTransformation.Builder</h2> <h2 title="Class ScaleToFitTransformation.Builder" class="title">Class ScaleToFitTransformation.Builder</h2>
</div> </div>
<div class="contentContainer"> <div class="contentContainer">
@ -121,7 +121,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<li><a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">java.lang.Object</a></li> <li><a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">java.lang.Object</a></li>
<li> <li>
<ul class="inheritance"> <ul class="inheritance">
<li>com.google.android.exoplayer2.transformer.ScaleToFitTransformation.Builder</li> <li>com.google.android.exoplayer2.effect.ScaleToFitTransformation.Builder</li>
</ul> </ul>
</li> </li>
</ul> </ul>
@ -130,12 +130,12 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<li class="blockList"> <li class="blockList">
<dl> <dl>
<dt>Enclosing class:</dt> <dt>Enclosing class:</dt>
<dd><a href="ScaleToFitTransformation.html" title="class in com.google.android.exoplayer2.transformer">ScaleToFitTransformation</a></dd> <dd><a href="ScaleToFitTransformation.html" title="class in com.google.android.exoplayer2.effect">ScaleToFitTransformation</a></dd>
</dl> </dl>
<hr> <hr>
<pre>public static final class <span class="typeNameLabel">ScaleToFitTransformation.Builder</span> <pre>public static final class <span class="typeNameLabel">ScaleToFitTransformation.Builder</span>
extends <a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></pre> extends <a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></pre>
<div class="block">A builder for <a href="ScaleToFitTransformation.html" title="class in com.google.android.exoplayer2.transformer"><code>ScaleToFitTransformation</code></a> instances.</div> <div class="block">A builder for <a href="ScaleToFitTransformation.html" title="class in com.google.android.exoplayer2.effect"><code>ScaleToFitTransformation</code></a> instances.</div>
</li> </li>
</ul> </ul>
</div> </div>
@ -180,19 +180,19 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<th class="colLast" scope="col">Description</th> <th class="colLast" scope="col">Description</th>
</tr> </tr>
<tr id="i0" class="altColor"> <tr id="i0" class="altColor">
<td class="colFirst"><code><a href="ScaleToFitTransformation.html" title="class in com.google.android.exoplayer2.transformer">ScaleToFitTransformation</a></code></td> <td class="colFirst"><code><a href="ScaleToFitTransformation.html" title="class in com.google.android.exoplayer2.effect">ScaleToFitTransformation</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#build()">build</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#build()">build</a></span>()</code></th>
<td class="colLast">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr id="i1" class="rowColor"> <tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="ScaleToFitTransformation.Builder.html" title="class in com.google.android.exoplayer2.transformer">ScaleToFitTransformation.Builder</a></code></td> <td class="colFirst"><code><a href="ScaleToFitTransformation.Builder.html" title="class in com.google.android.exoplayer2.effect">ScaleToFitTransformation.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setRotationDegrees(float)">setRotationDegrees</a></span>&#8203;(float&nbsp;rotationDegrees)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setRotationDegrees(float)">setRotationDegrees</a></span>&#8203;(float&nbsp;rotationDegrees)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Sets the counterclockwise rotation degrees.</div> <div class="block">Sets the counterclockwise rotation degrees.</div>
</td> </td>
</tr> </tr>
<tr id="i2" class="altColor"> <tr id="i2" class="altColor">
<td class="colFirst"><code><a href="ScaleToFitTransformation.Builder.html" title="class in com.google.android.exoplayer2.transformer">ScaleToFitTransformation.Builder</a></code></td> <td class="colFirst"><code><a href="ScaleToFitTransformation.Builder.html" title="class in com.google.android.exoplayer2.effect">ScaleToFitTransformation.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setScale(float,float)">setScale</a></span>&#8203;(float&nbsp;scaleX, <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setScale(float,float)">setScale</a></span>&#8203;(float&nbsp;scaleX,
float&nbsp;scaleY)</code></th> float&nbsp;scaleY)</code></th>
<td class="colLast"> <td class="colLast">
@ -249,7 +249,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setScale</h4> <h4>setScale</h4>
<pre class="methodSignature">public&nbsp;<a href="ScaleToFitTransformation.Builder.html" title="class in com.google.android.exoplayer2.transformer">ScaleToFitTransformation.Builder</a>&nbsp;setScale&#8203;(float&nbsp;scaleX, <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="ScaleToFitTransformation.Builder.html" title="class in com.google.android.exoplayer2.effect">ScaleToFitTransformation.Builder</a>&nbsp;setScale&#8203;(float&nbsp;scaleX,
float&nbsp;scaleY)</pre> float&nbsp;scaleY)</pre>
<div class="block">Sets the x and y axis scaling factors to apply to each frame's width and height. <div class="block">Sets the x and y axis scaling factors to apply to each frame's width and height.
@ -269,7 +270,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setRotationDegrees</h4> <h4>setRotationDegrees</h4>
<pre class="methodSignature">public&nbsp;<a href="ScaleToFitTransformation.Builder.html" title="class in com.google.android.exoplayer2.transformer">ScaleToFitTransformation.Builder</a>&nbsp;setRotationDegrees&#8203;(float&nbsp;rotationDegrees)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="ScaleToFitTransformation.Builder.html" title="class in com.google.android.exoplayer2.effect">ScaleToFitTransformation.Builder</a>&nbsp;setRotationDegrees&#8203;(float&nbsp;rotationDegrees)</pre>
<div class="block">Sets the counterclockwise rotation degrees. <div class="block">Sets the counterclockwise rotation degrees.
<p>The default value, 0, corresponds to not applying any rotation.</div> <p>The default value, 0, corresponds to not applying any rotation.</div>
@ -287,7 +289,7 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockListLast"> <ul class="blockListLast">
<li class="blockList"> <li class="blockList">
<h4>build</h4> <h4>build</h4>
<pre class="methodSignature">public&nbsp;<a href="ScaleToFitTransformation.html" title="class in com.google.android.exoplayer2.transformer">ScaleToFitTransformation</a>&nbsp;build()</pre> <pre class="methodSignature">public&nbsp;<a href="ScaleToFitTransformation.html" title="class in com.google.android.exoplayer2.effect">ScaleToFitTransformation</a>&nbsp;build()</pre>
</li> </li>
</ul> </ul>
</li> </li>

View File

@ -113,7 +113,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<!-- ======== START OF CLASS DATA ======== --> <!-- ======== START OF CLASS DATA ======== -->
<main role="main"> <main role="main">
<div class="header"> <div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.transformer</a></div> <div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.effect</a></div>
<h2 title="Class ScaleToFitTransformation" class="title">Class ScaleToFitTransformation</h2> <h2 title="Class ScaleToFitTransformation" class="title">Class ScaleToFitTransformation</h2>
</div> </div>
<div class="contentContainer"> <div class="contentContainer">
@ -121,7 +121,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<li><a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">java.lang.Object</a></li> <li><a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">java.lang.Object</a></li>
<li> <li>
<ul class="inheritance"> <ul class="inheritance">
<li>com.google.android.exoplayer2.transformer.ScaleToFitTransformation</li> <li>com.google.android.exoplayer2.effect.ScaleToFitTransformation</li>
</ul> </ul>
</li> </li>
</ul> </ul>
@ -130,18 +130,18 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<li class="blockList"> <li class="blockList">
<dl> <dl>
<dt>All Implemented Interfaces:</dt> <dt>All Implemented Interfaces:</dt>
<dd><code><a href="GlEffect.html" title="interface in com.google.android.exoplayer2.transformer">GlEffect</a></code>, <code><a href="GlMatrixTransformation.html" title="interface in com.google.android.exoplayer2.transformer">GlMatrixTransformation</a></code>, <code><a href="MatrixTransformation.html" title="interface in com.google.android.exoplayer2.transformer">MatrixTransformation</a></code></dd> <dd><code><a href="GlEffect.html" title="interface in com.google.android.exoplayer2.effect">GlEffect</a></code>, <code><a href="GlMatrixTransformation.html" title="interface in com.google.android.exoplayer2.effect">GlMatrixTransformation</a></code>, <code><a href="MatrixTransformation.html" title="interface in com.google.android.exoplayer2.effect">MatrixTransformation</a></code>, <code><a href="../util/Effect.html" title="interface in com.google.android.exoplayer2.util">Effect</a></code></dd>
</dl> </dl>
<hr> <hr>
<pre>public final class <span class="typeNameLabel">ScaleToFitTransformation</span> <pre>public final class <span class="typeNameLabel">ScaleToFitTransformation</span>
extends <a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a> extends <a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a>
implements <a href="MatrixTransformation.html" title="interface in com.google.android.exoplayer2.transformer">MatrixTransformation</a></pre> implements <a href="MatrixTransformation.html" title="interface in com.google.android.exoplayer2.effect">MatrixTransformation</a></pre>
<div class="block">Specifies a simple rotation and/or scale to apply in the vertex shader. <div class="block">Specifies a simple rotation and/or scale to apply in the vertex shader.
<p>All input frames' pixels will be preserved and copied into an output frame, potentially <p>All input frames' pixels will be preserved and copied into an output frame, potentially
changing the width and height of the frame by scaling dimensions to fit. changing the width and height of the frame by scaling dimensions to fit.
<p>The background color of the output frame will be black.</div> <p>The background color of the output frame will be black, with alpha = 0 if applicable.</div>
</li> </li>
</ul> </ul>
</div> </div>
@ -164,9 +164,9 @@ implements <a href="MatrixTransformation.html" title="interface in com.google.an
</tr> </tr>
<tr class="altColor"> <tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td> <td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="ScaleToFitTransformation.Builder.html" title="class in com.google.android.exoplayer2.transformer">ScaleToFitTransformation.Builder</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="ScaleToFitTransformation.Builder.html" title="class in com.google.android.exoplayer2.effect">ScaleToFitTransformation.Builder</a></span></code></th>
<td class="colLast"> <td class="colLast">
<div class="block">A builder for <a href="ScaleToFitTransformation.html" title="class in com.google.android.exoplayer2.transformer"><code>ScaleToFitTransformation</code></a> instances.</div> <div class="block">A builder for <a href="ScaleToFitTransformation.html" title="class in com.google.android.exoplayer2.effect"><code>ScaleToFitTransformation</code></a> instances.</div>
</td> </td>
</tr> </tr>
</table> </table>
@ -188,7 +188,7 @@ implements <a href="MatrixTransformation.html" title="interface in com.google.an
<th class="colLast" scope="col">Description</th> <th class="colLast" scope="col">Description</th>
</tr> </tr>
<tr id="i0" class="altColor"> <tr id="i0" class="altColor">
<td class="colFirst"><code><a href="https://developer.android.com/reference/android/util/Size.html" title="class or interface in android.util" class="externalLink" target="_top">Size</a></code></td> <td class="colFirst"><code><a href="https://developer.android.com/reference/android/util/Pair.html" title="class or interface in android.util" class="externalLink">Pair</a>&lt;<a href="https://developer.android.com/reference/java/lang/Integer.html?is-external=true" title="class or interface in java.lang" class="externalLink">Integer</a>,&#8203;<a href="https://developer.android.com/reference/java/lang/Integer.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#configure(int,int)">configure</a></span>&#8203;(int&nbsp;inputWidth, <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#configure(int,int)">configure</a></span>&#8203;(int&nbsp;inputWidth,
int&nbsp;inputHeight)</code></th> int&nbsp;inputHeight)</code></th>
<td class="colLast"> <td class="colLast">
@ -211,17 +211,17 @@ implements <a href="MatrixTransformation.html" title="interface in com.google.an
<code><a href="https://developer.android.com/reference/java/lang/Object.html#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink" target="_top">wait</a></code></li> <code><a href="https://developer.android.com/reference/java/lang/Object.html#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink" target="_top">wait</a></code></li>
</ul> </ul>
<ul class="blockList"> <ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.com.google.android.exoplayer2.transformer.GlMatrixTransformation"> <li class="blockList"><a id="methods.inherited.from.class.com.google.android.exoplayer2.effect.GlMatrixTransformation">
<!-- --> <!-- -->
</a> </a>
<h3>Methods inherited from interface&nbsp;com.google.android.exoplayer2.transformer.<a href="GlMatrixTransformation.html" title="interface in com.google.android.exoplayer2.transformer">GlMatrixTransformation</a></h3> <h3>Methods inherited from interface&nbsp;com.google.android.exoplayer2.effect.<a href="GlMatrixTransformation.html" title="interface in com.google.android.exoplayer2.effect">GlMatrixTransformation</a></h3>
<code><a href="GlMatrixTransformation.html#toGlTextureProcessor()">toGlTextureProcessor</a></code></li> <code><a href="GlMatrixTransformation.html#toGlTextureProcessor(android.content.Context,boolean)">toGlTextureProcessor</a></code></li>
</ul> </ul>
<ul class="blockList"> <ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.com.google.android.exoplayer2.transformer.MatrixTransformation"> <li class="blockList"><a id="methods.inherited.from.class.com.google.android.exoplayer2.effect.MatrixTransformation">
<!-- --> <!-- -->
</a> </a>
<h3>Methods inherited from interface&nbsp;com.google.android.exoplayer2.transformer.<a href="MatrixTransformation.html" title="interface in com.google.android.exoplayer2.transformer">MatrixTransformation</a></h3> <h3>Methods inherited from interface&nbsp;com.google.android.exoplayer2.effect.<a href="MatrixTransformation.html" title="interface in com.google.android.exoplayer2.effect">MatrixTransformation</a></h3>
<code><a href="MatrixTransformation.html#getGlMatrixArray(long)">getGlMatrixArray</a></code></li> <code><a href="MatrixTransformation.html#getGlMatrixArray(long)">getGlMatrixArray</a></code></li>
</ul> </ul>
</li> </li>
@ -246,20 +246,20 @@ implements <a href="MatrixTransformation.html" title="interface in com.google.an
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>configure</h4> <h4>configure</h4>
<pre class="methodSignature">public&nbsp;<a href="https://developer.android.com/reference/android/util/Size.html" title="class or interface in android.util" class="externalLink" target="_top">Size</a>&nbsp;configure&#8203;(int&nbsp;inputWidth, <pre class="methodSignature">public&nbsp;<a href="https://developer.android.com/reference/android/util/Pair.html" title="class or interface in android.util" class="externalLink">Pair</a>&lt;<a href="https://developer.android.com/reference/java/lang/Integer.html?is-external=true" title="class or interface in java.lang" class="externalLink">Integer</a>,&#8203;<a href="https://developer.android.com/reference/java/lang/Integer.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>&gt;&nbsp;configure&#8203;(int&nbsp;inputWidth,
int&nbsp;inputHeight)</pre> int&nbsp;inputHeight)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="GlMatrixTransformation.html#configure(int,int)">GlMatrixTransformation</a></code></span></div> <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="GlMatrixTransformation.html#configure(int,int)">GlMatrixTransformation</a></code></span></div>
<div class="block">Configures the input and output dimensions. <div class="block">Configures the input and output dimensions.
<p>Must be called before <a href="GlMatrixTransformation.html#getGlMatrixArray(long)"><code>GlMatrixTransformation.getGlMatrixArray(long)</code></a>.</div> <p>Must be called before <a href="GlMatrixTransformation.html#getGlMatrixArray(long)"><code>GlMatrixTransformation.getGlMatrixArray(long)</code></a>.</div>
<dl> <dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="GlMatrixTransformation.html#configure(int,int)">configure</a></code>&nbsp;in interface&nbsp;<code><a href="GlMatrixTransformation.html" title="interface in com.google.android.exoplayer2.transformer">GlMatrixTransformation</a></code></dd> <dd><code><a href="GlMatrixTransformation.html#configure(int,int)">configure</a></code>&nbsp;in interface&nbsp;<code><a href="GlMatrixTransformation.html" title="interface in com.google.android.exoplayer2.effect">GlMatrixTransformation</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt> <dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>inputWidth</code> - The input frame width, in pixels.</dd> <dd><code>inputWidth</code> - The input frame width, in pixels.</dd>
<dd><code>inputHeight</code> - The input frame height, in pixels.</dd> <dd><code>inputHeight</code> - The input frame height, in pixels.</dd>
<dt><span class="returnLabel">Returns:</span></dt> <dt><span class="returnLabel">Returns:</span></dt>
<dd>The output frame <a href="https://developer.android.com/reference/android/util/Size.html" title="class or interface in android.util" class="externalLink" target="_top"><code>Size</code></a>, in pixels.</dd> <dd>The output frame width and height, in pixels.</dd>
</dl> </dl>
</li> </li>
</ul> </ul>
@ -274,7 +274,7 @@ implements <a href="MatrixTransformation.html" title="interface in com.google.an
<div class="block">Returns the 3x3 transformation <a href="https://developer.android.com/reference/android/graphics/Matrix.html" title="class or interface in android.graphics" class="externalLink" target="_top"><code>Matrix</code></a> to apply to the frame with the given timestamp.</div> <div class="block">Returns the 3x3 transformation <a href="https://developer.android.com/reference/android/graphics/Matrix.html" title="class or interface in android.graphics" class="externalLink" target="_top"><code>Matrix</code></a> to apply to the frame with the given timestamp.</div>
<dl> <dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="MatrixTransformation.html#getMatrix(long)">getMatrix</a></code>&nbsp;in interface&nbsp;<code><a href="MatrixTransformation.html" title="interface in com.google.android.exoplayer2.transformer">MatrixTransformation</a></code></dd> <dd><code><a href="MatrixTransformation.html#getMatrix(long)">getMatrix</a></code>&nbsp;in interface&nbsp;<code><a href="MatrixTransformation.html" title="interface in com.google.android.exoplayer2.effect">MatrixTransformation</a></code></dd>
</dl> </dl>
</li> </li>
</ul> </ul>

View File

@ -0,0 +1,395 @@
<!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>SingleColorLut (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="SingleColorLut (ExoPlayer library)";
}
}
catch(err) {
}
//-->
var data = {"i0":9,"i1":9,"i2":10,"i3":10,"i4":10,"i5":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
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&nbsp;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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</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>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.effect</a></div>
<h2 title="Class SingleColorLut" class="title">Class SingleColorLut</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>com.google.android.exoplayer2.effect.SingleColorLut</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="ColorLut.html" title="interface in com.google.android.exoplayer2.effect">ColorLut</a></code>, <code><a href="GlEffect.html" title="interface in com.google.android.exoplayer2.effect">GlEffect</a></code>, <code><a href="../util/Effect.html" title="interface in com.google.android.exoplayer2.util">Effect</a></code></dd>
</dl>
<hr>
<pre>public class <span class="typeNameLabel">SingleColorLut</span>
extends <a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a>
implements <a href="ColorLut.html" title="interface in com.google.android.exoplayer2.effect">ColorLut</a></pre>
<div class="block">Transforms the colors of a frame by applying the same color lookup table to each frame.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>static <a href="SingleColorLut.html" title="class in com.google.android.exoplayer2.effect">SingleColorLut</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createFromBitmap(android.graphics.Bitmap)">createFromBitmap</a></span>&#8203;(<a href="https://developer.android.com/reference/android/graphics/Bitmap.html" title="class or interface in android.graphics" class="externalLink" target="_top">Bitmap</a>&nbsp;lut)</code></th>
<td class="colLast">
<div class="block">Creates a new instance.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static <a href="SingleColorLut.html" title="class in com.google.android.exoplayer2.effect">SingleColorLut</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createFromCube(int%5B%5D%5B%5D%5B%5D)">createFromCube</a></span>&#8203;(int[][][]&nbsp;lutCube)</code></th>
<td class="colLast">
<div class="block">Creates a new instance.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getLength(long)">getLength</a></span>&#8203;(long&nbsp;presentationTimeUs)</code></th>
<td class="colLast">
<div class="block">Returns the length N of the 3D N x N x N LUT cube with the given timestamp.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getLutTextureId(long)">getLutTextureId</a></span>&#8203;(long&nbsp;presentationTimeUs)</code></th>
<td class="colLast">
<div class="block">Must be called after <a href="#toGlTextureProcessor(android.content.Context,boolean)"><code>toGlTextureProcessor(Context, boolean)</code></a>.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#release()">release</a></span>()</code></th>
<td class="colLast">
<div class="block">Releases the OpenGL texture of the LUT.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="SingleFrameGlTextureProcessor.html" title="class in com.google.android.exoplayer2.effect">SingleFrameGlTextureProcessor</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toGlTextureProcessor(android.content.Context,boolean)">toGlTextureProcessor</a></span>&#8203;(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a>&nbsp;context,
boolean&nbsp;useHdr)</code></th>
<td class="colLast">
<div class="block">This method must be executed on the same thread as other GL commands.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></h3>
<code><a href="https://developer.android.com/reference/java/lang/Object.html#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink" target="_top">wait</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="createFromCube(int[][][])">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createFromCube</h4>
<pre class="methodSignature">public static&nbsp;<a href="SingleColorLut.html" title="class in com.google.android.exoplayer2.effect">SingleColorLut</a>&nbsp;createFromCube&#8203;(int[][][]&nbsp;lutCube)</pre>
<div class="block">Creates a new instance.
<p><code>lutCube</code> needs to be a <code>N x N x N</code> cube and each element is an integer
representing a color using the <a href="https://developer.android.com/reference/android/graphics/Bitmap.Config.html#ARGB_8888" title="class or interface in android.graphics" class="externalLink" target="_top"><code>Bitmap.Config.ARGB_8888</code></a> format.</div>
</li>
</ul>
<a id="createFromBitmap(android.graphics.Bitmap)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createFromBitmap</h4>
<pre class="methodSignature">public static&nbsp;<a href="SingleColorLut.html" title="class in com.google.android.exoplayer2.effect">SingleColorLut</a>&nbsp;createFromBitmap&#8203;(<a href="https://developer.android.com/reference/android/graphics/Bitmap.html" title="class or interface in android.graphics" class="externalLink" target="_top">Bitmap</a>&nbsp;lut)</pre>
<div class="block">Creates a new instance.
<p>LUT needs to be a Bitmap of a flattened HALD image of width <code>N</code> and height <code>
N^2</code>. Each element must be an integer representing a color using the <a href="https://developer.android.com/reference/android/graphics/Bitmap.Config.html#ARGB_8888" title="class or interface in android.graphics" class="externalLink" target="_top"><code>Bitmap.Config.ARGB_8888</code></a> format.</div>
</li>
</ul>
<a id="getLutTextureId(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLutTextureId</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;getLutTextureId&#8203;(long&nbsp;presentationTimeUs)</pre>
<div class="block">Must be called after <a href="#toGlTextureProcessor(android.content.Context,boolean)"><code>toGlTextureProcessor(Context, boolean)</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="ColorLut.html#getLutTextureId(long)">getLutTextureId</a></code>&nbsp;in interface&nbsp;<code><a href="ColorLut.html" title="interface in com.google.android.exoplayer2.effect">ColorLut</a></code></dd>
</dl>
</li>
</ul>
<a id="getLength(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLength</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;getLength&#8203;(long&nbsp;presentationTimeUs)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="ColorLut.html#getLength(long)">ColorLut</a></code></span></div>
<div class="block">Returns the length N of the 3D N x N x N LUT cube with the given timestamp.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="ColorLut.html#getLength(long)">getLength</a></code>&nbsp;in interface&nbsp;<code><a href="ColorLut.html" title="interface in com.google.android.exoplayer2.effect">ColorLut</a></code></dd>
</dl>
</li>
</ul>
<a id="release()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>release</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;release()
throws <a href="../util/GlUtil.GlException.html" title="class in com.google.android.exoplayer2.util">GlUtil.GlException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="ColorLut.html#release()">ColorLut</a></code></span></div>
<div class="block">Releases the OpenGL texture of the LUT.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="ColorLut.html#release()">release</a></code>&nbsp;in interface&nbsp;<code><a href="ColorLut.html" title="interface in com.google.android.exoplayer2.effect">ColorLut</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../util/GlUtil.GlException.html" title="class in com.google.android.exoplayer2.util">GlUtil.GlException</a></code></dd>
</dl>
</li>
</ul>
<a id="toGlTextureProcessor(android.content.Context,boolean)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toGlTextureProcessor</h4>
<pre class="methodSignature">public&nbsp;<a href="SingleFrameGlTextureProcessor.html" title="class in com.google.android.exoplayer2.effect">SingleFrameGlTextureProcessor</a>&nbsp;toGlTextureProcessor&#8203;(<a href="https://developer.android.com/reference/android/content/Context.html" title="class or interface in android.content" class="externalLink" target="_top">Context</a>&nbsp;context,
boolean&nbsp;useHdr)
throws <a href="../util/FrameProcessingException.html" title="class in com.google.android.exoplayer2.util">FrameProcessingException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="ColorLut.html#toGlTextureProcessor(android.content.Context,boolean)">ColorLut</a></code></span></div>
<div class="block">This method must be executed on the same thread as other GL commands.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="ColorLut.html#toGlTextureProcessor(android.content.Context,boolean)">toGlTextureProcessor</a></code>&nbsp;in interface&nbsp;<code><a href="ColorLut.html" title="interface in com.google.android.exoplayer2.effect">ColorLut</a></code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="GlEffect.html#toGlTextureProcessor(android.content.Context,boolean)">toGlTextureProcessor</a></code>&nbsp;in interface&nbsp;<code><a href="GlEffect.html" title="interface in com.google.android.exoplayer2.effect">GlEffect</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<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>useHdr</code> - Whether input textures come from an HDR source. If <code>true</code>, colors will be
in linear RGB BT.2020. If <code>false</code>, colors will be in linear RGB BT.709.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../util/FrameProcessingException.html" title="class in com.google.android.exoplayer2.util">FrameProcessingException</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</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&nbsp;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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

View File

@ -0,0 +1,563 @@
<!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>SingleFrameGlTextureProcessor (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="SingleFrameGlTextureProcessor (ExoPlayer library)";
}
}
catch(err) {
}
//-->
var data = {"i0":6,"i1":6,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
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&nbsp;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:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</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>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.effect</a></div>
<h2 title="Class SingleFrameGlTextureProcessor" class="title">Class SingleFrameGlTextureProcessor</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>com.google.android.exoplayer2.effect.SingleFrameGlTextureProcessor</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="GlTextureProcessor.html" title="interface in com.google.android.exoplayer2.effect">GlTextureProcessor</a></code></dd>
</dl>
<hr>
<pre>public abstract class <span class="typeNameLabel">SingleFrameGlTextureProcessor</span>
extends <a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a>
implements <a href="GlTextureProcessor.html" title="interface in com.google.android.exoplayer2.effect">GlTextureProcessor</a></pre>
<div class="block">Manages a GLSL shader program for processing a frame. Implementations generally copy input pixels
into an output frame, with changes to pixels specific to the implementation.
<p><code>SingleFrameGlTextureProcessor</code> implementations must produce exactly one output frame
per input frame with the same presentation timestamp. For more flexibility, implement <a href="GlTextureProcessor.html" title="interface in com.google.android.exoplayer2.effect"><code>GlTextureProcessor</code></a> directly.
<p>All methods in this class must be called on the thread that owns the OpenGL context.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.com.google.android.exoplayer2.effect.GlTextureProcessor">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;com.google.android.exoplayer2.effect.<a href="GlTextureProcessor.html" title="interface in com.google.android.exoplayer2.effect">GlTextureProcessor</a></h3>
<code><a href="GlTextureProcessor.ErrorListener.html" title="interface in com.google.android.exoplayer2.effect">GlTextureProcessor.ErrorListener</a>, <a href="GlTextureProcessor.InputListener.html" title="interface in com.google.android.exoplayer2.effect">GlTextureProcessor.InputListener</a>, <a href="GlTextureProcessor.OutputListener.html" title="interface in com.google.android.exoplayer2.effect">GlTextureProcessor.OutputListener</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(boolean)">SingleFrameGlTextureProcessor</a></span>&#8203;(boolean&nbsp;useHdr)</code></th>
<td class="colLast">
<div class="block">Creates a <code>SingleFrameGlTextureProcessor</code> instance.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>abstract <a href="https://developer.android.com/reference/android/util/Pair.html" title="class or interface in android.util" class="externalLink">Pair</a>&lt;<a href="https://developer.android.com/reference/java/lang/Integer.html?is-external=true" title="class or interface in java.lang" class="externalLink">Integer</a>,&#8203;<a href="https://developer.android.com/reference/java/lang/Integer.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#configure(int,int)">configure</a></span>&#8203;(int&nbsp;inputWidth,
int&nbsp;inputHeight)</code></th>
<td class="colLast">
<div class="block">Configures the texture processor based on the input dimensions.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#drawFrame(int,long)">drawFrame</a></span>&#8203;(int&nbsp;inputTexId,
long&nbsp;presentationTimeUs)</code></th>
<td class="colLast">
<div class="block">Draws one frame.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#queueInputFrame(com.google.android.exoplayer2.effect.TextureInfo,long)">queueInputFrame</a></span>&#8203;(<a href="TextureInfo.html" title="class in com.google.android.exoplayer2.effect">TextureInfo</a>&nbsp;inputTexture,
long&nbsp;presentationTimeUs)</code></th>
<td class="colLast">
<div class="block">Processes an input frame if possible.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#release()">release</a></span>()</code></th>
<td class="colLast">
<div class="block">Releases all resources.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#releaseOutputFrame(com.google.android.exoplayer2.effect.TextureInfo)">releaseOutputFrame</a></span>&#8203;(<a href="TextureInfo.html" title="class in com.google.android.exoplayer2.effect">TextureInfo</a>&nbsp;outputTexture)</code></th>
<td class="colLast">
<div class="block">Notifies the texture processor that the frame on the given output texture is no longer used and
can be overwritten.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setErrorListener(com.google.android.exoplayer2.effect.GlTextureProcessor.ErrorListener)">setErrorListener</a></span>&#8203;(<a href="GlTextureProcessor.ErrorListener.html" title="interface in com.google.android.exoplayer2.effect">GlTextureProcessor.ErrorListener</a>&nbsp;errorListener)</code></th>
<td class="colLast">
<div class="block">Sets the <a href="GlTextureProcessor.ErrorListener.html" title="interface in com.google.android.exoplayer2.effect"><code>GlTextureProcessor.ErrorListener</code></a>.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setInputListener(com.google.android.exoplayer2.effect.GlTextureProcessor.InputListener)">setInputListener</a></span>&#8203;(<a href="GlTextureProcessor.InputListener.html" title="interface in com.google.android.exoplayer2.effect">GlTextureProcessor.InputListener</a>&nbsp;inputListener)</code></th>
<td class="colLast">
<div class="block">Sets the <a href="GlTextureProcessor.InputListener.html" title="interface in com.google.android.exoplayer2.effect"><code>GlTextureProcessor.InputListener</code></a>.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setOutputListener(com.google.android.exoplayer2.effect.GlTextureProcessor.OutputListener)">setOutputListener</a></span>&#8203;(<a href="GlTextureProcessor.OutputListener.html" title="interface in com.google.android.exoplayer2.effect">GlTextureProcessor.OutputListener</a>&nbsp;outputListener)</code></th>
<td class="colLast">
<div class="block">Sets the <a href="GlTextureProcessor.OutputListener.html" title="interface in com.google.android.exoplayer2.effect"><code>GlTextureProcessor.OutputListener</code></a>.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#signalEndOfCurrentInputStream()">signalEndOfCurrentInputStream</a></span>()</code></th>
<td class="colLast">
<div class="block">Notifies the <code>GlTextureProcessor</code> that no further input frames belonging to the current
input stream will be queued.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></h3>
<code><a href="https://developer.android.com/reference/java/lang/Object.html#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink" target="_top">wait</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;(boolean)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SingleFrameGlTextureProcessor</h4>
<pre>public&nbsp;SingleFrameGlTextureProcessor&#8203;(boolean&nbsp;useHdr)</pre>
<div class="block">Creates a <code>SingleFrameGlTextureProcessor</code> instance.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>useHdr</code> - Whether input textures come from an HDR source. If <code>true</code>, colors will be
in linear RGB BT.2020. If <code>false</code>, colors will be in linear RGB BT.709.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="configure(int,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>configure</h4>
<pre class="methodSignature">public abstract&nbsp;<a href="https://developer.android.com/reference/android/util/Pair.html" title="class or interface in android.util" class="externalLink">Pair</a>&lt;<a href="https://developer.android.com/reference/java/lang/Integer.html?is-external=true" title="class or interface in java.lang" class="externalLink">Integer</a>,&#8203;<a href="https://developer.android.com/reference/java/lang/Integer.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_top">Integer</a>&gt;&nbsp;configure&#8203;(int&nbsp;inputWidth,
int&nbsp;inputHeight)</pre>
<div class="block">Configures the texture processor based on the input dimensions.
<p>This method must be called before <a href="#drawFrame(int,long)">drawing</a> the first frame
and before drawing subsequent frames with different input dimensions.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>inputWidth</code> - The input width, in pixels.</dd>
<dd><code>inputHeight</code> - The input height, in pixels.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The output width and height of frames processed through <a href="#drawFrame(int,long)"><code>drawFrame(int, long)</code></a>.</dd>
</dl>
</li>
</ul>
<a id="drawFrame(int,long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>drawFrame</h4>
<pre class="methodSignature">public abstract&nbsp;void&nbsp;drawFrame&#8203;(int&nbsp;inputTexId,
long&nbsp;presentationTimeUs)
throws <a href="../util/FrameProcessingException.html" title="class in com.google.android.exoplayer2.util">FrameProcessingException</a></pre>
<div class="block">Draws one frame.
<p>This method may only be called after the texture processor has been <a href="#configure(int,int)"><code>configured</code></a>. The caller is responsible for focussing the correct render target before
calling this method.
<p>A minimal implementation should tell OpenGL to use its shader program, bind the shader
program's vertex attributes and uniforms, and issue a drawing command.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>inputTexId</code> - Identifier of a 2D OpenGL texture containing the input frame.</dd>
<dd><code>presentationTimeUs</code> - The presentation timestamp of the current frame, in microseconds.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../util/FrameProcessingException.html" title="class in com.google.android.exoplayer2.util">FrameProcessingException</a></code> - If an error occurs while processing or drawing the frame.</dd>
</dl>
</li>
</ul>
<a id="setInputListener(com.google.android.exoplayer2.effect.GlTextureProcessor.InputListener)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setInputListener</h4>
<pre class="methodSignature">public final&nbsp;void&nbsp;setInputListener&#8203;(<a href="GlTextureProcessor.InputListener.html" title="interface in com.google.android.exoplayer2.effect">GlTextureProcessor.InputListener</a>&nbsp;inputListener)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="GlTextureProcessor.html#setInputListener(com.google.android.exoplayer2.effect.GlTextureProcessor.InputListener)">GlTextureProcessor</a></code></span></div>
<div class="block">Sets the <a href="GlTextureProcessor.InputListener.html" title="interface in com.google.android.exoplayer2.effect"><code>GlTextureProcessor.InputListener</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="GlTextureProcessor.html#setInputListener(com.google.android.exoplayer2.effect.GlTextureProcessor.InputListener)">setInputListener</a></code>&nbsp;in interface&nbsp;<code><a href="GlTextureProcessor.html" title="interface in com.google.android.exoplayer2.effect">GlTextureProcessor</a></code></dd>
</dl>
</li>
</ul>
<a id="setOutputListener(com.google.android.exoplayer2.effect.GlTextureProcessor.OutputListener)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setOutputListener</h4>
<pre class="methodSignature">public final&nbsp;void&nbsp;setOutputListener&#8203;(<a href="GlTextureProcessor.OutputListener.html" title="interface in com.google.android.exoplayer2.effect">GlTextureProcessor.OutputListener</a>&nbsp;outputListener)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="GlTextureProcessor.html#setOutputListener(com.google.android.exoplayer2.effect.GlTextureProcessor.OutputListener)">GlTextureProcessor</a></code></span></div>
<div class="block">Sets the <a href="GlTextureProcessor.OutputListener.html" title="interface in com.google.android.exoplayer2.effect"><code>GlTextureProcessor.OutputListener</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="GlTextureProcessor.html#setOutputListener(com.google.android.exoplayer2.effect.GlTextureProcessor.OutputListener)">setOutputListener</a></code>&nbsp;in interface&nbsp;<code><a href="GlTextureProcessor.html" title="interface in com.google.android.exoplayer2.effect">GlTextureProcessor</a></code></dd>
</dl>
</li>
</ul>
<a id="setErrorListener(com.google.android.exoplayer2.effect.GlTextureProcessor.ErrorListener)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setErrorListener</h4>
<pre class="methodSignature">public final&nbsp;void&nbsp;setErrorListener&#8203;(<a href="GlTextureProcessor.ErrorListener.html" title="interface in com.google.android.exoplayer2.effect">GlTextureProcessor.ErrorListener</a>&nbsp;errorListener)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="GlTextureProcessor.html#setErrorListener(com.google.android.exoplayer2.effect.GlTextureProcessor.ErrorListener)">GlTextureProcessor</a></code></span></div>
<div class="block">Sets the <a href="GlTextureProcessor.ErrorListener.html" title="interface in com.google.android.exoplayer2.effect"><code>GlTextureProcessor.ErrorListener</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="GlTextureProcessor.html#setErrorListener(com.google.android.exoplayer2.effect.GlTextureProcessor.ErrorListener)">setErrorListener</a></code>&nbsp;in interface&nbsp;<code><a href="GlTextureProcessor.html" title="interface in com.google.android.exoplayer2.effect">GlTextureProcessor</a></code></dd>
</dl>
</li>
</ul>
<a id="queueInputFrame(com.google.android.exoplayer2.effect.TextureInfo,long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>queueInputFrame</h4>
<pre class="methodSignature">public final&nbsp;void&nbsp;queueInputFrame&#8203;(<a href="TextureInfo.html" title="class in com.google.android.exoplayer2.effect">TextureInfo</a>&nbsp;inputTexture,
long&nbsp;presentationTimeUs)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="GlTextureProcessor.html#queueInputFrame(com.google.android.exoplayer2.effect.TextureInfo,long)">GlTextureProcessor</a></code></span></div>
<div class="block">Processes an input frame if possible.
<p>The <code>GlTextureProcessor</code> owns the accepted frame until it calls <a href="GlTextureProcessor.InputListener.html#onInputFrameProcessed(com.google.android.exoplayer2.effect.TextureInfo)"><code>GlTextureProcessor.InputListener.onInputFrameProcessed(TextureInfo)</code></a>. The caller should not overwrite or release
the texture before the <code>GlTextureProcessor</code> has finished processing it.
<p>This method must only be called when the <code>GlTextureProcessor</code> can <a href="GlTextureProcessor.InputListener.html#onReadyToAcceptInputFrame()">accept an input frame</a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="GlTextureProcessor.html#queueInputFrame(com.google.android.exoplayer2.effect.TextureInfo,long)">queueInputFrame</a></code>&nbsp;in interface&nbsp;<code><a href="GlTextureProcessor.html" title="interface in com.google.android.exoplayer2.effect">GlTextureProcessor</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>inputTexture</code> - A <a href="TextureInfo.html" title="class in com.google.android.exoplayer2.effect"><code>TextureInfo</code></a> describing the texture containing the input frame.</dd>
<dd><code>presentationTimeUs</code> - The presentation timestamp of the input frame, in microseconds.</dd>
</dl>
</li>
</ul>
<a id="releaseOutputFrame(com.google.android.exoplayer2.effect.TextureInfo)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>releaseOutputFrame</h4>
<pre class="methodSignature">public final&nbsp;void&nbsp;releaseOutputFrame&#8203;(<a href="TextureInfo.html" title="class in com.google.android.exoplayer2.effect">TextureInfo</a>&nbsp;outputTexture)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="GlTextureProcessor.html#releaseOutputFrame(com.google.android.exoplayer2.effect.TextureInfo)">GlTextureProcessor</a></code></span></div>
<div class="block">Notifies the texture processor that the frame on the given output texture is no longer used and
can be overwritten.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="GlTextureProcessor.html#releaseOutputFrame(com.google.android.exoplayer2.effect.TextureInfo)">releaseOutputFrame</a></code>&nbsp;in interface&nbsp;<code><a href="GlTextureProcessor.html" title="interface in com.google.android.exoplayer2.effect">GlTextureProcessor</a></code></dd>
</dl>
</li>
</ul>
<a id="signalEndOfCurrentInputStream()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>signalEndOfCurrentInputStream</h4>
<pre class="methodSignature">public final&nbsp;void&nbsp;signalEndOfCurrentInputStream()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="GlTextureProcessor.html#signalEndOfCurrentInputStream()">GlTextureProcessor</a></code></span></div>
<div class="block">Notifies the <code>GlTextureProcessor</code> that no further input frames belonging to the current
input stream will be queued.
<p>Input frames that are queued after this method is called belong to a different input stream,
so presentation timestamps may reset to start from a smaller presentation timestamp than the
last frame of the previous input stream.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="GlTextureProcessor.html#signalEndOfCurrentInputStream()">signalEndOfCurrentInputStream</a></code>&nbsp;in interface&nbsp;<code><a href="GlTextureProcessor.html" title="interface in com.google.android.exoplayer2.effect">GlTextureProcessor</a></code></dd>
</dl>
</li>
</ul>
<a id="release()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>release</h4>
<pre class="methodSignature">@CallSuper
public&nbsp;void&nbsp;release()
throws <a href="../util/FrameProcessingException.html" title="class in com.google.android.exoplayer2.util">FrameProcessingException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="GlTextureProcessor.html#release()">GlTextureProcessor</a></code></span></div>
<div class="block">Releases all resources.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="GlTextureProcessor.html#release()">release</a></code>&nbsp;in interface&nbsp;<code><a href="GlTextureProcessor.html" title="interface in com.google.android.exoplayer2.effect">GlTextureProcessor</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../util/FrameProcessingException.html" title="class in com.google.android.exoplayer2.util">FrameProcessingException</a></code> - If an error occurs while releasing resources.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</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&nbsp;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:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show More