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
description: What version of ExoPlayer are you using?
options:
- 2.18.2
- 2.18.1
- 2.18.0
- 2.17.1

View File

@ -1,5 +1,113 @@
# 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)
This release corresponds to the

View File

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

View File

@ -35,6 +35,7 @@
android:largeHeap="true"
android:allowBackup="false"
android:requestLegacyExternalStorage="true"
android:supportsRtl="true"
android:name="androidx.multidex.MultiDexApplication"
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.Intent;
import android.content.pm.PackageManager;
import android.graphics.Color;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
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_VIDEO = "should_remove_video";
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 VIDEO_MIME_TYPE = "video_mime_type";
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 ENABLE_FALLBACK = "enable_fallback";
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 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_Y = "periodic_vignette_center_y";
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_SATURATION = "hsl_adjustments_saturation";
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_INVERTED = 1;
public static final int COLOR_FILTER_SEPIA = 2;
public static final int FILE_PERMISSION_REQUEST_CODE = 1;
private static final String[] PRESET_FILE_URIS = {
"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/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/sample_video_track_only.mp4",
};
private static final String[] PRESET_FILE_URI_DESCRIPTIONS = { // same order as PRESET_FILE_URIS
"720p H264 video and AAC audio",
@ -118,8 +152,12 @@ public final class ConfigurationActivity extends AppCompatActivity {
"480p DASH (non-square pixels)",
"HDR (HDR10) 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",
"Edge detector (Media Pipe)",
"Color filters",
@ -129,24 +167,40 @@ public final class ConfigurationActivity extends AppCompatActivity {
"Contrast",
"Periodic vignette",
"3D spin",
"Overlay logo & timer",
"Zoom in start",
"Overlay logo & timer",
"Custom Bitmap Overlay",
"Custom Text Overlay",
};
private static final ImmutableMap<String, @TransformationRequest.HdrMode Integer>
HDR_MODE_DESCRIPTIONS =
new ImmutableMap.Builder<String, @TransformationRequest.HdrMode Integer>()
.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(
"Force Interpret HDR as SDR",
TransformationRequest.HDR_MODE_EXPERIMENTAL_FORCE_INTERPRET_HDR_AS_SDR)
.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 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 @MonotonicNonNull ActivityResultLauncher<Intent> localFilePickerLauncher;
@ -156,6 +210,7 @@ public final class ConfigurationActivity extends AppCompatActivity {
private @MonotonicNonNull CheckBox removeAudioCheckbox;
private @MonotonicNonNull CheckBox removeVideoCheckbox;
private @MonotonicNonNull CheckBox flattenForSlowMotionCheckbox;
private @MonotonicNonNull CheckBox forceSilentAudioCheckbox;
private @MonotonicNonNull Spinner audioMimeSpinner;
private @MonotonicNonNull Spinner videoMimeSpinner;
private @MonotonicNonNull Spinner resolutionHeightSpinner;
@ -164,9 +219,12 @@ public final class ConfigurationActivity extends AppCompatActivity {
private @MonotonicNonNull CheckBox trimCheckBox;
private @MonotonicNonNull CheckBox enableFallbackCheckBox;
private @MonotonicNonNull CheckBox enableDebugPreviewCheckBox;
private @MonotonicNonNull CheckBox abortSlowTransformationCheckBox;
private @MonotonicNonNull Spinner hdrModeSpinner;
private @MonotonicNonNull Button selectDemoEffectsButton;
private boolean @MonotonicNonNull [] demoEffectsSelections;
private @MonotonicNonNull Button selectAudioEffectsButton;
private @MonotonicNonNull Button selectVideoEffectsButton;
private boolean @MonotonicNonNull [] audioEffectsSelections;
private boolean @MonotonicNonNull [] videoEffectsSelections;
private @Nullable Uri localFileUri;
private int inputUriPosition;
private long trimStartMs;
@ -183,6 +241,11 @@ public final class ConfigurationActivity extends AppCompatActivity {
private float periodicVignetteCenterY;
private float periodicVignetteInnerRadius;
private float periodicVignetteOuterRadius;
private @MonotonicNonNull String bitmapOverlayUri;
private float bitmapOverlayAlpha;
private @MonotonicNonNull String textOverlayText;
private int textOverlayTextColor;
private float textOverlayAlpha;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
@ -191,7 +254,11 @@ public final class ConfigurationActivity extends AppCompatActivity {
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.setText(PRESET_FILE_URI_DESCRIPTIONS[inputUriPosition]);
@ -202,11 +269,9 @@ public final class ConfigurationActivity extends AppCompatActivity {
removeVideoCheckbox = findViewById(R.id.remove_video_checkbox);
removeVideoCheckbox.setOnClickListener(this::onRemoveVideo);
selectPresetFileButton = findViewById(R.id.select_preset_file_button);
selectPresetFileButton.setOnClickListener(this::selectPresetFile);
flattenForSlowMotionCheckbox = findViewById(R.id.flatten_for_slow_motion_checkbox);
selectLocalFileButton = findViewById(R.id.select_local_file_button);
selectLocalFileButton.setOnClickListener(this::selectLocalFile);
forceSilentAudioCheckbox = findViewById(R.id.force_silent_audio_checkbox);
ArrayAdapter<String> audioMimeAdapter =
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);
enableDebugPreviewCheckBox = findViewById(R.id.enable_debug_preview_checkbox);
abortSlowTransformationCheckBox = findViewById(R.id.abort_slow_transformation_checkbox);
ArrayAdapter<String> hdrModeAdapter =
new ArrayAdapter<>(/* context= */ this, R.layout.spinner_item);
hdrModeAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
@ -264,9 +331,13 @@ public final class ConfigurationActivity extends AppCompatActivity {
hdrModeSpinner.setAdapter(hdrModeAdapter);
hdrModeAdapter.addAll(HDR_MODE_DESCRIPTIONS.keySet());
demoEffectsSelections = new boolean[DEMO_EFFECTS.length];
selectDemoEffectsButton = findViewById(R.id.select_demo_effects_button);
selectDemoEffectsButton.setOnClickListener(this::selectDemoEffects);
audioEffectsSelections = new boolean[AUDIO_EFFECTS.length];
selectAudioEffectsButton = findViewById(R.id.select_audio_effects_button);
selectAudioEffectsButton.setOnClickListener(this::selectAudioEffects);
videoEffectsSelections = new boolean[VIDEO_EFFECTS.length];
selectVideoEffectsButton = findViewById(R.id.select_video_effects_button);
selectVideoEffectsButton.setOnClickListener(this::selectVideoEffects);
localFilePickerLauncher =
registerForActivityResult(
@ -311,6 +382,7 @@ public final class ConfigurationActivity extends AppCompatActivity {
"removeAudioCheckbox",
"removeVideoCheckbox",
"flattenForSlowMotionCheckbox",
"forceSilentAudioCheckbox",
"audioMimeSpinner",
"videoMimeSpinner",
"resolutionHeightSpinner",
@ -319,8 +391,10 @@ public final class ConfigurationActivity extends AppCompatActivity {
"trimCheckBox",
"enableFallbackCheckBox",
"enableDebugPreviewCheckBox",
"abortSlowTransformationCheckBox",
"hdrModeSpinner",
"demoEffectsSelections"
"audioEffectsSelections",
"videoEffectsSelections"
})
private void startTransformation(View view) {
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_VIDEO, removeVideoCheckbox.isChecked());
bundle.putBoolean(SHOULD_FLATTEN_FOR_SLOW_MOTION, flattenForSlowMotionCheckbox.isChecked());
bundle.putBoolean(FORCE_SILENT_AUDIO, forceSilentAudioCheckbox.isChecked());
String selectedAudioMimeType = String.valueOf(audioMimeSpinner.getSelectedItem());
if (!SAME_AS_INPUT_OPTION.equals(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_DEBUG_PREVIEW, enableDebugPreviewCheckBox.isChecked());
bundle.putBoolean(ABORT_SLOW_TRANSFORMATION, abortSlowTransformationCheckBox.isChecked());
String selectedhdrMode = String.valueOf(hdrModeSpinner.getSelectedItem());
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.putFloat(CONTRAST_VALUE, contrastValue);
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_INNER_RADIUS, periodicVignetteInnerRadius);
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);
@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)
.setTitle(R.string.select_demo_effects)
.setTitle(R.string.select_audio_effects)
.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)
.create()
.show();
@ -463,9 +555,14 @@ public final class ConfigurationActivity extends AppCompatActivity {
.show();
}
@RequiresNonNull("demoEffectsSelections")
private void selectDemoEffect(DialogInterface dialog, int which, boolean isChecked) {
demoEffectsSelections[which] = isChecked;
@RequiresNonNull("audioEffectsSelections")
private void selectAudioEffect(DialogInterface dialog, int which, boolean isChecked) {
audioEffectsSelections[which] = isChecked;
}
@RequiresNonNull("videoEffectsSelections")
private void selectVideoEffect(DialogInterface dialog, int which, boolean isChecked) {
videoEffectsSelections[which] = isChecked;
if (!isChecked) {
return;
}
@ -486,6 +583,12 @@ public final class ConfigurationActivity extends AppCompatActivity {
case PERIODIC_VIGNETTE_INDEX:
controlPeriodicVignetteSettings();
break;
case BITMAP_OVERLAY_INDEX:
controlBitmapOverlaySettings();
break;
case TEXT_OVERLAY_INDEX:
controlTextOverlaySettings();
break;
}
}
@ -588,8 +691,54 @@ public final class ConfigurationActivity extends AppCompatActivity {
.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({
"removeVideoCheckbox",
"forceSilentAudioCheckbox",
"audioMimeSpinner",
"videoMimeSpinner",
"resolutionHeightSpinner",
@ -597,7 +746,8 @@ public final class ConfigurationActivity extends AppCompatActivity {
"rotateSpinner",
"enableDebugPreviewCheckBox",
"hdrModeSpinner",
"selectDemoEffectsButton"
"selectAudioEffectsButton",
"selectVideoEffectsButton"
})
private void onRemoveAudio(View view) {
if (((CheckBox) view).isChecked()) {
@ -610,6 +760,7 @@ public final class ConfigurationActivity extends AppCompatActivity {
@RequiresNonNull({
"removeAudioCheckbox",
"forceSilentAudioCheckbox",
"audioMimeSpinner",
"videoMimeSpinner",
"resolutionHeightSpinner",
@ -617,7 +768,8 @@ public final class ConfigurationActivity extends AppCompatActivity {
"rotateSpinner",
"enableDebugPreviewCheckBox",
"hdrModeSpinner",
"selectDemoEffectsButton"
"selectAudioEffectsButton",
"selectVideoEffectsButton"
})
private void onRemoveVideo(View view) {
if (((CheckBox) view).isChecked()) {
@ -629,6 +781,7 @@ public final class ConfigurationActivity extends AppCompatActivity {
}
@RequiresNonNull({
"forceSilentAudioCheckbox",
"audioMimeSpinner",
"videoMimeSpinner",
"resolutionHeightSpinner",
@ -636,9 +789,11 @@ public final class ConfigurationActivity extends AppCompatActivity {
"rotateSpinner",
"enableDebugPreviewCheckBox",
"hdrModeSpinner",
"selectDemoEffectsButton"
"selectAudioEffectsButton",
"selectVideoEffectsButton"
})
private void enableTrackSpecificOptions(boolean isAudioEnabled, boolean isVideoEnabled) {
forceSilentAudioCheckbox.setEnabled(isVideoEnabled);
audioMimeSpinner.setEnabled(isAudioEnabled);
videoMimeSpinner.setEnabled(isVideoEnabled);
resolutionHeightSpinner.setEnabled(isVideoEnabled);
@ -646,7 +801,8 @@ public final class ConfigurationActivity extends AppCompatActivity {
rotateSpinner.setEnabled(isVideoEnabled);
enableDebugPreviewCheckBox.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.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.opengl.GLES20;
import android.util.Pair;
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 com.google.android.exoplayer2.util.Size;
import java.io.IOException;
/**
@ -90,8 +90,8 @@ import java.io.IOException;
}
@Override
public Pair<Integer, Integer> configure(int inputWidth, int inputHeight) {
return Pair.create(inputWidth, inputHeight);
public Size configure(int inputWidth, int inputHeight) {
return new Size(inputWidth, inputHeight);
}
@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;
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.checkState;
import static com.google.android.exoplayer2.util.Assertions.checkStateNotNull;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.opengl.Matrix;
import android.os.Bundle;
import android.os.Handler;
import android.text.Spannable;
import android.text.SpannableString;
import android.text.style.ForegroundColorSpan;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
@ -40,15 +47,25 @@ import androidx.appcompat.app.AppCompatActivity;
import com.google.android.exoplayer2.C;
import com.google.android.exoplayer2.ExoPlayer;
import com.google.android.exoplayer2.MediaItem;
import com.google.android.exoplayer2.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.DrawableOverlay;
import com.google.android.exoplayer2.effect.GlEffect;
import com.google.android.exoplayer2.effect.GlTextureProcessor;
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.RgbFilter;
import com.google.android.exoplayer2.effect.RgbMatrix;
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.DefaultMuxer;
import com.google.android.exoplayer2.transformer.ProgressHolder;
import com.google.android.exoplayer2.transformer.TransformationException;
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.DebugViewProvider;
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.Util;
import com.google.android.material.card.MaterialCardView;
@ -179,19 +197,24 @@ public final class TransformerActivity extends AppCompatActivity {
Uri uri = checkNotNull(intent.getData());
try {
externalCacheFile = createExternalCacheFile("transformer-output.mp4");
String filePath = externalCacheFile.getAbsolutePath();
@Nullable Bundle bundle = intent.getExtras();
MediaItem mediaItem = createMediaItem(bundle, uri);
} catch (IOException e) {
throw new IllegalStateException(e);
}
String filePath = externalCacheFile.getAbsolutePath();
@Nullable Bundle bundle = intent.getExtras();
MediaItem mediaItem = createMediaItem(bundle, uri);
try {
Transformer transformer = createTransformer(bundle, filePath);
transformationStopwatch.start();
transformer.startTransformation(mediaItem, filePath);
this.transformer = transformer;
} catch (IOException e) {
} catch (PackageManager.NameNotFoundException e) {
throw new IllegalStateException(e);
}
informationTextView.setText(R.string.transformation_started);
inputCardView.setVisibility(View.GONE);
outputPlayerView.setVisibility(View.GONE);
informationTextView.setText(R.string.transformation_started);
progressViewGroup.setVisibility(View.VISIBLE);
Handler mainHandler = new Handler(getMainLooper());
ProgressHolder progressHolder = new ProgressHolder();
mainHandler.post(
@ -199,8 +222,7 @@ public final class TransformerActivity extends AppCompatActivity {
@Override
public void run() {
if (transformer != null
&& transformer.getProgress(progressHolder)
!= Transformer.PROGRESS_STATE_NO_TRANSFORMATION) {
&& transformer.getProgress(progressHolder) != PROGRESS_STATE_NOT_STARTED) {
progressIndicator.setProgress(progressHolder.progress);
informationTextView.setText(
getString(
@ -241,7 +263,8 @@ public final class TransformerActivity extends AppCompatActivity {
"progressViewGroup",
"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);
if (bundle != null) {
TransformationRequest.Builder requestBuilder = new TransformationRequest.Builder();
@ -274,29 +297,40 @@ public final class TransformerActivity extends AppCompatActivity {
.setTransformationRequest(requestBuilder.build())
.setRemoveAudio(bundle.getBoolean(ConfigurationActivity.SHOULD_REMOVE_AUDIO))
.setRemoveVideo(bundle.getBoolean(ConfigurationActivity.SHOULD_REMOVE_VIDEO))
.experimentalSetForceSilentAudio(
bundle.getBoolean(ConfigurationActivity.FORCE_SILENT_AUDIO))
.setEncoderFactory(
new DefaultEncoderFactory.Builder(this.getApplicationContext())
.setEnableFallback(bundle.getBoolean(ConfigurationActivity.ENABLE_FALLBACK))
.build());
transformerBuilder.setVideoEffects(createVideoEffectsListFromBundle(bundle));
transformerBuilder.setAudioProcessors(createAudioProcessorsFromBundle(bundle));
transformerBuilder.setVideoEffects(createVideoEffectsFromBundle(bundle));
if (bundle.getBoolean(ConfigurationActivity.ENABLE_DEBUG_PREVIEW)) {
transformerBuilder.setDebugViewProvider(new DemoDebugViewProvider());
}
if (!bundle.getBoolean(ConfigurationActivity.ABORT_SLOW_TRANSFORMATION)) {
transformerBuilder.setMuxerFactory(
new DefaultMuxer.Factory(/* maxDelayBetweenSamplesMs= */ C.TIME_UNSET));
}
}
return transformerBuilder
.addListener(
new Transformer.Listener() {
@Override
public void onTransformationCompleted(
MediaItem mediaItem, TransformationResult transformationResult) {
MediaItem mediaItem, TransformationResult result) {
TransformerActivity.this.onTransformationCompleted(filePath, mediaItem);
}
@Override
public void onTransformationError(
MediaItem mediaItem, TransformationException exception) {
MediaItem mediaItem,
TransformationResult result,
TransformationException exception) {
TransformerActivity.this.onTransformationError(exception);
}
})
@ -315,18 +349,48 @@ public final class TransformerActivity extends AppCompatActivity {
return file;
}
private ImmutableList<Effect> createVideoEffectsListFromBundle(Bundle bundle) {
private ImmutableList<AudioProcessor> createAudioProcessorsFromBundle(Bundle bundle) {
@Nullable
boolean[] selectedEffects =
bundle.getBooleanArray(ConfigurationActivity.DEMO_EFFECTS_SELECTIONS);
if (selectedEffects == null) {
boolean[] selectedAudioEffects =
bundle.getBooleanArray(ConfigurationActivity.AUDIO_EFFECTS_SELECTIONS);
if (selectedAudioEffects == null) {
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<>();
if (selectedEffects[0]) {
if (selectedEffects[ConfigurationActivity.DIZZY_CROP_INDEX]) {
effects.add(MatrixTransformationFactory.createDizzyCropEffect());
}
if (selectedEffects[1]) {
if (selectedEffects[ConfigurationActivity.EDGE_DETECTOR_INDEX]) {
try {
Class<?> clazz =
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);
}
}
if (selectedEffects[2]) {
if (selectedEffects[ConfigurationActivity.COLOR_FILTERS_INDEX]) {
switch (bundle.getInt(ConfigurationActivity.COLOR_FILTER_SELECTION)) {
case ConfigurationActivity.COLOR_FILTER_GRAYSCALE:
effects.add(RgbFilter.createGrayscaleFilter());
@ -385,7 +449,7 @@ public final class TransformerActivity extends AppCompatActivity {
+ bundle.getInt(ConfigurationActivity.COLOR_FILTER_SELECTION));
}
}
if (selectedEffects[3]) {
if (selectedEffects[ConfigurationActivity.MAP_WHITE_TO_GREEN_LUT_INDEX]) {
int length = 3;
int[][][] mapWhiteToGreenLut = new int[length][length][length];
int scale = 255 / (length - 1);
@ -400,7 +464,7 @@ public final class TransformerActivity extends AppCompatActivity {
mapWhiteToGreenLut[length - 1][length - 1][length - 1] = Color.GREEN;
effects.add(SingleColorLut.createFromCube(mapWhiteToGreenLut));
}
if (selectedEffects[4]) {
if (selectedEffects[ConfigurationActivity.RGB_ADJUSTMENTS_INDEX]) {
effects.add(
new RgbAdjustment.Builder()
.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))
.build());
}
if (selectedEffects[5]) {
if (selectedEffects[ConfigurationActivity.HSL_ADJUSTMENT_INDEX]) {
effects.add(
new HslAdjustment.Builder()
.adjustHue(bundle.getFloat(ConfigurationActivity.HSL_ADJUSTMENTS_HUE))
@ -416,10 +480,10 @@ public final class TransformerActivity extends AppCompatActivity {
.adjustLightness(bundle.getFloat(ConfigurationActivity.HSL_ADJUSTMENTS_LIGHTNESS))
.build());
}
if (selectedEffects[6]) {
if (selectedEffects[ConfigurationActivity.CONTRAST_INDEX]) {
effects.add(new Contrast(bundle.getFloat(ConfigurationActivity.CONTRAST_VALUE)));
}
if (selectedEffects[7]) {
if (selectedEffects[ConfigurationActivity.PERIODIC_VIGNETTE_INDEX]) {
effects.add(
(GlEffect)
(Context context, boolean useHdr) ->
@ -434,18 +498,76 @@ public final class TransformerActivity extends AppCompatActivity {
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());
}
if (selectedEffects[9]) {
effects.add((GlEffect) BitmapOverlayProcessor::new);
}
if (selectedEffects[10]) {
if (selectedEffects[ConfigurationActivity.ZOOM_IN_INDEX]) {
effects.add(MatrixTransformationFactory.createZoomInTransition());
}
@Nullable OverlayEffect overlayEffect = createOverlayEffectFromBundle(bundle, selectedEffects);
if (overlayEffect != null) {
effects.add(overlayEffect);
}
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({
"informationTextView",
"progressViewGroup",
@ -453,7 +575,9 @@ public final class TransformerActivity extends AppCompatActivity {
"transformationStopwatch",
})
private void onTransformationError(TransformationException exception) {
transformationStopwatch.stop();
if (transformationStopwatch.isRunning()) {
transformationStopwatch.stop();
}
informationTextView.setText(R.string.transformation_error);
progressViewGroup.setVisibility(View.GONE);
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_constraintStart_toStartOf="parent"
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
android:layout_width="match_parent"
android:layout_height="wrap_content"
@ -112,6 +112,15 @@
android:id="@+id/flatten_for_slow_motion_checkbox"
android:layout_gravity="end" />
</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
android:layout_weight="1"
android:gravity="center_vertical" >
@ -197,6 +206,15 @@
android:layout_gravity="end"
android:checked="true"/>
</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
android:layout_weight="1"
android:gravity="center_vertical" >
@ -211,13 +229,24 @@
</TableLayout>
</androidx.core.widget.NestedScrollView>
<Button
android:id="@+id/select_demo_effects_button"
android:id="@+id/select_audio_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_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_constraintEnd_toEndOf="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="enable_fallback" translatable="false">Enable fallback</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="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="no_media_pipe_error" translatable="false">Failed to load MediaPipe processor. Check the README for instructions.</string>
<string name="transform" translatable="false">Transform</string>
@ -64,4 +66,11 @@
<string name="permission_denied">Permission Denied</string>
<string name="hide_input_video">Hide 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>

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.LibraryLoader;
import com.google.android.exoplayer2.util.Util;
import com.google.common.util.concurrent.MoreExecutors;
import com.google.mediapipe.components.FrameProcessor;
import com.google.mediapipe.framework.AppTextureFrame;
import com.google.mediapipe.framework.TextureFrame;
@ -37,6 +38,7 @@ import java.util.ArrayDeque;
import java.util.Queue;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Executor;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Future;
@ -74,6 +76,7 @@ import java.util.concurrent.Future;
private InputListener inputListener;
private OutputListener outputListener;
private ErrorListener errorListener;
private Executor errorListenerExecutor;
private boolean acceptedFrame;
/**
@ -110,6 +113,7 @@ import java.util.concurrent.Future;
inputListener = new InputListener() {};
outputListener = new OutputListener() {};
errorListener = (frameProcessingException) -> {};
errorListenerExecutor = MoreExecutors.directExecutor();
EglManager eglManager = new EglManager(EGL14.eglGetCurrentContext());
frameProcessor =
new FrameProcessor(
@ -145,10 +149,13 @@ import java.util.concurrent.Future;
}
@Override
public void setErrorListener(ErrorListener errorListener) {
public void setErrorListener(Executor executor, ErrorListener errorListener) {
this.errorListenerExecutor = executor;
this.errorListener = errorListener;
frameProcessor.setAsynchronousErrorListener(
error -> errorListener.onFrameProcessingError(new FrameProcessingException(error)));
error ->
errorListenerExecutor.execute(
() -> errorListener.onFrameProcessingError(new FrameProcessingException(error))));
}
@Override
@ -183,7 +190,8 @@ import java.util.concurrent.Future;
appTextureFrame.waitUntilReleasedWithGpuSync();
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
errorListener.onFrameProcessingError(new FrameProcessingException(e));
errorListenerExecutor.execute(
() -> errorListener.onFrameProcessingError(new FrameProcessingException(e)));
}
if (acceptedFrame) {
inputListener.onInputFrameProcessed(inputTexture);
@ -204,7 +212,10 @@ import java.util.concurrent.Future;
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
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();
try {
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) {
Thread.currentThread().interrupt();
errorListener.onFrameProcessingError(new FrameProcessingException(e));
errorListenerExecutor.execute(
() -> errorListener.onFrameProcessingError(new FrameProcessingException(e)));
}
frameProcessor.close();
@ -272,10 +287,12 @@ import java.util.concurrent.Future;
try {
futures.remove().get();
} catch (ExecutionException e) {
errorListener.onFrameProcessingError(new FrameProcessingException(e));
errorListenerExecutor.execute(
() -> errorListener.onFrameProcessingError(new FrameProcessingException(e)));
} catch (InterruptedException e) {
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.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/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.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>
@ -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/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/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/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>
@ -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/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/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/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>
@ -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/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/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/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>
@ -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.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/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/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>
@ -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/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.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.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>
@ -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/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.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/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>
@ -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/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/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/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>
@ -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/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/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/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>
@ -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/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/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.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.TextureImageListener.html" title="interface in com.google.android.exoplayer2.util"><span class="interfaceName">EGLSurfaceTexture.TextureImageListener</span></a></li>
<li><a href="com/google/android/exoplayer2/extractor/ts/ElementaryStreamReader.html" title="interface in com.google.android.exoplayer2.extractor.ts"><span class="interfaceName">ElementaryStreamReader</span></a></li>
<li><a href="com/google/android/exoplayer2/source/EmptySampleStream.html" title="class in com.google.android.exoplayer2.source">EmptySampleStream</a></li>
<li><a href="com/google/android/exoplayer2/transformer/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/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>
@ -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/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/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/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>
@ -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/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/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/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/GlEffect.html" title="interface in com.google.android.exoplayer2.effect"><span class="interfaceName">GlEffect</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/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.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>
@ -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/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/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.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>
@ -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/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/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/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>
@ -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/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/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.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>
@ -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/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/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.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>
@ -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.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/transformer/Presentation.html" title="class in com.google.android.exoplayer2.transformer">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/transformer/Presentation.Layout.html" title="annotation in com.google.android.exoplayer2.transformer">Presentation.Layout</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/effect/Presentation.Layout.html" title="annotation in com.google.android.exoplayer2.effect">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.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>
@ -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.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/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/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>
@ -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.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/transformer/ScaleToFitTransformation.html" title="class in com.google.android.exoplayer2.transformer">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.html" title="class in com.google.android.exoplayer2.effect">ScaleToFitTransformation</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/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>
@ -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.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/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/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>
@ -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/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/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/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/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/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/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>
@ -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/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/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.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>
@ -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/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/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/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>
@ -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/Transformer.html" title="class in com.google.android.exoplayer2.transformer">Transformer</a></li>
<li><a href="com/google/android/exoplayer2/transformer/Transformer.Builder.html" title="class in com.google.android.exoplayer2.transformer">Transformer.Builder</a></li>
<li><a href="com/google/android/exoplayer2/transformer/Transformer.DebugViewProvider.html" title="interface in com.google.android.exoplayer2.transformer"><span class="interfaceName">Transformer.DebugViewProvider</span></a></li>
<li><a href="com/google/android/exoplayer2/transformer/Transformer.Listener.html" title="interface in com.google.android.exoplayer2.transformer"><span class="interfaceName">Transformer.Listener</span></a></li>
<li><a href="com/google/android/exoplayer2/transformer/Transformer.ProgressState.html" title="annotation in com.google.android.exoplayer2.transformer">Transformer.ProgressState</a></li>
<li><a href="com/google/android/exoplayer2/extractor/TrueHdSampleRechunker.html" title="class in com.google.android.exoplayer2.extractor">TrueHdSampleRechunker</a></li>
@ -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/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/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/util/XmlPullParserUtil.html" title="class in com.google.android.exoplayer2.util">XmlPullParserUtil</a></li>
</ul>

View File

@ -128,302 +128,306 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<td class="colLast">&nbsp;</td>
</tr>
<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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<td class="colLast">&nbsp;</td>
</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>
<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 class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.com.google.android.exoplayer2.RendererCapabilities">
<!-- -->
</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>
<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>
</li>
</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/Target.html" title="class or interface in java.lang.annotation" class="externalLink">@Target</a>(<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#TYPE_USE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">TYPE_USE</a>)
public static @interface <span class="memberNameLabel">C.ColorSpace</span></pre>
<div class="block">Video colorspaces. One of <a href="Format.html#NO_VALUE"><code>Format.NO_VALUE</code></a>, <a href="C.html#COLOR_SPACE_BT709"><code>C.COLOR_SPACE_BT709</code></a>, <a href="C.html#COLOR_SPACE_BT601"><code>C.COLOR_SPACE_BT601</code></a> or <a href="C.html#COLOR_SPACE_BT2020"><code>C.COLOR_SPACE_BT2020</code></a>.</div>
<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>
</ul>
</div>

View File

@ -4262,20 +4262,6 @@ public static final&nbsp;int TYPE_OTHER</pre>
</dl>
</li>
</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>
@ -4290,6 +4276,20 @@ public static final&nbsp;int TYPE_OTHER</pre>
</dl>
</li>
</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>

View File

@ -290,7 +290,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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
by the media.
@ -309,7 +310,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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
by the media.
@ -328,7 +330,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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.
<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">
<li class="blockList">
<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.
<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">
<li class="blockList">
<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
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">
<li class="blockList">
<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
milliseconds.</div>
<dl>
@ -407,7 +413,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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
achieved during playback.

View File

@ -286,7 +286,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<dl>
<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">
<li class="blockList">
<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;bufferForPlaybackMs,
int&nbsp;bufferForPlaybackAfterRebufferMs)</pre>
@ -333,7 +335,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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
size will be calculated based on the selected tracks.</div>
<dl>
@ -352,7 +355,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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
constraints.</div>
<dl>
@ -372,7 +376,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<div class="block">Sets the back buffer duration, and whether the back buffer is retained from the previous
keyframe.</div>

View File

@ -569,7 +569,8 @@ implements <a href="RenderersFactory.html" title="interface in com.google.androi
<ul class="blockList">
<li class="blockList">
<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
used. Note that extensions must be included in the application build for them to be considered
available.
@ -589,7 +590,8 @@ implements <a href="RenderersFactory.html" title="interface in com.google.androi
<ul class="blockList">
<li class="blockList">
<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
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">
<li class="blockList">
<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
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>
@ -623,7 +626,8 @@ implements <a href="RenderersFactory.html" title="interface in com.google.androi
<ul class="blockList">
<li class="blockList">
<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.
<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">
<li class="blockList">
<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.
This may result in using a decoder that is less efficient or slower than the primary decoder.</div>
<dl>
@ -660,7 +665,8 @@ implements <a href="RenderersFactory.html" title="interface in com.google.androi
<ul class="blockList">
<li class="blockList">
<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.
<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">
<li class="blockList">
<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.
<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">
<li class="blockList">
<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.
<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">
<li class="blockList">
<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
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).
@ -751,7 +760,8 @@ implements <a href="RenderersFactory.html" title="interface in com.google.androi
<ul class="blockList">
<li class="blockList">
<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
playback.

View File

@ -25,7 +25,7 @@
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 altColor = "altColor";
var rowColor = "rowColor";
@ -151,12 +151,19 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</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="#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>
<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>
</td>
</tr>
<tr id="i1" class="rowColor">
<tr id="i2" class="altColor">
<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>
<td class="colLast">
@ -195,7 +202,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<a id="onExperimentalSleepingForOffloadChanged(boolean)">
<!-- -->
</a>
<ul class="blockListLast">
<ul class="blockList">
<li class="blockList">
<h4>onExperimentalSleepingForOffloadChanged</h4>
<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>
</li>
</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>
</ul>
</section>

View File

@ -587,7 +587,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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
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">
<li class="blockList">
<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>
<dl>
<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">
<li class="blockList">
<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>
<dl>
<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">
<li class="blockList">
<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>
<dl>
<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">
<li class="blockList">
<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>
<dl>
<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">
<li class="blockList">
<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>
<dl>
<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">
<li class="blockList">
<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
call listeners on.</div>
<dl>
@ -713,7 +720,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<h4>setAnalyticsCollector</h4>
<pre class="methodSignature">public&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>
<dl>
<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">
<li class="blockList">
<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>
<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">
<li class="blockList">
<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>
<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.
@ -775,7 +785,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<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">
<li class="blockList">
<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
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>
@ -823,7 +835,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<dl>
<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">
<li class="blockList">
<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>
<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">
<li class="blockList">
<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>
<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>.
@ -888,7 +903,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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.
<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">
<li class="blockList">
<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>
<dl>
<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">
<li class="blockList">
<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>
<div class="block">Sets the <a href="Player.html#seekBack()"><code>Player.seekBack()</code></a> increment.</div>
<dl>
@ -948,7 +966,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<div class="block">Sets the <a href="Player.html#seekForward()"><code>Player.seekForward()</code></a> increment.</div>
<dl>
@ -968,7 +987,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>.
<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">
<li class="blockList">
<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.
<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">
<li class="blockList">
<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.
<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">
<li class="blockList">
<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
live streams, in order to maintain a steady target offset from the live stream edge.</div>
<dl>
@ -1049,7 +1072,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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.
<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">
<li class="blockList">
<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
purposes.</div>
<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">
<li class="blockList">
<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>
<div class="block">Sets <a href="Format.html#id"><code>Format.id</code></a>. The default value is <code>null</code>.</div>
<dl>
@ -474,7 +475,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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
is <code>null</code>.</div>
<dl>
@ -491,7 +493,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<div class="block">Sets <a href="Format.html#label"><code>Format.label</code></a>. The default value is <code>null</code>.</div>
<dl>
@ -508,7 +511,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<div class="block">Sets <a href="Format.html#language"><code>Format.language</code></a>. The default value is <code>null</code>.</div>
<dl>
@ -525,7 +529,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<div class="block">Sets <a href="Format.html#selectionFlags"><code>Format.selectionFlags</code></a>. The default value is 0.</div>
<dl>
@ -542,7 +547,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<div class="block">Sets <a href="Format.html#roleFlags"><code>Format.roleFlags</code></a>. The default value is 0.</div>
<dl>
@ -559,7 +565,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<dl>
<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">
<li class="blockList">
<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>
<dl>
<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">
<li class="blockList">
<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>
<div class="block">Sets <a href="Format.html#codecs"><code>Format.codecs</code></a>. The default value is <code>null</code>.</div>
<dl>
@ -608,7 +617,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<div class="block">Sets <a href="Format.html#metadata"><code>Format.metadata</code></a>. The default value is <code>null</code>.</div>
<dl>
@ -625,7 +635,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<div class="block">Sets <a href="Format.html#containerMimeType"><code>Format.containerMimeType</code></a>. The default value is <code>null</code>.</div>
<dl>
@ -642,7 +653,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<div class="block">Sets <a href="Format.html#sampleMimeType"><code>Format.sampleMimeType</code></a>. The default value is <code>null</code>.</div>
<dl>
@ -659,7 +671,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<dl>
<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">
<li class="blockList">
<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>
<div class="block">Sets <a href="Format.html#initializationData"><code>Format.initializationData</code></a>. The default value is <code>null</code>.</div>
<dl>
@ -692,7 +706,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<div class="block">Sets <a href="Format.html#drmInitData"><code>Format.drmInitData</code></a>. The default value is <code>null</code>.</div>
<dl>
@ -709,7 +724,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<dl>
<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">
<li class="blockList">
<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>
<dl>
<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">
<li class="blockList">
<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>
<dl>
<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">
<li class="blockList">
<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>
<dl>
<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">
<li class="blockList">
<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>
<dl>
<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">
<li class="blockList">
<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>
<dl>
<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">
<li class="blockList">
<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>
<div class="block">Sets <a href="Format.html#projectionData"><code>Format.projectionData</code></a>. The default value is <code>null</code>.</div>
<dl>
@ -822,7 +844,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<dl>
<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">
<li class="blockList">
<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>
<div class="block">Sets <a href="Format.html#colorInfo"><code>Format.colorInfo</code></a>. The default value is <code>null</code>.</div>
<dl>
@ -855,7 +879,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<dl>
<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">
<li class="blockList">
<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>
<dl>
<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">
<li class="blockList">
<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>
<dl>
<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">
<li class="blockList">
<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>
<dl>
<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">
<li class="blockList">
<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>
<dl>
<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">
<li class="blockList">
<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>
<dl>
<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">
<li class="blockList">
<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>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>

View File

@ -25,7 +25,7 @@
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 altColor = "altColor";
var rowColor = "rowColor";
@ -764,18 +764,25 @@ implements <a href="Bundleable.html" title="interface in com.google.android.exop
</td>
</tr>
<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>
<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">
<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>
</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>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toString()">toString</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</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>
<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>
@ -1627,7 +1634,7 @@ public&nbsp;<a href="Format.html" title="class in com.google.android.exoplayer2"
<a id="toBundle()">
<!-- -->
</a>
<ul class="blockListLast">
<ul class="blockList">
<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()</pre>
@ -1639,6 +1646,17 @@ public&nbsp;<a href="Format.html" title="class in com.google.android.exoplayer2"
</dl>
</li>
</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>
</ul>
</section>

View File

@ -25,7 +25,7 @@
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":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 altColor = "altColor";
var rowColor = "rowColor";
@ -602,41 +602,48 @@ implements <a href="Player.html" title="interface in com.google.android.exoplaye
</td>
</tr>
<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>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTotalBufferedDuration()">getTotalBufferedDuration</a></span>()</code></th>
<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>
</td>
</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>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTrackSelectionParameters()">getTrackSelectionParameters</a></span>()</code></th>
<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>
</td>
</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>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVideoSize()">getVideoSize</a></span>()</code></th>
<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>
</td>
</tr>
<tr id="i57" class="rowColor">
<tr id="i58" class="altColor">
<td class="colFirst"><code>float</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVolume()">getVolume</a></span>()</code></th>
<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>
</td>
</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>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getWrappedPlayer()">getWrappedPlayer</a></span>()</code></th>
<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>
</td>
</tr>
<tr id="i59" class="rowColor">
<tr id="i60" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasNext()">hasNext</a></span>()</code></th>
<td class="colLast">
@ -645,14 +652,14 @@ implements <a href="Player.html" title="interface in com.google.android.exoplaye
</div>
</td>
</tr>
<tr id="i60" class="altColor">
<tr id="i61" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasNextMediaItem()">hasNextMediaItem</a></span>()</code></th>
<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>
</td>
</tr>
<tr id="i61" class="rowColor">
<tr id="i62" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasNextWindow()">hasNextWindow</a></span>()</code></th>
<td class="colLast">
@ -661,7 +668,7 @@ implements <a href="Player.html" title="interface in com.google.android.exoplaye
</div>
</td>
</tr>
<tr id="i62" class="altColor">
<tr id="i63" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasPrevious()">hasPrevious</a></span>()</code></th>
<td class="colLast">
@ -670,14 +677,14 @@ implements <a href="Player.html" title="interface in com.google.android.exoplaye
</div>
</td>
</tr>
<tr id="i63" class="rowColor">
<tr id="i64" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasPreviousMediaItem()">hasPreviousMediaItem</a></span>()</code></th>
<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>
</td>
</tr>
<tr id="i64" class="altColor">
<tr id="i65" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasPreviousWindow()">hasPreviousWindow</a></span>()</code></th>
<td class="colLast">
@ -686,42 +693,42 @@ implements <a href="Player.html" title="interface in com.google.android.exoplaye
</div>
</td>
</tr>
<tr id="i65" class="rowColor">
<tr id="i66" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#increaseDeviceVolume()">increaseDeviceVolume</a></span>()</code></th>
<td class="colLast">
<div class="block">Calls <a href="Player.html#increaseDeviceVolume()"><code>Player.increaseDeviceVolume()</code></a> on the delegate.</div>
</td>
</tr>
<tr id="i66" class="altColor">
<tr id="i67" class="rowColor">
<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>
<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>
</td>
</tr>
<tr id="i67" class="rowColor">
<tr id="i68" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCurrentMediaItemDynamic()">isCurrentMediaItemDynamic</a></span>()</code></th>
<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>
</td>
</tr>
<tr id="i68" class="altColor">
<tr id="i69" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCurrentMediaItemLive()">isCurrentMediaItemLive</a></span>()</code></th>
<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>
</td>
</tr>
<tr id="i69" class="rowColor">
<tr id="i70" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCurrentMediaItemSeekable()">isCurrentMediaItemSeekable</a></span>()</code></th>
<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>
</td>
</tr>
<tr id="i70" class="altColor">
<tr id="i71" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCurrentWindowDynamic()">isCurrentWindowDynamic</a></span>()</code></th>
<td class="colLast">
@ -730,7 +737,7 @@ implements <a href="Player.html" title="interface in com.google.android.exoplaye
</div>
</td>
</tr>
<tr id="i71" class="rowColor">
<tr id="i72" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCurrentWindowLive()">isCurrentWindowLive</a></span>()</code></th>
<td class="colLast">
@ -739,7 +746,7 @@ implements <a href="Player.html" title="interface in com.google.android.exoplaye
</div>
</td>
</tr>
<tr id="i72" class="altColor">
<tr id="i73" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCurrentWindowSeekable()">isCurrentWindowSeekable</a></span>()</code></th>
<td class="colLast">
@ -748,35 +755,35 @@ implements <a href="Player.html" title="interface in com.google.android.exoplaye
</div>
</td>
</tr>
<tr id="i73" class="rowColor">
<tr id="i74" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isDeviceMuted()">isDeviceMuted</a></span>()</code></th>
<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>
</td>
</tr>
<tr id="i74" class="altColor">
<tr id="i75" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isLoading()">isLoading</a></span>()</code></th>
<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>
</td>
</tr>
<tr id="i75" class="rowColor">
<tr id="i76" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isPlaying()">isPlaying</a></span>()</code></th>
<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>
</td>
</tr>
<tr id="i76" class="altColor">
<tr id="i77" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isPlayingAd()">isPlayingAd</a></span>()</code></th>
<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>
</td>
</tr>
<tr id="i77" class="rowColor">
<tr id="i78" class="altColor">
<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,
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>
</td>
</tr>
<tr id="i78" class="altColor">
<tr id="i79" class="rowColor">
<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,
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>
</td>
</tr>
<tr id="i79" class="rowColor">
<tr id="i80" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#next()">next</a></span>()</code></th>
<td class="colLast">
@ -802,28 +809,28 @@ implements <a href="Player.html" title="interface in com.google.android.exoplaye
</div>
</td>
</tr>
<tr id="i80" class="altColor">
<tr id="i81" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#pause()">pause</a></span>()</code></th>
<td class="colLast">
<div class="block">Calls <a href="Player.html#pause()"><code>Player.pause()</code></a> on the delegate.</div>
</td>
</tr>
<tr id="i81" class="rowColor">
<tr id="i82" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#play()">play</a></span>()</code></th>
<td class="colLast">
<div class="block">Calls <a href="Player.html#play()"><code>Player.play()</code></a> on the delegate.</div>
</td>
</tr>
<tr id="i82" class="altColor">
<tr id="i83" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#prepare()">prepare</a></span>()</code></th>
<td class="colLast">
<div class="block">Calls <a href="Player.html#prepare()"><code>Player.prepare()</code></a> on the delegate.</div>
</td>
</tr>
<tr id="i83" class="rowColor">
<tr id="i84" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#previous()">previous</a></span>()</code></th>
<td class="colLast">
@ -832,28 +839,28 @@ implements <a href="Player.html" title="interface in com.google.android.exoplaye
</div>
</td>
</tr>
<tr id="i84" class="altColor">
<tr id="i85" 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">Calls <a href="Player.html#release()"><code>Player.release()</code></a> on the delegate.</div>
</td>
</tr>
<tr id="i85" class="rowColor">
<tr id="i86" class="altColor">
<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>
<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>
</td>
</tr>
<tr id="i86" class="altColor">
<tr id="i87" class="rowColor">
<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>
<td class="colLast">
<div class="block">Calls <a href="Player.html#removeMediaItem(int)"><code>Player.removeMediaItem(int)</code></a> on the delegate.</div>
</td>
</tr>
<tr id="i87" class="rowColor">
<tr id="i88" class="altColor">
<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,
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>
</td>
</tr>
<tr id="i88" class="altColor">
<tr id="i89" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekBack()">seekBack</a></span>()</code></th>
<td class="colLast">
<div class="block">Calls <a href="Player.html#seekBack()"><code>Player.seekBack()</code></a> on the delegate.</div>
</td>
</tr>
<tr id="i89" class="rowColor">
<tr id="i90" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekForward()">seekForward</a></span>()</code></th>
<td class="colLast">
<div class="block">Calls <a href="Player.html#seekForward()"><code>Player.seekForward()</code></a> on the delegate.</div>
</td>
</tr>
<tr id="i90" class="altColor">
<tr id="i91" class="rowColor">
<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,
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>
</td>
</tr>
<tr id="i91" class="rowColor">
<tr id="i92" class="altColor">
<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>
<td class="colLast">
<div class="block">Calls <a href="Player.html#seekTo(long)"><code>Player.seekTo(long)</code></a> on the delegate.</div>
</td>
</tr>
<tr id="i92" class="altColor">
<tr id="i93" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToDefaultPosition()">seekToDefaultPosition</a></span>()</code></th>
<td class="colLast">
<div class="block">Calls <a href="Player.html#seekToDefaultPosition()"><code>Player.seekToDefaultPosition()</code></a> on the delegate.</div>
</td>
</tr>
<tr id="i93" class="rowColor">
<tr id="i94" class="altColor">
<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>
<td class="colLast">
<div class="block">Calls <a href="Player.html#seekToDefaultPosition(int)"><code>Player.seekToDefaultPosition(int)</code></a> on the delegate.</div>
</td>
</tr>
<tr id="i94" class="altColor">
<tr id="i95" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToNext()">seekToNext</a></span>()</code></th>
<td class="colLast">
<div class="block">Calls <a href="Player.html#seekToNext()"><code>Player.seekToNext()</code></a> on the delegate.</div>
</td>
</tr>
<tr id="i95" class="rowColor">
<tr id="i96" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToNextMediaItem()">seekToNextMediaItem</a></span>()</code></th>
<td class="colLast">
<div class="block">Calls <a href="Player.html#seekToNextMediaItem()"><code>Player.seekToNextMediaItem()</code></a> on the delegate.</div>
</td>
</tr>
<tr id="i96" class="altColor">
<tr id="i97" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToNextWindow()">seekToNextWindow</a></span>()</code></th>
<td class="colLast">
@ -927,21 +934,21 @@ implements <a href="Player.html" title="interface in com.google.android.exoplaye
</div>
</td>
</tr>
<tr id="i97" class="rowColor">
<tr id="i98" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToPrevious()">seekToPrevious</a></span>()</code></th>
<td class="colLast">
<div class="block">Calls <a href="Player.html#seekToPrevious()"><code>Player.seekToPrevious()</code></a> on the delegate.</div>
</td>
</tr>
<tr id="i98" class="altColor">
<tr id="i99" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToPreviousMediaItem()">seekToPreviousMediaItem</a></span>()</code></th>
<td class="colLast">
<div class="block">Calls <a href="Player.html#seekToPreviousMediaItem()"><code>Player.seekToPreviousMediaItem()</code></a> on the delegate.</div>
</td>
</tr>
<tr id="i99" class="rowColor">
<tr id="i100" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToPreviousWindow()">seekToPreviousWindow</a></span>()</code></th>
<td class="colLast">
@ -950,28 +957,28 @@ implements <a href="Player.html" title="interface in com.google.android.exoplaye
</div>
</td>
</tr>
<tr id="i100" class="altColor">
<tr id="i101" class="rowColor">
<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>
<td class="colLast">
<div class="block">Calls <a href="Player.html#setDeviceMuted(boolean)"><code>Player.setDeviceMuted(boolean)</code></a> on the delegate.</div>
</td>
</tr>
<tr id="i101" class="rowColor">
<tr id="i102" class="altColor">
<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>
<td class="colLast">
<div class="block">Calls <a href="Player.html#setDeviceVolume(int)"><code>Player.setDeviceVolume(int)</code></a> on the delegate.</div>
</td>
</tr>
<tr id="i102" class="altColor">
<tr id="i103" class="rowColor">
<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>
<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>
</td>
</tr>
<tr id="i103" class="rowColor">
<tr id="i104" class="altColor">
<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,
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>
</td>
</tr>
<tr id="i104" class="altColor">
<tr id="i105" class="rowColor">
<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,
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>
</td>
</tr>
<tr id="i105" class="rowColor">
<tr id="i106" class="altColor">
<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>
<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>
</td>
</tr>
<tr id="i106" class="altColor">
<tr id="i107" class="rowColor">
<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,
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>
</td>
</tr>
<tr id="i107" class="rowColor">
<tr id="i108" class="altColor">
<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,
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>
</td>
</tr>
<tr id="i108" class="altColor">
<tr id="i109" 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>
<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>
</td>
</tr>
<tr id="i109" class="rowColor">
<tr id="i110" class="altColor">
<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>
<td class="colLast">
<div class="block">Calls <a href="Player.html#setPlaybackSpeed(float)"><code>Player.setPlaybackSpeed(float)</code></a> on the delegate.</div>
</td>
</tr>
<tr id="i110" class="altColor">
<tr id="i111" class="rowColor">
<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>
<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>
</td>
</tr>
<tr id="i111" class="rowColor">
<tr id="i112" class="altColor">
<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>
<td class="colLast">
<div class="block">Calls <a href="Player.html#setPlayWhenReady(boolean)"><code>Player.setPlayWhenReady(boolean)</code></a> on the delegate.</div>
</td>
</tr>
<tr id="i112" class="altColor">
<tr id="i113" class="rowColor">
<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>
<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>
</td>
</tr>
<tr id="i113" class="rowColor">
<tr id="i114" class="altColor">
<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>
<td class="colLast">
<div class="block">Calls <a href="Player.html#setShuffleModeEnabled(boolean)"><code>Player.setShuffleModeEnabled(boolean)</code></a> on the delegate.</div>
</td>
</tr>
<tr id="i114" class="altColor">
<tr id="i115" class="rowColor">
<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>
<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>
</td>
</tr>
<tr id="i115" class="rowColor">
<tr id="i116" class="altColor">
<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>
<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>
</td>
</tr>
<tr id="i116" class="altColor">
<tr id="i117" class="rowColor">
<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>
<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>
</td>
</tr>
<tr id="i117" class="rowColor">
<tr id="i118" class="altColor">
<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>
<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>
</td>
</tr>
<tr id="i118" class="altColor">
<tr id="i119" class="rowColor">
<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>
<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>
</td>
</tr>
<tr id="i119" class="rowColor">
<tr id="i120" class="altColor">
<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>
<td class="colLast">
<div class="block">Calls <a href="Player.html#setVolume(float)"><code>Player.setVolume(float)</code></a> on the delegate.</div>
</td>
</tr>
<tr id="i120" class="altColor">
<tr id="i121" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#stop()">stop</a></span>()</code></th>
<td class="colLast">
<div class="block">Calls <a href="Player.html#stop()"><code>Player.stop()</code></a> on the delegate.</div>
</td>
</tr>
<tr id="i121" class="rowColor">
<tr id="i122" class="altColor">
<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>
<td class="colLast">
@ -2842,6 +2849,22 @@ public&nbsp;boolean&nbsp;isCurrentWindowSeekable()</pre>
</dl>
</li>
</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>

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">
<li class="blockList">
<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>
</li>
</ul>
@ -262,7 +263,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<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">
<li class="blockList">
<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.
<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">
<li class="blockList">
<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>
<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">
<li class="blockList">
<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>
<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">
<li class="blockList">
<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>
<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">
<li class="blockList">
<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>
</li>
</ul>
@ -625,7 +630,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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)
long&nbsp;startPositionMs)</pre>
<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">
<li class="blockList">
<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>
<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>
@ -652,7 +659,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList">
<li class="blockList">
<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>
<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>
@ -665,7 +673,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList">
<li class="blockList">
<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>
<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>
@ -678,7 +687,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList">
<li class="blockList">
<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>
<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>
@ -691,7 +701,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList">
<li class="blockList">
<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>
<div class="block">Sets the optional DRM configuration.</div>
</li>
@ -702,7 +713,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList">
<li class="blockList">
<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
<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>
@ -716,7 +728,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList">
<li class="blockList">
<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
<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>
@ -730,7 +743,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList">
<li class="blockList">
<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
<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>
@ -745,7 +759,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList">
<li class="blockList">
<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
<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>
@ -760,7 +775,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList">
<li class="blockList">
<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>
<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>
@ -773,7 +789,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList">
<li class="blockList">
<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>
<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>
@ -786,7 +803,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList">
<li class="blockList">
<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>
<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>
@ -799,7 +817,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList">
<li class="blockList">
<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>
<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>
@ -812,7 +831,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList">
<li class="blockList">
<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
<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>
@ -827,7 +847,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList">
<li class="blockList">
<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
byte[]&nbsp;keySetId)</pre>
<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">
<li class="blockList">
<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>
<div class="block">Sets the optional stream keys by which the manifest is filtered (only used for adaptive
streams).
@ -858,7 +880,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList">
<li class="blockList">
<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>
<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">
<li class="blockList">
<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
<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>
@ -886,7 +910,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList">
<li class="blockList">
<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.
<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">
<li class="blockList">
<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>
<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">
<li class="blockList">
<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
<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>
@ -926,7 +953,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList">
<li class="blockList">
<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
<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>
@ -941,7 +969,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList">
<li class="blockList">
<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
<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
@ -958,7 +987,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList">
<li class="blockList">
<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>
</li>
</ul>
@ -968,7 +998,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList">
<li class="blockList">
<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>
<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>
@ -981,7 +1012,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList">
<li class="blockList">
<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>
<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>
@ -994,7 +1026,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList">
<li class="blockList">
<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>
<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>
@ -1007,7 +1040,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList">
<li class="blockList">
<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>
<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>
@ -1020,7 +1054,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList">
<li class="blockList">
<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>
<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>
@ -1033,7 +1068,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList">
<li class="blockList">
<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>
<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>
@ -1048,7 +1084,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList">
<li class="blockList">
<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>
</li>
</ul>
@ -1058,7 +1095,8 @@ public&nbsp;<a href="MediaItem.Builder.html" title="class in com.google.android.
<ul class="blockList">
<li class="blockList">
<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>
</li>
</ul>

View File

@ -285,7 +285,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<div class="block">Sets the optional start position in milliseconds which must be a value larger than or equal
to zero (Default: 0).</div>
@ -297,7 +298,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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
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>
@ -309,7 +311,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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
<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>
@ -321,7 +324,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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
in the window (Default: <code>false</code>).</div>
</li>
@ -332,7 +336,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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
playback transition into the clip may not be seamless (Default: <code>false</code>).</div>
</li>

View File

@ -320,7 +320,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
</li>
</ul>
@ -330,7 +331,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<div class="block">Sets the optional default DRM license server URI.</div>
</li>
@ -341,7 +343,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<div class="block">Sets the optional default DRM license server URI.</div>
</li>
@ -352,7 +355,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
</li>
</ul>
@ -362,7 +366,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
</li>
</ul>
@ -372,7 +377,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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
its own DRM license server URI.</div>
</li>
@ -383,7 +389,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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
encrypted part of the content have yet to be loaded.</div>
</li>
@ -394,7 +401,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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)")
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>
@ -408,7 +416,8 @@ public&nbsp;<a href="MediaItem.DrmConfiguration.Builder.html" title="class in co
<ul class="blockList">
<li class="blockList">
<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>.
<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">
<li class="blockList">
<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
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">
<li class="blockList">
<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>
<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">
<li class="blockList">
<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.
<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">
<li class="blockList">
<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.
<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">
<li class="blockList">
<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.
<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">
<li class="blockList">
<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.
<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">
<li class="blockList">
<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.
<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">
<li class="blockList">
<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>
<div class="block">Sets the URI of the requested media, or null if not known or applicable.</div>
</li>
@ -268,7 +269,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<div class="block">Sets the search query for the requested media, or null if not applicable.</div>
</li>
@ -279,7 +281,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<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>

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>.
<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>
</li>
</ul>

View File

@ -289,7 +289,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
</li>
</ul>
@ -299,7 +300,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<div class="block">Sets the MIME type.</div>
</li>
@ -310,7 +312,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<div class="block">Sets the optional language of the subtitle file.</div>
</li>
@ -321,7 +324,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<div class="block">Sets the flags used for track selection.</div>
</li>
@ -332,7 +336,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<div class="block">Sets the role flags. These are used for track selection.</div>
</li>
@ -343,7 +348,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<div class="block">Sets the optional label for this subtitle track.</div>
</li>
@ -354,7 +360,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<div class="block">Sets the optional ID for this subtitle track.</div>
</li>

View File

@ -492,7 +492,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<div class="block">Sets the title.</div>
</li>
@ -503,7 +504,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<div class="block">Sets the artist.</div>
</li>
@ -514,7 +516,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<div class="block">Sets the album title.</div>
</li>
@ -525,7 +528,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<div class="block">Sets the album artist.</div>
</li>
@ -536,7 +540,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<div class="block">Sets the display title.</div>
</li>
@ -547,7 +552,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<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">
<li class="blockList">
<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>
<div class="block">Sets the description.</div>
</li>
@ -571,7 +578,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<div class="block">Sets the user <a href="Rating.html" title="class in com.google.android.exoplayer2"><code>Rating</code></a>.</div>
</li>
@ -582,7 +590,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<div class="block">Sets the overall <a href="Rating.html" title="class in com.google.android.exoplayer2"><code>Rating</code></a>.</div>
</li>
@ -593,7 +602,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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
byte[]&nbsp;artworkData)</pre>
<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">
<li class="blockList">
<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,
@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>
@ -620,7 +631,8 @@ public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.andr
<ul class="blockList">
<li class="blockList">
<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>
@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
@ -636,7 +648,8 @@ public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.andr
<ul class="blockList">
<li class="blockList">
<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>
<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>
@ -647,7 +660,8 @@ public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.andr
<ul class="blockList">
<li class="blockList">
<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>
<div class="block">Sets the track number.</div>
</li>
@ -658,7 +672,8 @@ public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.andr
<ul class="blockList">
<li class="blockList">
<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>
<div class="block">Sets the total number of tracks.</div>
</li>
@ -669,7 +684,8 @@ public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.andr
<ul class="blockList">
<li class="blockList">
<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>
<div class="block">Sets the <a href="MediaMetadata.FolderType.html" title="annotation in com.google.android.exoplayer2"><code>MediaMetadata.FolderType</code></a>.</div>
</li>
@ -680,7 +696,8 @@ public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.andr
<ul class="blockList">
<li class="blockList">
<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>
<div class="block">Sets whether the media is playable.</div>
</li>
@ -691,7 +708,8 @@ public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.andr
<ul class="blockList">
<li class="blockList">
<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
<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>
@ -705,7 +723,8 @@ public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.andr
<ul class="blockList">
<li class="blockList">
<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>
<div class="block">Sets the year of the recording date.</div>
</li>
@ -716,7 +735,8 @@ public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.andr
<ul class="blockList">
<li class="blockList">
<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>
<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">
<li class="blockList">
<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>
<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">
<li class="blockList">
<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>
<div class="block">Sets the year of the release date.</div>
</li>
@ -753,7 +775,8 @@ public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.andr
<ul class="blockList">
<li class="blockList">
<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>
<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">
<li class="blockList">
<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>
<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">
<li class="blockList">
<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>
<div class="block">Sets the writer.</div>
</li>
@ -790,7 +815,8 @@ public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.andr
<ul class="blockList">
<li class="blockList">
<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>
<div class="block">Sets the composer.</div>
</li>
@ -801,7 +827,8 @@ public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.andr
<ul class="blockList">
<li class="blockList">
<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>
<div class="block">Sets the conductor.</div>
</li>
@ -812,7 +839,8 @@ public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.andr
<ul class="blockList">
<li class="blockList">
<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>
<div class="block">Sets the disc number.</div>
</li>
@ -823,7 +851,8 @@ public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.andr
<ul class="blockList">
<li class="blockList">
<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>
<div class="block">Sets the total number of discs.</div>
</li>
@ -834,7 +863,8 @@ public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.andr
<ul class="blockList">
<li class="blockList">
<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>
<div class="block">Sets the genre.</div>
</li>
@ -845,7 +875,8 @@ public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.andr
<ul class="blockList">
<li class="blockList">
<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>
<div class="block">Sets the compilation.</div>
</li>
@ -856,7 +887,8 @@ public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.andr
<ul class="blockList">
<li class="blockList">
<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>
<div class="block">Sets the name of the station streaming the media.</div>
</li>
@ -867,7 +899,8 @@ public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.andr
<ul class="blockList">
<li class="blockList">
<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>
<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>
@ -878,7 +911,8 @@ public&nbsp;<a href="MediaMetadata.Builder.html" title="class in com.google.andr
<ul class="blockList">
<li class="blockList">
<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>.
<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">
<li class="blockList">
<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>.
<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">
<li class="blockList">
<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>
<div class="block">Populates all the fields from <code>mediaMetadata</code>, provided they are non-null.</div>
</li>

View File

@ -180,14 +180,14 @@ implements <a href="Renderer.html" title="interface in com.google.android.exopla
<!-- -->
</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>
<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 class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.com.google.android.exoplayer2.RendererCapabilities">
<!-- -->
</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>
<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>
</li>
</ul>

View File

@ -294,7 +294,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<div class="block">Adds a <a href="Player.Command.html" title="annotation in com.google.android.exoplayer2"><code>Player.Command</code></a>.</div>
<dl>
@ -313,7 +314,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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,
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>
@ -334,7 +336,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<div class="block">Adds <a href="Player.Command.html" title="annotation in com.google.android.exoplayer2"><code>commands</code></a>.</div>
<dl>
@ -353,7 +356,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<dl>
<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">
<li class="blockList">
<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>
<dl>
<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">
<li class="blockList">
<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>
<div class="block">Removes a <a href="Player.Command.html" title="annotation in com.google.android.exoplayer2"><code>Player.Command</code></a>.</div>
<dl>
@ -406,7 +412,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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,
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>
@ -427,7 +434,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<div class="block">Removes <a href="Player.Command.html" title="annotation in com.google.android.exoplayer2"><code>commands</code></a>.</div>
<dl>

View File

@ -25,7 +25,7 @@
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 altColor = "altColor";
var rowColor = "rowColor";
@ -126,7 +126,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</dl>
<dl>
<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>
<hr>
<pre>public interface <span class="typeNameLabel">Player</span></pre>
@ -1360,34 +1360,41 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</td>
</tr>
<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>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTotalBufferedDuration()">getTotalBufferedDuration</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns an estimate of the total buffered duration from the current position, in milliseconds.</div>
</td>
</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>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTrackSelectionParameters()">getTrackSelectionParameters</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the parameters constraining the track selection.</div>
</td>
</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>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVideoSize()">getVideoSize</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets the size of the video.</div>
</td>
</tr>
<tr id="i57" class="rowColor">
<tr id="i58" class="altColor">
<td class="colFirst"><code>float</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVolume()">getVolume</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the audio volume, with 0 being silence and 1 being unity gain (signal unchanged).</div>
</td>
</tr>
<tr id="i58" class="altColor">
<tr id="i59" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasNext()">hasNext</a></span>()</code></th>
<td class="colLast">
@ -1396,7 +1403,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</div>
</td>
</tr>
<tr id="i59" class="rowColor">
<tr id="i60" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasNextMediaItem()">hasNextMediaItem</a></span>()</code></th>
<td class="colLast">
@ -1404,7 +1411,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
and whether shuffle mode is enabled.</div>
</td>
</tr>
<tr id="i60" class="altColor">
<tr id="i61" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasNextWindow()">hasNextWindow</a></span>()</code></th>
<td class="colLast">
@ -1413,7 +1420,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</div>
</td>
</tr>
<tr id="i61" class="rowColor">
<tr id="i62" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasPrevious()">hasPrevious</a></span>()</code></th>
<td class="colLast">
@ -1422,7 +1429,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</div>
</td>
</tr>
<tr id="i62" class="altColor">
<tr id="i63" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasPreviousMediaItem()">hasPreviousMediaItem</a></span>()</code></th>
<td class="colLast">
@ -1430,7 +1437,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
whether shuffle mode is enabled.</div>
</td>
</tr>
<tr id="i63" class="rowColor">
<tr id="i64" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasPreviousWindow()">hasPreviousWindow</a></span>()</code></th>
<td class="colLast">
@ -1439,21 +1446,21 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</div>
</td>
</tr>
<tr id="i64" class="altColor">
<tr id="i65" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#increaseDeviceVolume()">increaseDeviceVolume</a></span>()</code></th>
<td class="colLast">
<div class="block">Increases the volume of the device.</div>
</td>
</tr>
<tr id="i65" class="rowColor">
<tr id="i66" class="altColor">
<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>
<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>
</td>
</tr>
<tr id="i66" class="altColor">
<tr id="i67" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCurrentMediaItemDynamic()">isCurrentMediaItemDynamic</a></span>()</code></th>
<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>
</td>
</tr>
<tr id="i67" class="rowColor">
<tr id="i68" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCurrentMediaItemLive()">isCurrentMediaItemLive</a></span>()</code></th>
<td class="colLast">
@ -1469,14 +1476,14 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
is empty.</div>
</td>
</tr>
<tr id="i68" class="altColor">
<tr id="i69" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCurrentMediaItemSeekable()">isCurrentMediaItemSeekable</a></span>()</code></th>
<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>
</td>
</tr>
<tr id="i69" class="rowColor">
<tr id="i70" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCurrentWindowDynamic()">isCurrentWindowDynamic</a></span>()</code></th>
<td class="colLast">
@ -1485,7 +1492,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</div>
</td>
</tr>
<tr id="i70" class="altColor">
<tr id="i71" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCurrentWindowLive()">isCurrentWindowLive</a></span>()</code></th>
<td class="colLast">
@ -1494,7 +1501,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</div>
</td>
</tr>
<tr id="i71" class="rowColor">
<tr id="i72" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCurrentWindowSeekable()">isCurrentWindowSeekable</a></span>()</code></th>
<td class="colLast">
@ -1503,35 +1510,35 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</div>
</td>
</tr>
<tr id="i72" class="altColor">
<tr id="i73" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isDeviceMuted()">isDeviceMuted</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets whether the device is muted or not.</div>
</td>
</tr>
<tr id="i73" class="rowColor">
<tr id="i74" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isLoading()">isLoading</a></span>()</code></th>
<td class="colLast">
<div class="block">Whether the player is currently loading the source.</div>
</td>
</tr>
<tr id="i74" class="altColor">
<tr id="i75" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isPlaying()">isPlaying</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns whether the player is playing, i.e.</div>
</td>
</tr>
<tr id="i75" class="rowColor">
<tr id="i76" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isPlayingAd()">isPlayingAd</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns whether the player is currently playing an ad.</div>
</td>
</tr>
<tr id="i76" class="altColor">
<tr id="i77" class="rowColor">
<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,
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>
</td>
</tr>
<tr id="i77" class="rowColor">
<tr id="i78" class="altColor">
<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,
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>
</td>
</tr>
<tr id="i78" class="altColor">
<tr id="i79" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#next()">next</a></span>()</code></th>
<td class="colLast">
@ -1557,28 +1564,28 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</div>
</td>
</tr>
<tr id="i79" class="rowColor">
<tr id="i80" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#pause()">pause</a></span>()</code></th>
<td class="colLast">
<div class="block">Pauses playback.</div>
</td>
</tr>
<tr id="i80" class="altColor">
<tr id="i81" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#play()">play</a></span>()</code></th>
<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>
</td>
</tr>
<tr id="i81" class="rowColor">
<tr id="i82" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#prepare()">prepare</a></span>()</code></th>
<td class="colLast">
<div class="block">Prepares the player.</div>
</td>
</tr>
<tr id="i82" class="altColor">
<tr id="i83" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#previous()">previous</a></span>()</code></th>
<td class="colLast">
@ -1587,28 +1594,28 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</div>
</td>
</tr>
<tr id="i83" class="rowColor">
<tr id="i84" 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 player.</div>
</td>
</tr>
<tr id="i84" class="altColor">
<tr id="i85" class="rowColor">
<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>
<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>
</td>
</tr>
<tr id="i85" class="rowColor">
<tr id="i86" class="altColor">
<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>
<td class="colLast">
<div class="block">Removes the media item at the given index of the playlist.</div>
</td>
</tr>
<tr id="i86" class="altColor">
<tr id="i87" class="rowColor">
<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,
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>
</td>
</tr>
<tr id="i87" class="rowColor">
<tr id="i88" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekBack()">seekBack</a></span>()</code></th>
<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>
</td>
</tr>
<tr id="i88" class="altColor">
<tr id="i89" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekForward()">seekForward</a></span>()</code></th>
<td class="colLast">
@ -1631,7 +1638,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
milliseconds.</div>
</td>
</tr>
<tr id="i89" class="rowColor">
<tr id="i90" class="altColor">
<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,
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>
</td>
</tr>
<tr id="i90" class="altColor">
<tr id="i91" class="rowColor">
<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>
<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>
</td>
</tr>
<tr id="i91" class="rowColor">
<tr id="i92" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToDefaultPosition()">seekToDefaultPosition</a></span>()</code></th>
<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>
</td>
</tr>
<tr id="i92" class="altColor">
<tr id="i93" class="rowColor">
<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>
<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>
</td>
</tr>
<tr id="i93" class="rowColor">
<tr id="i94" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToNext()">seekToNext</a></span>()</code></th>
<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>
</td>
</tr>
<tr id="i94" class="altColor">
<tr id="i95" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToNextMediaItem()">seekToNextMediaItem</a></span>()</code></th>
<td class="colLast">
@ -1675,7 +1682,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
repeat mode and whether shuffle mode is enabled.</div>
</td>
</tr>
<tr id="i95" class="rowColor">
<tr id="i96" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToNextWindow()">seekToNextWindow</a></span>()</code></th>
<td class="colLast">
@ -1684,14 +1691,14 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</div>
</td>
</tr>
<tr id="i96" class="altColor">
<tr id="i97" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToPrevious()">seekToPrevious</a></span>()</code></th>
<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>
</td>
</tr>
<tr id="i97" class="rowColor">
<tr id="i98" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToPreviousMediaItem()">seekToPreviousMediaItem</a></span>()</code></th>
<td class="colLast">
@ -1699,7 +1706,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
current repeat mode and whether shuffle mode is enabled.</div>
</td>
</tr>
<tr id="i98" class="altColor">
<tr id="i99" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seekToPreviousWindow()">seekToPreviousWindow</a></span>()</code></th>
<td class="colLast">
@ -1708,21 +1715,21 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</div>
</td>
</tr>
<tr id="i99" class="rowColor">
<tr id="i100" class="altColor">
<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>
<td class="colLast">
<div class="block">Sets the mute state of the device.</div>
</td>
</tr>
<tr id="i100" class="altColor">
<tr id="i101" class="rowColor">
<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>
<td class="colLast">
<div class="block">Sets the volume of the device.</div>
</td>
</tr>
<tr id="i101" class="rowColor">
<tr id="i102" class="altColor">
<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>
<td class="colLast">
@ -1730,7 +1737,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
default position.</div>
</td>
</tr>
<tr id="i102" class="altColor">
<tr id="i103" class="rowColor">
<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,
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>
</td>
</tr>
<tr id="i103" class="rowColor">
<tr id="i104" class="altColor">
<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,
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>
</td>
</tr>
<tr id="i104" class="altColor">
<tr id="i105" class="rowColor">
<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>
<td class="colLast">
@ -1754,7 +1761,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
the default position.</div>
</td>
</tr>
<tr id="i105" class="rowColor">
<tr id="i106" class="altColor">
<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,
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>
</td>
</tr>
<tr id="i106" class="altColor">
<tr id="i107" class="rowColor">
<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,
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>
</td>
</tr>
<tr id="i107" class="rowColor">
<tr id="i108" class="altColor">
<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>
<td class="colLast">
<div class="block">Attempts to set the playback parameters.</div>
</td>
</tr>
<tr id="i108" class="altColor">
<tr id="i109" class="rowColor">
<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>
<td class="colLast">
<div class="block">Changes the rate at which playback occurs.</div>
</td>
</tr>
<tr id="i109" class="rowColor">
<tr id="i110" class="altColor">
<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>
<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>
</td>
</tr>
<tr id="i110" class="altColor">
<tr id="i111" class="rowColor">
<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>
<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>
</td>
</tr>
<tr id="i111" class="rowColor">
<tr id="i112" class="altColor">
<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>
<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>
</td>
</tr>
<tr id="i112" class="altColor">
<tr id="i113" class="rowColor">
<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>
<td class="colLast">
<div class="block">Sets whether shuffling of media items is enabled.</div>
</td>
</tr>
<tr id="i113" class="rowColor">
<tr id="i114" class="altColor">
<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>
<td class="colLast">
<div class="block">Sets the parameters constraining the track selection.</div>
</td>
</tr>
<tr id="i114" class="altColor">
<tr id="i115" class="rowColor">
<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>
<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>
</td>
</tr>
<tr id="i115" class="rowColor">
<tr id="i116" class="altColor">
<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>
<td class="colLast">
@ -1835,21 +1842,21 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
rendered.</div>
</td>
</tr>
<tr id="i116" class="altColor">
<tr id="i117" class="rowColor">
<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>
<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>
</td>
</tr>
<tr id="i117" class="rowColor">
<tr id="i118" class="altColor">
<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>
<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>
</td>
</tr>
<tr id="i118" class="altColor">
<tr id="i119" class="rowColor">
<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>
<td class="colLast">
@ -1857,14 +1864,14 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
unchanged), inclusive.</div>
</td>
</tr>
<tr id="i119" class="rowColor">
<tr id="i120" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#stop()">stop</a></span>()</code></th>
<td class="colLast">
<div class="block">Stops playback without resetting the playlist.</div>
</td>
</tr>
<tr id="i120" class="altColor">
<tr id="i121" class="rowColor">
<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>
<td class="colLast">
@ -4933,6 +4940,20 @@ float&nbsp;getVolume()</pre>
</dl>
</li>
</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>

View File

@ -452,7 +452,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<dl>
<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">
<li class="blockList">
<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>
<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>
@ -510,7 +512,8 @@ public&nbsp;<a href="https://developer.android.com/reference/java/lang/Object.ht
<ul class="blockList">
<li class="blockList">
<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>
<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>
@ -523,7 +526,8 @@ public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exop
<ul class="blockList">
<li class="blockList">
<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>
<dl>
<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">
<li class="blockList">
<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>
<dl>
<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">
<li class="blockList">
<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>
<div class="block">Sets a position in a media item at which the message will be delivered.</div>
<dl>
@ -618,7 +624,8 @@ public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exop
<ul class="blockList">
<li class="blockList">
<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
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>
@ -648,7 +655,8 @@ public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exop
<ul class="blockList">
<li class="blockList">
<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
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>
@ -665,7 +673,8 @@ public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exop
<ul class="blockList">
<li class="blockList">
<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>
<dl>
<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 class="altColor">
<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>
<td class="colLast">
<div class="block">The type of a message that can be passed to a <a href="https://developer.android.com/reference/android/media/MediaCodec.html" title="class or interface in android.media" class="externalLink" target="_top"><code>MediaCodec</code></a>-based video renderer via
<a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(PlayerMessage.Target)</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MSG_SET_SKIP_SILENCE_ENABLED">MSG_SET_SKIP_SILENCE_ENABLED</a></span></code></th>
<td class="colLast">
<div class="block">The type of a message that can be passed to an audio renderer via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(PlayerMessage.Target)</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MSG_SET_VIDEO_FRAME_METADATA_LISTENER">MSG_SET_VIDEO_FRAME_METADATA_LISTENER</a></span></code></th>
<td class="colLast">
<div class="block">The type of a message that can be passed to a video renderer via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(PlayerMessage.Target)</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MSG_SET_VIDEO_OUTPUT">MSG_SET_VIDEO_OUTPUT</a></span></code></th>
<td class="colLast">
<div class="block">The type of a message that can be passed to a video renderer via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(PlayerMessage.Target)</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MSG_SET_VOLUME">MSG_SET_VOLUME</a></span></code></th>
<td class="colLast">
<div class="block">A type of a message that can be passed to an audio renderer via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(PlayerMessage.Target)</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MSG_SET_WAKEUP_LISTENER">MSG_SET_WAKEUP_LISTENER</a></span></code></th>
<td class="colLast">
@ -286,21 +293,21 @@ extends <a href="PlayerMessage.Target.html" title="interface in com.google.andro
waking up another component.</div>
</td>
</tr>
<tr class="altColor">
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#STATE_DISABLED">STATE_DISABLED</a></span></code></th>
<td class="colLast">
<div class="block">The renderer is disabled.</div>
</td>
</tr>
<tr class="rowColor">
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#STATE_ENABLED">STATE_ENABLED</a></span></code></th>
<td class="colLast">
<div class="block">The renderer is enabled but not started.</div>
</td>
</tr>
<tr class="altColor">
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#STATE_STARTED">STATE_STARTED</a></span></code></th>
<td class="colLast">
@ -712,6 +719,21 @@ extends <a href="PlayerMessage.Target.html" title="interface in com.google.andro
</dl>
</li>
</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>

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/Target.html" title="class or interface in java.lang.annotation" class="externalLink">@Target</a>(<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#TYPE_USE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">TYPE_USE</a>)
public static @interface <span class="memberNameLabel">RendererCapabilities.DecoderSupport</span></pre>
<div class="block">Level of decoder support. One of <a href="RendererCapabilities.html#DECODER_SUPPORT_PRIMARY"><code>RendererCapabilities.DECODER_SUPPORT_PRIMARY</code></a> and <a href="RendererCapabilities.html#DECODER_SUPPORT_FALLBACK"><code>RendererCapabilities.DECODER_SUPPORT_FALLBACK</code></a>.
<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>
</li>

View File

@ -247,12 +247,20 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#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>
<td class="colLast">
<div class="block">The renderer is able to use the primary decoder for the format's MIME type.</div>
</td>
</tr>
<tr class="altColor">
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#FORMAT_EXCEEDS_CAPABILITIES">FORMAT_EXCEEDS_CAPABILITIES</a></span></code></th>
<td class="colLast">
@ -261,7 +269,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</div>
</td>
</tr>
<tr class="rowColor">
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#FORMAT_HANDLED">FORMAT_HANDLED</a></span></code></th>
<td class="colLast">
@ -270,14 +278,14 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</div>
</td>
</tr>
<tr class="altColor">
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#FORMAT_SUPPORT_MASK">FORMAT_SUPPORT_MASK</a></span></code></th>
<td class="colLast">
<div class="block">A mask to apply to <a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.Capabilities</code></a> to obtain the <a href="C.FormatSupport.html" title="annotation in com.google.android.exoplayer2"><code>C.FormatSupport</code></a> only.</div>
</td>
</tr>
<tr class="rowColor">
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#FORMAT_UNSUPPORTED_DRM">FORMAT_UNSUPPORTED_DRM</a></span></code></th>
<td class="colLast">
@ -286,7 +294,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</div>
</td>
</tr>
<tr class="altColor">
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#FORMAT_UNSUPPORTED_SUBTYPE">FORMAT_UNSUPPORTED_SUBTYPE</a></span></code></th>
<td class="colLast">
@ -295,7 +303,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</div>
</td>
</tr>
<tr class="rowColor">
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#FORMAT_UNSUPPORTED_TYPE">FORMAT_UNSUPPORTED_TYPE</a></span></code></th>
<td class="colLast">
@ -304,49 +312,49 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</div>
</td>
</tr>
<tr class="altColor">
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#HARDWARE_ACCELERATION_NOT_SUPPORTED">HARDWARE_ACCELERATION_NOT_SUPPORTED</a></span></code></th>
<td class="colLast">
<div class="block">The renderer is not able to use hardware acceleration.</div>
</td>
</tr>
<tr class="rowColor">
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#HARDWARE_ACCELERATION_SUPPORT_MASK">HARDWARE_ACCELERATION_SUPPORT_MASK</a></span></code></th>
<td class="colLast">
<div class="block">A mask to apply to <a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.Capabilities</code></a> to obtain <a href="RendererCapabilities.HardwareAccelerationSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.HardwareAccelerationSupport</code></a> only.</div>
</td>
</tr>
<tr class="altColor">
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#HARDWARE_ACCELERATION_SUPPORTED">HARDWARE_ACCELERATION_SUPPORTED</a></span></code></th>
<td class="colLast">
<div class="block">The renderer is able to use hardware acceleration.</div>
</td>
</tr>
<tr class="rowColor">
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MODE_SUPPORT_MASK">MODE_SUPPORT_MASK</a></span></code></th>
<td class="colLast">
<div class="block">A mask to apply to <a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.Capabilities</code></a> to obtain <a href="RendererCapabilities.DecoderSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.DecoderSupport</code></a> only.</div>
</td>
</tr>
<tr class="altColor">
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#TUNNELING_NOT_SUPPORTED">TUNNELING_NOT_SUPPORTED</a></span></code></th>
<td class="colLast">
<div class="block">The <a href="Renderer.html" title="interface in com.google.android.exoplayer2"><code>Renderer</code></a> does not support tunneled output.</div>
</td>
</tr>
<tr class="rowColor">
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#TUNNELING_SUPPORT_MASK">TUNNELING_SUPPORT_MASK</a></span></code></th>
<td class="colLast">
<div class="block">A mask to apply to <a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.Capabilities</code></a> to obtain <a href="RendererCapabilities.TunnelingSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.TunnelingSupport</code></a> only.</div>
</td>
</tr>
<tr class="altColor">
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#TUNNELING_SUPPORTED">TUNNELING_SUPPORTED</a></span></code></th>
<td class="colLast">
@ -733,6 +741,21 @@ static final&nbsp;int FORMAT_UNSUPPORTED_TYPE</pre>
</dl>
</li>
</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>

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">
<li class="blockList">
<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>
<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>
@ -581,7 +582,8 @@ public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.an
<ul class="blockList">
<li class="blockList">
<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>
<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>
@ -594,7 +596,8 @@ public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.an
<ul class="blockList">
<li class="blockList">
<h4>setMediaSourceFactory</h4>
<pre class="methodSignature"><a href="https://developer.android.com/reference/java/lang/Deprecated.html" title="class or interface in java.lang" class="externalLink" target="_top">@Deprecated</a>
<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>
<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>
@ -607,7 +610,8 @@ public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.an
<ul class="blockList">
<li class="blockList">
<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>
<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>
@ -620,7 +624,8 @@ public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.an
<ul class="blockList">
<li class="blockList">
<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>
<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>
@ -633,7 +638,8 @@ public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.an
<ul class="blockList">
<li class="blockList">
<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>
<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>
@ -646,7 +652,8 @@ public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.an
<ul class="blockList">
<li class="blockList">
<h4>setAnalyticsCollector</h4>
<pre class="methodSignature"><a href="https://developer.android.com/reference/java/lang/Deprecated.html" title="class or interface in java.lang" class="externalLink" target="_top">@Deprecated</a>
<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>
<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>
@ -659,7 +666,8 @@ public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.an
<ul class="blockList">
<li class="blockList">
<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
<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>
@ -674,7 +682,8 @@ public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.an
<ul class="blockList">
<li class="blockList">
<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,
boolean&nbsp;handleAudioFocus)</pre>
<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">
<li class="blockList">
<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>
@com.google.android.exoplayer2.C.WakeMode int&nbsp;wakeMode)</pre>
<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">
<li class="blockList">
<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>
<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>
@ -716,7 +727,8 @@ public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.an
<ul class="blockList">
<li class="blockList">
<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>
<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>
@ -729,7 +741,8 @@ public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.an
<ul class="blockList">
<li class="blockList">
<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>
@com.google.android.exoplayer2.C.VideoScalingMode int&nbsp;videoScalingMode)</pre>
<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">
<li class="blockList">
<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>
@com.google.android.exoplayer2.C.VideoChangeFrameRateStrategy int&nbsp;videoChangeFrameRateStrategy)</pre>
<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">
<li class="blockList">
<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>
<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>
@ -770,7 +785,8 @@ public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.an
<ul class="blockList">
<li class="blockList">
<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>
<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>
@ -783,7 +799,8 @@ public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.an
<ul class="blockList">
<li class="blockList">
<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)
long&nbsp;seekBackIncrementMs)</pre>
<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">
<li class="blockList">
<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)
long&nbsp;seekForwardIncrementMs)</pre>
<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">
<li class="blockList">
<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>
<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>
@ -824,7 +843,8 @@ public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.an
<ul class="blockList">
<li class="blockList">
<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>
<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>
@ -837,7 +857,8 @@ public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.an
<ul class="blockList">
<li class="blockList">
<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>
<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>
@ -850,7 +871,8 @@ public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.an
<ul class="blockList">
<li class="blockList">
<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>
<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>
@ -863,7 +885,8 @@ public&nbsp;<a href="SimpleExoPlayer.Builder.html" title="class in com.google.an
<ul class="blockList">
<li class="blockList">
<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>
<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>

View File

@ -25,7 +25,7 @@
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 altColor = "altColor";
var rowColor = "rowColor";
@ -823,6 +823,14 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
</td>
</tr>
<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>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTextComponent()">getTextComponent</a></span>()</code></th>
<td class="colLast">
@ -832,7 +840,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
</div>
</td>
</tr>
<tr id="i66" class="altColor">
<tr id="i67" class="rowColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTotalBufferedDuration()">getTotalBufferedDuration</a></span>()</code></th>
<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>
</td>
</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>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTrackSelectionParameters()">getTrackSelectionParameters</a></span>()</code></th>
<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>
</td>
</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>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTrackSelector()">getTrackSelector</a></span>()</code></th>
<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>
</td>
</tr>
<tr id="i69" class="rowColor">
<tr id="i70" class="altColor">
<td class="colFirst"><code>@com.google.android.exoplayer2.C.VideoChangeFrameRateStrategy int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVideoChangeFrameRateStrategy()">getVideoChangeFrameRateStrategy</a></span>()</code></th>
<td class="colLast">
@ -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>
</td>
</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>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVideoComponent()">getVideoComponent</a></span>()</code></th>
<td class="colLast">
@ -874,7 +882,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
</div>
</td>
</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>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVideoDecoderCounters()">getVideoDecoderCounters</a></span>()</code></th>
<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>
</td>
</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>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVideoFormat()">getVideoFormat</a></span>()</code></th>
<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>
</td>
</tr>
<tr id="i73" class="rowColor">
<tr id="i74" class="altColor">
<td class="colFirst"><code>@com.google.android.exoplayer2.C.VideoScalingMode int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVideoScalingMode()">getVideoScalingMode</a></span>()</code></th>
<td class="colLast">
@ -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>
</td>
</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>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVideoSize()">getVideoSize</a></span>()</code></th>
<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>
</td>
</tr>
<tr id="i75" class="rowColor">
<tr id="i76" class="altColor">
<td class="colFirst"><code>float</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVolume()">getVolume</a></span>()</code></th>
<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>
</td>
</tr>
<tr id="i76" class="altColor">
<tr id="i77" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#increaseDeviceVolume()">increaseDeviceVolume</a></span>()</code></th>
<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>
</td>
</tr>
<tr id="i77" class="rowColor">
<tr id="i78" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isDeviceMuted()">isDeviceMuted</a></span>()</code></th>
<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>
</td>
</tr>
<tr id="i78" class="altColor">
<tr id="i79" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isLoading()">isLoading</a></span>()</code></th>
<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>
</td>
</tr>
<tr id="i79" class="rowColor">
<tr id="i80" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isPlayingAd()">isPlayingAd</a></span>()</code></th>
<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>
</td>
</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>
<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,
@ -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>
</td>
</tr>
<tr id="i81" class="rowColor">
<tr id="i83" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#prepare()">prepare</a></span>()</code></th>
<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>
</td>
</tr>
<tr id="i82" class="altColor">
<tr id="i84" class="altColor">
<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>
<td class="colLast">
@ -973,7 +990,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
</div>
</td>
</tr>
<tr id="i83" class="rowColor">
<tr id="i85" class="rowColor">
<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,
boolean&nbsp;resetPosition,
@ -985,7 +1002,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
</div>
</td>
</tr>
<tr id="i84" class="altColor">
<tr id="i86" 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">
@ -993,7 +1010,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<div class="block">Releases the player.</div>
</td>
</tr>
<tr id="i85" class="rowColor">
<tr id="i87" class="rowColor">
<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>
<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>
</td>
</tr>
<tr id="i86" class="altColor">
<tr id="i88" class="altColor">
<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>
<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>
</td>
</tr>
<tr id="i87" class="rowColor">
<tr id="i89" class="rowColor">
<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>
<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>
</td>
</tr>
<tr id="i88" class="altColor">
<tr id="i90" class="altColor">
<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,
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>
</td>
</tr>
<tr id="i89" class="rowColor">
<tr id="i91" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#retry()">retry</a></span>()</code></th>
<td class="colLast">
@ -1035,7 +1052,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
</div>
</td>
</tr>
<tr id="i90" class="altColor">
<tr id="i92" class="altColor">
<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,
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>
</td>
</tr>
<tr id="i91" class="rowColor">
<tr id="i93" class="rowColor">
<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,
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>
</td>
</tr>
<tr id="i92" class="altColor">
<tr id="i94" class="altColor">
<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>
<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>
</td>
</tr>
<tr id="i93" class="rowColor">
<tr id="i95" class="rowColor">
<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>
<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>
</td>
</tr>
<tr id="i94" class="altColor">
<tr id="i96" class="altColor">
<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>
<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>
</td>
</tr>
<tr id="i95" class="rowColor">
<tr id="i97" class="rowColor">
<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>
<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>
</td>
</tr>
<tr id="i96" class="altColor">
<tr id="i98" class="altColor">
<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>
<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>
</td>
</tr>
<tr id="i97" class="rowColor">
<tr id="i99" class="rowColor">
<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>
<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>
</td>
</tr>
<tr id="i98" class="altColor">
<tr id="i100" class="altColor">
<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>
<td class="colLast">
@ -1111,7 +1128,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
device speakers.</div>
</td>
</tr>
<tr id="i99" class="rowColor">
<tr id="i101" class="rowColor">
<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>
<td class="colLast">
@ -1120,7 +1137,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
</div>
</td>
</tr>
<tr id="i100" class="altColor">
<tr id="i102" class="altColor">
<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,
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>
</td>
</tr>
<tr id="i101" class="rowColor">
<tr id="i103" class="rowColor">
<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,
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>
</td>
</tr>
<tr id="i102" class="altColor">
<tr id="i104" class="altColor">
<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>
<td class="colLast">
@ -1148,7 +1165,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
default position.</div>
</td>
</tr>
<tr id="i103" class="rowColor">
<tr id="i105" class="rowColor">
<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,
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>
</td>
</tr>
<tr id="i104" class="altColor">
<tr id="i106" class="altColor">
<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,
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>
</td>
</tr>
<tr id="i105" class="rowColor">
<tr id="i107" class="rowColor">
<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>
<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>
</td>
</tr>
<tr id="i106" class="altColor">
<tr id="i108" class="altColor">
<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,
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>
</td>
</tr>
<tr id="i107" class="rowColor">
<tr id="i109" class="rowColor">
<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,
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>
</td>
</tr>
<tr id="i108" class="altColor">
<tr id="i110" class="altColor">
<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>
<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>
</td>
</tr>
<tr id="i109" class="rowColor">
<tr id="i111" 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>
<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>
</td>
</tr>
<tr id="i110" class="altColor">
<tr id="i112" class="altColor">
<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>
<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>
</td>
</tr>
<tr id="i111" class="rowColor">
<tr id="i113" class="rowColor">
<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>
<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>
</td>
</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>
<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">
@ -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>
</td>
</tr>
<tr id="i113" class="rowColor">
<tr id="i116" class="altColor">
<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>
<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>
</td>
</tr>
<tr id="i114" class="altColor">
<tr id="i117" class="rowColor">
<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>
<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>
</td>
</tr>
<tr id="i115" class="rowColor">
<tr id="i118" class="altColor">
<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>
<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>
</td>
</tr>
<tr id="i116" class="altColor">
<tr id="i119" class="rowColor">
<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>
<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>
</td>
</tr>
<tr id="i117" class="rowColor">
<tr id="i120" class="altColor">
<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>
<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>
</td>
</tr>
<tr id="i118" class="altColor">
<tr id="i121" class="rowColor">
<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>
<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>
</td>
</tr>
<tr id="i119" class="rowColor">
<tr id="i122" class="altColor">
<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>
<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>
</td>
</tr>
<tr id="i120" class="altColor">
<tr id="i123" class="rowColor">
<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>
<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>
</td>
</tr>
<tr id="i121" class="rowColor">
<tr id="i124" class="altColor">
<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>
<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>
</td>
</tr>
<tr id="i122" class="altColor">
<tr id="i125" class="rowColor">
<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>
<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>
</td>
</tr>
<tr id="i123" class="rowColor">
<tr id="i126" class="altColor">
<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>
<td class="colLast">
@ -1324,7 +1349,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
rendered.</div>
</td>
</tr>
<tr id="i124" class="altColor">
<tr id="i127" class="rowColor">
<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>
<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>
</td>
</tr>
<tr id="i125" class="rowColor">
<tr id="i128" class="altColor">
<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>
<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>
</td>
</tr>
<tr id="i126" class="altColor">
<tr id="i129" class="rowColor">
<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>
<td class="colLast">
@ -1349,7 +1374,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
unchanged), inclusive.</div>
</td>
</tr>
<tr id="i127" class="rowColor">
<tr id="i130" class="altColor">
<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>
<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>
</td>
</tr>
<tr id="i128" class="altColor">
<tr id="i131" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#stop()">stop</a></span>()</code></th>
<td class="colLast">
@ -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>
</td>
</tr>
<tr id="i129" class="rowColor">
<tr id="i132" class="altColor">
<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>
<td class="colLast">
@ -1381,7 +1406,7 @@ implements <a href="ExoPlayer.html" title="interface in com.google.android.exopl
<!-- -->
</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>
<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 class="blockList">
<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>
</li>
</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>
@ -2089,6 +2132,27 @@ public&nbsp;@com.google.android.exoplayer2.C.VideoChangeFrameRateStrategy int&nb
</dl>
</li>
</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>
@ -4085,7 +4149,7 @@ public&nbsp;void&nbsp;setHandleWakeLock&#8203;(boolean&nbsp;handleWakeLock)</pre
<a id="setDeviceMuted(boolean)">
<!-- -->
</a>
<ul class="blockListLast">
<ul class="blockList">
<li class="blockList">
<h4>setDeviceMuted</h4>
<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>
</li>
</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>
</ul>
</section>

View File

@ -607,7 +607,8 @@ public&nbsp;<a href="https://developer.android.com/reference/java/lang/Object.ht
<ul class="blockList">
<li class="blockList">
<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,
@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,
@ -638,7 +639,8 @@ public&nbsp;<a href="https://developer.android.com/reference/java/lang/Object.ht
<ul class="blockList">
<li class="blockList">
<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,
@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,

View File

@ -743,7 +743,8 @@ public&nbsp;<a href="MediaItem.LiveConfiguration.html" title="class in com.googl
<ul class="blockList">
<li class="blockList">
<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
<a href="MediaItem.html" title="class in com.google.android.exoplayer2">MediaItem</a>&nbsp;mediaItem,
@Nullable

View File

@ -273,7 +273,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<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>
@ -284,7 +285,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<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>
@ -295,7 +297,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<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>
@ -306,7 +309,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<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>
@ -317,7 +321,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
</li>
</ul>

View File

@ -25,7 +25,7 @@
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 altColor = "altColor";
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>
</tr>
<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>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toString()">toString</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
@ -241,7 +251,7 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<!-- -->
</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#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>
</li>
</ul>
@ -342,7 +352,7 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<a id="toString()">
<!-- -->
</a>
<ul class="blockListLast">
<ul class="blockList">
<li class="blockList">
<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>
@ -352,6 +362,33 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
</dl>
</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>

View File

@ -240,8 +240,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isEnded()">isEnded</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns whether this processor will return no more output from <a href="#getOutput()"><code>getOutput()</code></a> until it
has been <a href="#flush()"><code>flush()</code></a>ed and more input has been queued.</div>
<div class="block">Returns whether this processor will return no more output from <a href="#getOutput()"><code>getOutput()</code></a> until
<a href="#flush()"><code>flush()</code></a> has been called and more input has been queued.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
@ -308,7 +308,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<ul class="blockList">
<li class="blockList">
<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>
<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
@ -393,8 +394,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<li class="blockList">
<h4>isEnded</h4>
<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
has been <a href="#flush()"><code>flush()</code></a>ed and more input has been queued.</div>
<div class="block">Returns whether this processor will return no more output from <a href="#getOutput()"><code>getOutput()</code></a> until
<a href="#flush()"><code>flush()</code></a> has been called and more input has been queued.</div>
</li>
</ul>
<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) {
}
//-->
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 altColor = "altColor";
var rowColor = "rowColor";
@ -433,34 +433,49 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</td>
</tr>
<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>
<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">
<div class="block">Attempts to set the playback parameters.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<tr id="i24" class="altColor">
<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>
<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>
</td>
</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>
<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">
<div class="block">Sets whether silences should be skipped in the audio stream.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<tr id="i27" class="rowColor">
<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>
<td class="colLast">
<div class="block">Sets the playback volume.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<tr id="i28" class="altColor">
<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>
<td class="colLast">
@ -841,6 +856,38 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<div class="block">Sets the auxiliary effect.</div>
</li>
</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>

View File

@ -279,8 +279,8 @@ implements <a href="AudioProcessor.html" title="interface in com.google.android.
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isEnded()">isEnded</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns whether this processor will return no more output from <a href="AudioProcessor.html#getOutput()"><code>AudioProcessor.getOutput()</code></a> until it
has been <a href="AudioProcessor.html#flush()"><code>AudioProcessor.flush()</code></a>ed and more input has been queued.</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
<a href="AudioProcessor.html#flush()"><code>AudioProcessor.flush()</code></a> has been called and more input has been queued.</div>
</td>
</tr>
<tr id="i6" class="altColor">
@ -320,10 +320,9 @@ implements <a href="AudioProcessor.html" title="interface in com.google.android.
</tr>
<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>
<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">
<div class="block">Replaces the current output buffer with a buffer of at least <code>count</code> bytes and returns
it.</div>
<div class="block">Replaces the current output buffer with a buffer of at least <code>size</code> bytes and returns it.</div>
</td>
</tr>
<tr id="i12" class="altColor">
@ -419,7 +418,8 @@ implements <a href="AudioProcessor.html" title="interface in com.google.android.
<ul class="blockList">
<li class="blockList">
<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>
<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
@ -504,8 +504,8 @@ public&nbsp;<a href="https://developer.android.com/reference/java/nio/ByteBuffer
<pre class="methodSignature">@CallSuper
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">Returns whether this processor will return no more output from <a href="AudioProcessor.html#getOutput()"><code>AudioProcessor.getOutput()</code></a> until it
has been <a href="AudioProcessor.html#flush()"><code>AudioProcessor.flush()</code></a>ed and more input has been queued.</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
<a href="AudioProcessor.html#flush()"><code>AudioProcessor.flush()</code></a> has been called and more input has been queued.</div>
<dl>
<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>
@ -549,10 +549,10 @@ public&nbsp;boolean&nbsp;isEnded()</pre>
<ul class="blockList">
<li class="blockList">
<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>
<div class="block">Replaces the current output buffer with a buffer of at least <code>count</code> bytes and returns
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
read via <a href="#getOutput()"><code>getOutput()</code></a>.</div>
<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>size</code> bytes and returns 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 read
via <a href="#getOutput()"><code>getOutput()</code></a>.</div>
</li>
</ul>
<a id="hasPendingOutput()">
@ -571,7 +571,8 @@ public&nbsp;boolean&nbsp;isEnded()</pre>
<ul class="blockList">
<li class="blockList">
<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>
<div class="block">Called when the processor is configured for a new input format.</div>
<dl>

View File

@ -207,14 +207,14 @@ implements <a href="../util/MediaClock.html" title="interface in com.google.andr
<!-- -->
</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>
<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 class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.com.google.android.exoplayer2.RendererCapabilities">
<!-- -->
</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>
<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>
</li>
</ul>
@ -640,7 +640,8 @@ public&nbsp;<a href="../util/MediaClock.html" title="interface in com.google.and
<ul class="blockList">
<li class="blockList">
<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>
<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>
@ -726,6 +727,7 @@ protected abstract&nbsp;@com.google.android.exoplayer2.C.FormatSupport int&nbsp;
<li class="blockList">
<h4>onPositionDiscontinuity</h4>
<pre class="methodSignature">@CallSuper
@ForOverride
protected&nbsp;void&nbsp;onPositionDiscontinuity()</pre>
<div class="block">See <a href="AudioSink.Listener.html#onPositionDiscontinuity()"><code>AudioSink.Listener.onPositionDiscontinuity()</code></a>.</div>
</li>
@ -736,7 +738,8 @@ protected&nbsp;void&nbsp;onPositionDiscontinuity()</pre>
<ul class="blockList">
<li class="blockList">
<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
<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>
@ -761,7 +764,8 @@ protected&nbsp;void&nbsp;onPositionDiscontinuity()</pre>
<ul class="blockList">
<li class="blockList">
<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
output buffer has been dequeued, so the decoder may use input data to determine the format.</div>
<dl>
@ -776,7 +780,8 @@ protected&nbsp;void&nbsp;onPositionDiscontinuity()</pre>
<ul class="blockList">
<li class="blockList">
<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;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>.

View File

@ -25,12 +25,6 @@
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>
@ -95,7 +89,7 @@ loadScripts(document, 'script');</script>
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
<li>Method</li>
</ul>
</div>
<a id="skip.navbar.top">
@ -121,6 +115,10 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<ul class="blockList">
<li class="blockList">
<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>
<dd><code><a href="DefaultAudioSink.DefaultAudioProcessorChain.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.DefaultAudioProcessorChain</a></code></dd>
</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>
</dl>
<hr>
<pre>public static interface <span class="typeNameLabel">DefaultAudioSink.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>
<pre><a href="https://developer.android.com/reference/java/lang/Deprecated.html" title="class or interface in java.lang" class="externalLink" target="_top">@Deprecated</a>
public static interface <span class="typeNameLabel">DefaultAudioSink.AudioProcessorChain</span>
extends <a href="AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio">AudioProcessorChain</a></pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio"><code>AudioProcessorChain</code></a>.</div>
</div>
</li>
</ul>
</div>
@ -147,147 +146,12 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<!-- -->
</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">
<li class="blockList"><a id="methods.inherited.from.class.com.google.android.exoplayer2.audio.AudioProcessorChain">
<!-- -->
</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>
<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>
<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>
</ul>
</li>
</ul>
@ -349,7 +213,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
<li>Method</li>
</ul>
</div>
<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) {
}
//-->
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 altColor = "altColor";
var rowColor = "rowColor";
@ -195,9 +195,10 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
</tr>
<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>
<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">
<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>
</tr>
<tr id="i3" class="rowColor">
@ -210,9 +211,9 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
</tr>
<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>
<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">
<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>
</tr>
<tr id="i5" class="rowColor">
@ -231,6 +232,14 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
</tr>
<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>
<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>
<td class="colLast">
<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">
<li class="blockList">
<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
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">
<li class="blockList">
<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
output. May be empty. Equivalent of <code>setAudioProcessorChain(new
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>
</li>
</ul>
<a id="setAudioProcessorChain(com.google.android.exoplayer2.audio.DefaultAudioSink.AudioProcessorChain)">
<a id="setAudioProcessorChain(com.google.android.exoplayer2.audio.AudioProcessorChain)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<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>
<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
must not be reused in other sinks. Processing chains are only supported for PCM playback (not
passthrough or offload).
<pre class="methodSignature">@CanIgnoreReturnValue
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>
<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. 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>
</li>
@ -327,7 +339,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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
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
@ -342,7 +355,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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
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.
@ -356,7 +370,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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
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
@ -373,10 +388,26 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<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>.
<pre class="methodSignature">@CanIgnoreReturnValue
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>
</ul>
<a id="build()">

View File

@ -130,7 +130,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<li class="blockList">
<dl>
<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>
<dt>Enclosing class:</dt>
@ -230,8 +230,7 @@ implements <a href="DefaultAudioSink.AudioProcessorChain.html" title="interface
<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>
<div class="block">Returns the number of output audio frames skipped since the audio processors were last flushed.</div>
</td>
</tr>
</table>
@ -299,13 +298,13 @@ implements <a href="DefaultAudioSink.AudioProcessorChain.html" title="interface
<li class="blockList">
<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>
<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">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>
<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 once
during initialization, but audio processors may change state to become active/inactive during
playback.</div>
<dl>
<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>
</li>
</ul>
@ -316,13 +315,13 @@ implements <a href="DefaultAudioSink.AudioProcessorChain.html" title="interface
<li class="blockList">
<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>
<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
the new playback parameters, which may differ from those passed in. Only called when
processors have no input pending.</div>
the new playback parameters, which may differ from those passed in. Only called when processors
have no input pending.</div>
<dl>
<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>
<dd><code>playbackParameters</code> - The playback parameters to try to apply.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
@ -337,12 +336,12 @@ implements <a href="DefaultAudioSink.AudioProcessorChain.html" title="interface
<li class="blockList">
<h4>applySkipSilenceEnabled</h4>
<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
value. Only called when processors have no input pending.</div>
<dl>
<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>
<dd><code>skipSilenceEnabled</code> - Whether silences should be skipped in the audio stream.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
@ -357,7 +356,7 @@ implements <a href="DefaultAudioSink.AudioProcessorChain.html" title="interface
<li class="blockList">
<h4>getMediaDuration</h4>
<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
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>
<dl>
<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>
<dd><code>playoutDuration</code> - The playout duration to scale.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
@ -381,12 +380,11 @@ implements <a href="DefaultAudioSink.AudioProcessorChain.html" title="interface
<li class="blockList">
<h4>getSkippedOutputFrameCount</h4>
<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">Returns the number of output audio frames skipped since the audio processors were last
flushed.</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 flushed.</div>
<dl>
<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>
</li>
</ul>

View File

@ -25,7 +25,7 @@
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10};
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 altColor = "altColor";
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>
<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">
<div class="block">Provides a chain of audio processors, which are used for any user-defined processing and
applying playback parameters (if supported).</div>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio"><code>AudioProcessorChain</code></a>.</div>
</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="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>
<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">
<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>
</tr>
<tr class="altColor">
<tr class="rowColor">
<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>
<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>
</td>
</tr>
<tr class="rowColor">
<tr class="altColor">
<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>
<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>
</td>
</tr>
<tr class="altColor">
<tr class="rowColor">
<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>
<td class="colLast">
<div class="block">Audio offload mode configuration.</div>
</td>
</tr>
<tr class="rowColor">
<tr class="altColor">
<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>
<td class="colLast">
@ -575,19 +583,26 @@ implements <a href="AudioSink.html" title="interface in com.google.android.exopl
</tr>
<tr id="i24" class="altColor">
<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>
<td class="colLast">
<div class="block">Sets whether silences should be skipped in the audio stream.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<tr id="i26" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVolume(float)">setVolume</a></span>&#8203;(float&nbsp;volume)</code></th>
<td class="colLast">
<div class="block">Sets the playback volume.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<tr id="i27" class="rowColor">
<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>
<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>
<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.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>
</ul>
</section>
@ -1255,6 +1277,26 @@ public&nbsp;DefaultAudioSink&#8203;(@Nullable
</dl>
</li>
</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>

View File

@ -279,7 +279,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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
<a href="DefaultAudioTrackBufferSizeProvider.html#MIN_PCM_BUFFER_DURATION_US">250000</a>.</div>
</li>
@ -290,7 +291,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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
<a href="DefaultAudioTrackBufferSizeProvider.html#MAX_PCM_BUFFER_DURATION_US">750000</a>.</div>
</li>
@ -301,7 +303,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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
<a href="DefaultAudioTrackBufferSizeProvider.html#PCM_BUFFER_MULTIPLICATION_FACTOR">4</a>.</div>
</li>
@ -312,7 +315,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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
<a href="DefaultAudioTrackBufferSizeProvider.html#PASSTHROUGH_BUFFER_DURATION_US">250000</a>.</div>
</li>
@ -323,7 +327,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
</li>
</ul>
@ -333,7 +338,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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
on some devices (e.g., Broadcom 7271). Default is <a href="DefaultAudioTrackBufferSizeProvider.html#AC3_BUFFER_MULTIPLICATION_FACTOR">2</a>.</div>
</li>

View File

@ -128,9 +128,14 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<div class="description">
<ul 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>
<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>
</li>
</ul>
@ -186,41 +191,34 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
</td>
</tr>
<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>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#maxPcmBufferDurationUs">maxPcmBufferDurationUs</a></span></code></th>
<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>
</td>
</tr>
<tr class="rowColor">
<tr class="altColor">
<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>
<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>
</td>
</tr>
<tr class="altColor">
<tr class="rowColor">
<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>
<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>
</td>
</tr>
<tr class="rowColor">
<tr class="altColor">
<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>
<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>
</td>
</tr>
<tr class="altColor">
<tr class="rowColor">
<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>
<td class="colLast">
@ -228,6 +226,13 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
</td>
</tr>
</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>
</ul>
</section>
@ -294,7 +299,10 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
int&nbsp;pcmFrameSize,
int&nbsp;sampleRate,
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 id="i3" class="rowColor">
<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>
<ul class="blockList">
<ul class="blockListLast">
<li class="blockList">
<h4>ac3BufferMultiplicationFactor</h4>
<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>
</li>
</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>
</ul>
</section>
@ -460,6 +458,27 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
int&nbsp;pcmFrameSize,
int&nbsp;sampleRate,
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>
</ul>
<a id="get1xBufferSizeInBytes(int,int,int,int,int)">

View File

@ -25,7 +25,7 @@
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10};
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 altColor = "altColor";
var rowColor = "rowColor";
@ -378,33 +378,48 @@ implements <a href="AudioSink.html" title="interface in com.google.android.exopl
</tr>
<tr id="i22" class="altColor">
<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>
<td class="colLast">
<div class="block">Attempts to set the playback parameters.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<tr id="i24" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#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">
<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>
</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>
<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">
<div class="block">Sets whether silences should be skipped in the audio stream.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<tr id="i27" class="rowColor">
<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>
<td class="colLast">
<div class="block">Sets the playback volume.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<tr id="i28" class="altColor">
<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>
<td class="colLast">
@ -824,6 +839,44 @@ public&nbsp;<a href="AudioAttributes.html" title="class in com.google.android.ex
</dl>
</li>
</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>

View File

@ -25,7 +25,7 @@
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10};
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 altColor = "altColor";
var rowColor = "rowColor";
@ -222,14 +222,14 @@ implements <a href="../util/MediaClock.html" title="interface in com.google.andr
<!-- -->
</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>
<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 class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.com.google.android.exoplayer2.RendererCapabilities">
<!-- -->
</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>
<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>
</li>
</ul>
@ -490,12 +490,19 @@ implements <a href="../util/MediaClock.html" title="interface in com.google.andr
</tr>
<tr id="i21" class="rowColor">
<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>
<td class="colLast">
<div class="block">See <a href="AudioSink.Listener.html#onPositionDiscontinuity()"><code>AudioSink.Listener.onPositionDiscontinuity()</code></a>.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<tr id="i23" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onPositionReset(long,boolean)">onPositionReset</a></span>&#8203;(long&nbsp;positionUs,
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>
</td>
</tr>
<tr id="i23" class="rowColor">
<tr id="i24" class="altColor">
<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>
<td class="colLast">
<div class="block">Called after the last output buffer before a stream change has been processed.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<tr id="i25" class="rowColor">
<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>
<td class="colLast">
<div class="block">Called immediately before an input buffer is queued into the codec.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<tr id="i26" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onReset()">onReset</a></span>()</code></th>
<td class="colLast">
<div class="block">Called when the renderer is reset.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<tr id="i27" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onStarted()">onStarted</a></span>()</code></th>
<td class="colLast">
<div class="block">Called when the renderer is started.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<tr id="i28" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onStopped()">onStopped</a></span>()</code></th>
<td class="colLast">
<div class="block">Called when the renderer is stopped.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<tr id="i29" class="rowColor">
<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,
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>
</td>
</tr>
<tr id="i29" class="rowColor">
<tr id="i30" class="altColor">
<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>
<td class="colLast">
<div class="block">Incrementally renders any remaining output.</div>
</td>
</tr>
<tr id="i30" class="altColor">
<tr id="i31" 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>
<td class="colLast">
<div class="block">Attempts to set the playback parameters.</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<tr id="i32" class="altColor">
<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>
<td class="colLast">
<div class="block">Returns whether buffers in the input format can be processed without a codec.</div>
</td>
</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>
<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>
@ -1458,6 +1465,25 @@ protected&nbsp;void&nbsp;onPositionDiscontinuity()</pre>
</dl>
</li>
</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>

View File

@ -477,7 +477,8 @@ extends <a href="BaseAudioProcessor.html" title="class in com.google.android.exo
<ul class="blockList">
<li class="blockList">
<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>
<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>

View File

@ -269,8 +269,8 @@ implements <a href="AudioProcessor.html" title="interface in com.google.android.
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isEnded()">isEnded</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns whether this processor will return no more output from <a href="AudioProcessor.html#getOutput()"><code>AudioProcessor.getOutput()</code></a> until it
has been <a href="AudioProcessor.html#flush()"><code>AudioProcessor.flush()</code></a>ed and more input has been queued.</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
<a href="AudioProcessor.html#flush()"><code>AudioProcessor.flush()</code></a> has been called and more input has been queued.</div>
</td>
</tr>
<tr id="i6" class="altColor">
@ -459,7 +459,8 @@ implements <a href="AudioProcessor.html" title="interface in com.google.android.
<ul class="blockList">
<li class="blockList">
<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>
<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
@ -564,8 +565,8 @@ implements <a href="AudioProcessor.html" title="interface in com.google.android.
<h4>isEnded</h4>
<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">Returns whether this processor will return no more output from <a href="AudioProcessor.html#getOutput()"><code>AudioProcessor.getOutput()</code></a> until it
has been <a href="AudioProcessor.html#flush()"><code>AudioProcessor.flush()</code></a>ed and more input has been queued.</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
<a href="AudioProcessor.html#flush()"><code>AudioProcessor.flush()</code></a> has been called and more input has been queued.</div>
<dl>
<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>

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
before/after particular processing steps have been applied. For example, to get audio output
after playback speed adjustment and silence skipping have been applied it is necessary to pass a
custom <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
this audio processor after all other audio processors.</div>
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
after all other audio processors.</div>
</li>
</ul>
</div>

View File

@ -117,28 +117,40 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</td>
</tr>
<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>
<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>
</td>
</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>
<td class="colLast">
<div class="block">A sink that consumes audio data.</div>
</td>
</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>
<td class="colLast">
<div class="block">Listener for audio sink events.</div>
</td>
</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>
<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">
<div class="block">Provides a chain of audio processors, which are used for any user-defined processing and
applying playback parameters (if supported).</div>
<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">

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.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="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="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>
@ -173,10 +173,15 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<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="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="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="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>
</ul>
</section>

View File

@ -300,7 +300,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<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.
@ -320,7 +321,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<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>
@ -338,7 +340,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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.
<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">
<li class="blockList">
<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
sections of the media content.
@ -383,7 +387,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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
encrypted part of the content have yet to be loaded.</div>
<dl>
@ -401,7 +406,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<dl>
<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">
<li class="blockList">
<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.
<p>It can be useful to keep sessions alive during playback of short clear sections of media

View File

@ -2,7 +2,7 @@
<!-- NewPage -->
<html lang="en">
<head><!-- start favicons snippet, use https://realfavicongenerator.net/ --><link rel="apple-touch-icon" sizes="180x180" href="/assets/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="/assets/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/assets/favicon-16x16.png"><link rel="manifest" href="/assets/site.webmanifest"><link rel="mask-icon" href="/assets/safari-pinned-tab.svg" color="#fc4d50"><link rel="shortcut icon" href="/assets/favicon.ico"><meta name="msapplication-TileColor" content="#ffc40d"><meta name="msapplication-config" content="/assets/browserconfig.xml"><meta name="theme-color" content="#ffffff"><!-- end favicons snippet -->
<title>SingleFrameGlTextureProcessor (ExoPlayer library)</title>
<title>ColorLut (ExoPlayer library)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
@ -19,14 +19,14 @@
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="SingleFrameGlTextureProcessor (ExoPlayer library)";
parent.document.title="ColorLut (ExoPlayer library)";
}
}
catch(err) {
}
//-->
var data = {"i0":6,"i1":6,"i2":6,"i3":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var data = {"i0":6,"i1":6,"i2":6,"i3":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";
@ -113,26 +113,26 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<!-- ======== 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.transformer</a></div>
<h2 title="Interface SingleFrameGlTextureProcessor" class="title">Interface SingleFrameGlTextureProcessor</h2>
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.effect</a></div>
<h2 title="Interface ColorLut" class="title">Interface ColorLut</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="SingleColorLut.html" title="class in com.google.android.exoplayer2.effect">SingleColorLut</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">SingleFrameGlTextureProcessor</span></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>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>
<pre>public interface <span class="typeNameLabel">ColorLut</span>
extends <a href="GlEffect.html" title="interface in com.google.android.exoplayer2.effect">GlEffect</a></pre>
<div class="block">Specifies color transformations using color lookup tables to apply to each frame in the fragment
shader.</div>
</li>
</ul>
</div>
@ -147,42 +147,40 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</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>
<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>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#drawFrame(long)">drawFrame</a></span>&#8203;(long&nbsp;presentationTimeUs)</code></th>
<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">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>
</tr>
<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>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getOutputSize()">getOutputSize</a></span>()</code></th>
<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">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>
</tr>
<tr id="i2" class="altColor">
<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,
int&nbsp;inputTexId,
int&nbsp;inputWidth,
int&nbsp;inputHeight)</code></th>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#release()">release</a></span>()</code></th>
<td class="colLast">
<div class="block">Performs all initialization that requires OpenGL, such as, loading and compiling a GLSL shader
program.</div>
<div class="block">Releases the OpenGL texture of the LUT.</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="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">Releases all resources.</div>
<div class="block">This method must be executed on the same thread as other GL commands.</div>
</td>
</tr>
</table>
@ -202,75 +200,63 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="initialize(android.content.Context,int,int,int)">
<a id="getLutTextureId(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initialize</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,
int&nbsp;inputTexId,
int&nbsp;inputWidth,
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>
<h4>getLutTextureId</h4>
<pre class="methodSignature">int&nbsp;getLutTextureId&#8203;(long&nbsp;presentationTimeUs)</pre>
<div class="block">Returns the OpenGL texture ID of the LUT to apply to the pixels of the frame with the given
timestamp.</div>
</li>
</ul>
<a id="getOutputSize()">
<a id="getLength(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOutputSize</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>
<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>.
<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>
<h4>getLength</h4>
<pre class="methodSignature">int&nbsp;getLength&#8203;(long&nbsp;presentationTimeUs)</pre>
<div class="block">Returns the length N of the 3D N x N x N LUT cube with the given timestamp.</div>
</li>
</ul>
<a id="release()">
<!-- -->
</a>
<ul class="blockListLast">
<ul class="blockList">
<li class="blockList">
<h4>release</h4>
<pre class="methodSignature">void&nbsp;release()</pre>
<div class="block">Releases all resources.</div>
<pre class="methodSignature">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">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>
</ul>
</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 -->
<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>Presentation.Builder (ExoPlayer library)</title>
<title>Crop (ExoPlayer library)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
@ -19,13 +19,13 @@
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Presentation.Builder (ExoPlayer library)";
parent.document.title="Crop (ExoPlayer library)";
}
}
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 altColor = "altColor";
var rowColor = "rowColor";
@ -113,15 +113,15 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<!-- ======== 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.transformer</a></div>
<h2 title="Class Presentation.Builder" class="title">Class Presentation.Builder</h2>
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.effect</a></div>
<h2 title="Class Crop" class="title">Class Crop</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.transformer.Presentation.Builder</li>
<li>com.google.android.exoplayer2.effect.Crop</li>
</ul>
</li>
</ul>
@ -129,13 +129,16 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<ul class="blockList">
<li class="blockList">
<dl>
<dt>Enclosing class:</dt>
<dd><a href="Presentation.html" title="class in com.google.android.exoplayer2.transformer">Presentation</a></dd>
<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="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>
<hr>
<pre>public static final class <span class="typeNameLabel">Presentation.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="Presentation.html" title="class in com.google.android.exoplayer2.transformer"><code>Presentation</code></a> instances.</div>
<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>
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>
</ul>
</div>
@ -156,9 +159,13 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<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>
<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">
<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>
</tr>
</table>
@ -180,34 +187,18 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="Presentation.html" title="class in com.google.android.exoplayer2.transformer">Presentation</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#build()">build</a></span>()</code></th>
<td class="colLast">&nbsp;</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,
int&nbsp;inputHeight)</code></th>
<td class="colLast">
<div class="block">Configures the input and output dimensions.</div>
</td>
</tr>
<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>
<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,
@com.google.android.exoplayer2.transformer.Presentation.Layout int&nbsp;layout)</code></th>
<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>
<td class="colLast">
<div class="block">Sets the aspect ratio (width/height ratio) for the output frame.</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>
<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>
</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>
<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.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>
</ul>
</section>
@ -234,14 +239,29 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;()">
<a id="&lt;init&gt;(float,float,float,float)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>Builder</h4>
<pre>public&nbsp;Builder()</pre>
<div class="block">Creates a builder with default values.</div>
<h4>Crop</h4>
<pre>public&nbsp;Crop&#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.</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>
</ul>
</li>
@ -254,97 +274,42 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="setResolution(int)">
<a id="configure(int,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setResolution</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>
<div class="block">Sets the output resolution using the output height.
<h4>configure</h4>
<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>
<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
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>
<p>Must be called before <a href="GlMatrixTransformation.html#getGlMatrixArray(long)"><code>GlMatrixTransformation.getGlMatrixArray(long)</code></a>.</div>
<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>
<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>
<dd>This builder.</dd>
<dd>The output frame width and height, in pixels.</dd>
</dl>
</li>
</ul>
<a id="setCrop(float,float,float,float)">
<!-- -->
</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 id="getMatrix(long)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>build</h4>
<pre class="methodSignature">public&nbsp;<a href="Presentation.html" title="class in com.google.android.exoplayer2.transformer">Presentation</a>&nbsp;build()</pre>
<h4>getMatrix</h4>
<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>
</ul>
</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 ======== -->
<main role="main">
<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>
</div>
<div class="contentContainer">
@ -122,26 +122,27 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<li class="blockList">
<dl>
<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>
<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>
<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>
<hr>
<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.
<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
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>
</ul>
</div>
@ -163,7 +164,7 @@ extends <a href="GlEffect.html" title="interface in com.google.android.exoplayer
<th class="colLast" scope="col">Description</th>
</tr>
<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,
int&nbsp;inputHeight)</code></th>
<td class="colLast">
@ -178,10 +179,11 @@ extends <a href="GlEffect.html" title="interface in com.google.android.exoplayer
</td>
</tr>
<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>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toGlTextureProcessor()">toGlTextureProcessor</a></span>()</code></th>
<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="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>
</tr>
</table>
@ -207,8 +209,8 @@ extends <a href="GlEffect.html" title="interface in com.google.android.exoplayer
<ul class="blockList">
<li class="blockList">
<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,
int&nbsp;inputHeight)</pre>
<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>
<div class="block">Configures the input and output dimensions.
<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>inputHeight</code> - The input frame height, in pixels.</dd>
<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>
</li>
</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>
</li>
</ul>
<a id="toGlTextureProcessor()">
<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="interface in com.google.android.exoplayer2.transformer">SingleFrameGlTextureProcessor</a>&nbsp;toGlTextureProcessor()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="GlEffect.html#toGlTextureProcessor()">GlEffect</a></code></span></div>
<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>
<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()">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>
</li>
</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 ======== -->
<main role="main">
<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>
</div>
<div class="contentContainer">
@ -122,22 +122,23 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<li class="blockList">
<dl>
<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>
<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>
<hr>
<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.
<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
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>
</ul>
</div>
@ -174,11 +175,11 @@ extends <a href="GlMatrixTransformation.html" title="interface in com.google.and
</tr>
</table>
<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>
<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>
<code><a href="GlMatrixTransformation.html#configure(int,int)">configure</a>, <a href="GlMatrixTransformation.html#toGlTextureProcessor()">toGlTextureProcessor</a></code></li>
<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(android.content.Context,boolean)">toGlTextureProcessor</a></code></li>
</ul>
</li>
</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>
<dl>
<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>
</li>
</ul>

View File

@ -105,7 +105,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<!-- ======== 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.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>
</div>
<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>May scale either width or height, leaving the other output dimension equal to its input,
unless <a href="Presentation.Builder.html#setResolution(int)"><code>Presentation.Builder.setResolution(int)</code></a> rescales width and height.</div>
<p>May scale either width or height, leaving the other output dimension equal to its input.</div>
</li>
</ul>
</div>

View File

@ -25,8 +25,8 @@
catch(err) {
}
//-->
var data = {"i0":10,"i1":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var data = {"i0":10,"i1":9,"i2":9,"i3":9,"i4":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";
@ -113,7 +113,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<!-- ======== 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.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>
</div>
<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>
<ul class="inheritance">
<li>com.google.android.exoplayer2.transformer.Presentation</li>
<li>com.google.android.exoplayer2.effect.Presentation</li>
</ul>
</li>
</ul>
@ -130,19 +130,17 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<li class="blockList">
<dl>
<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>
<hr>
<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>
implements <a href="MatrixTransformation.html" title="interface in com.google.android.exoplayer2.transformer">MatrixTransformation</a></pre>
<div class="block">Controls how a frame is presented with options to set the output resolution, crop the input, and
choose how to map the input pixels onto the output frame geometry (for example, by stretching the
input frame to match the specified output frame, or fitting the input frame using letterboxing).
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 and choose how to map
the input pixels onto the output frame geometry (for example, by stretching the input frame to
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.</div>
<p>The background color of the output frame will be black, with alpha = 0 if applicable.</div>
</li>
</ul>
</div>
@ -164,15 +162,8 @@ implements <a href="MatrixTransformation.html" title="interface in com.google.an
<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="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>
<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">
<div class="block">Strategies controlling the layout of input pixels in the output frame.</div>
</td>
@ -229,14 +220,14 @@ implements <a href="MatrixTransformation.html" title="interface in com.google.an
</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>
<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><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,
int&nbsp;inputHeight)</code></th>
<td class="colLast">
@ -244,6 +235,30 @@ implements <a href="MatrixTransformation.html" title="interface in com.google.an
</td>
</tr>
<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>
<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">
@ -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>
</ul>
<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>
<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>
<code><a href="GlMatrixTransformation.html#toGlTextureProcessor()">toGlTextureProcessor</a></code></li>
<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.transformer.MatrixTransformation">
<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.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>
</ul>
</li>
@ -309,7 +324,7 @@ implements <a href="MatrixTransformation.html" title="interface in com.google.an
</ul></div>
<dl>
<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>
</li>
</ul>
@ -333,7 +348,7 @@ implements <a href="MatrixTransformation.html" title="interface in com.google.an
</ul></div>
<dl>
<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>
</li>
</ul>
@ -356,7 +371,7 @@ implements <a href="MatrixTransformation.html" title="interface in com.google.an
</ul></div>
<dl>
<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>
</li>
</ul>
@ -370,26 +385,84 @@ implements <a href="MatrixTransformation.html" title="interface in com.google.an
<!-- -->
</a>
<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>
<ul class="blockList">
<li class="blockList">
<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,
int&nbsp;inputHeight)</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,
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>Must be called before <a href="GlMatrixTransformation.html#getGlMatrixArray(long)"><code>GlMatrixTransformation.getGlMatrixArray(long)</code></a>.</div>
<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.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>
<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>
<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>
</li>
</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>
<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.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>
</li>
</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 ======== -->
<main role="main">
<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>
</div>
<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>
<ul class="inheritance">
<li>com.google.android.exoplayer2.transformer.ScaleToFitTransformation.Builder</li>
<li>com.google.android.exoplayer2.effect.ScaleToFitTransformation.Builder</li>
</ul>
</li>
</ul>
@ -130,12 +130,12 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<li class="blockList">
<dl>
<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>
<hr>
<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>
<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>
</ul>
</div>
@ -180,19 +180,19 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><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>
<td class="colLast">&nbsp;</td>
</tr>
<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>
<td class="colLast">
<div class="block">Sets the counterclockwise rotation degrees.</div>
</td>
</tr>
<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,
float&nbsp;scaleY)</code></th>
<td class="colLast">
@ -249,7 +249,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList">
<li class="blockList">
<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>
<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">
<li class="blockList">
<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.
<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">
<li class="blockList">
<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>
</ul>
</li>

View File

@ -113,7 +113,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<!-- ======== 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.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>
</div>
<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>
<ul class="inheritance">
<li>com.google.android.exoplayer2.transformer.ScaleToFitTransformation</li>
<li>com.google.android.exoplayer2.effect.ScaleToFitTransformation</li>
</ul>
</li>
</ul>
@ -130,18 +130,18 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<li class="blockList">
<dl>
<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>
<hr>
<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>
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.
<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.
<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>
</ul>
</div>
@ -164,9 +164,9 @@ implements <a href="MatrixTransformation.html" title="interface in com.google.an
</tr>
<tr class="altColor">
<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">
<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>
</tr>
</table>
@ -188,7 +188,7 @@ implements <a href="MatrixTransformation.html" title="interface in com.google.an
<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/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,
int&nbsp;inputHeight)</code></th>
<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>
</ul>
<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>
<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>
<code><a href="GlMatrixTransformation.html#toGlTextureProcessor()">toGlTextureProcessor</a></code></li>
<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.transformer.MatrixTransformation">
<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.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>
</ul>
</li>
@ -246,20 +246,20 @@ implements <a href="MatrixTransformation.html" title="interface in com.google.an
<ul class="blockList">
<li class="blockList">
<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,
int&nbsp;inputHeight)</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,
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>Must be called before <a href="GlMatrixTransformation.html#getGlMatrixArray(long)"><code>GlMatrixTransformation.getGlMatrixArray(long)</code></a>.</div>
<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.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>
<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>
<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>
</li>
</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>
<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.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>
</li>
</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