Commit 40d8f004 by Görkem Güclü

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

# Conflicts:
#	library/common/src/main/java/com/google/android/exoplayer2/Format.java
parents a2502226 25fdc4ed
Showing with 978 additions and 458 deletions
...@@ -18,6 +18,7 @@ body: ...@@ -18,6 +18,7 @@ body:
label: ExoPlayer Version label: ExoPlayer Version
description: What version of ExoPlayer are you using? description: What version of ExoPlayer are you using?
options: options:
- 2.18.2
- 2.18.1 - 2.18.1
- 2.18.0 - 2.18.0
- 2.17.1 - 2.17.1
......
# Release notes # Release notes
### 2.18.2 (2022-11-22)
This release corresponds to the
[AndroidX Media3 1.0.0-beta03 release](https://github.com/androidx/media/releases/tag/1.0.0-beta03).
* Core library:
* Add `ExoPlayer.isTunnelingEnabled` to check if tunneling is enabled for
the currently selected tracks
([#2518](https://github.com/google/ExoPlayer/issues/2518)).
* Add `WrappingMediaSource` to simplify wrapping a single `MediaSource`
([#7279](https://github.com/google/ExoPlayer/issues/7279)).
* Discard back buffer before playback gets stuck due to insufficient
available memory.
* Close the Tracing "doSomeWork" block when offload is enabled.
* Fix session tracking problem with fast seeks in `PlaybackStatsListener`
([#180](https://github.com/androidx/media/issues/180)).
* Send missing `onMediaItemTransition` callback when calling `seekToNext`
or `seekToPrevious` in a single-item playlist
([#10667](https://github.com/google/ExoPlayer/issues/10667)).
* Add `Player.getSurfaceSize` that returns the size of the surface on
which the video is rendered.
* Fix bug where removing listeners during the player release can cause an
`IllegalStateException`
([#10758](https://github.com/google/ExoPlayer/issues/10758)).
* Build:
* Enforce minimum `compileSdkVersion` to avoid compilation errors
([#10684](https://github.com/google/ExoPlayer/issues/10684)).
* Track selection:
* Prefer other tracks to Dolby Vision if display does not support it.
([#8944](https://github.com/google/ExoPlayer/issues/8944)).
* Downloads:
* Fix potential infinite loop in `ProgressiveDownloader` caused by
simultaneous download and playback with the same `PriorityTaskManager`
([#10570](https://github.com/google/ExoPlayer/pull/10570)).
* Make download notification appear immediately
([#183](https://github.com/androidx/media/pull/183)).
* Limit parallel download removals to 1 to avoid excessive thread creation
([#10458](https://github.com/google/ExoPlayer/issues/10458)).
* Video:
* Try alternative decoder for Dolby Vision if display does not support it.
([#9794](https://github.com/google/ExoPlayer/issues/9794)).
* Audio:
* Use `SingleThreadExecutor` for releasing `AudioTrack` instances to avoid
OutOfMemory errors when releasing multiple players at the same time
([#10057](https://github.com/google/ExoPlayer/issues/10057)).
* Adds `AudioOffloadListener.onExperimentalOffloadedPlayback` for the
AudioTrack offload state.
([#134](https://github.com/androidx/media/issues/134)).
* Make `AudioTrackBufferSizeProvider` a public interface.
* Add `ExoPlayer.setPreferredAudioDevice` to set the preferred audio
output device ([#135](https://github.com/androidx/media/issues/135)).
* Map 8-channel and 12-channel audio to the 7.1 and 7.1.4 channel masks
respectively on all Android versions
([#10701](https://github.com/google/ExoPlayer/issues/10701)).
* Metadata:
* `MetadataRenderer` can now be configured to render metadata as soon as
they are available. Create an instance with
`MetadataRenderer(MetadataOutput, Looper, MetadataDecoderFactory,
boolean)` to specify whether the renderer will output metadata early or
in sync with the player position.
* DRM:
* Work around a bug in the Android 13 ClearKey implementation that returns
a non-empty but invalid license URL.
* Fix `setMediaDrmSession failed: session not opened` error when switching
between DRM schemes in a playlist (e.g. Widevine to ClearKey).
* Text:
* CEA-608: Ensure service switch commands on field 2 are handled correctly
([#10666](https://github.com/google/ExoPlayer/issues/10666)).
* DASH:
* Parse `EventStream.presentationTimeOffset` from manifests
([#10460](https://github.com/google/ExoPlayer/issues/10460)).
* UI:
* Use current overrides of the player as preset in
`TrackSelectionDialogBuilder`
([#10429](https://github.com/google/ExoPlayer/issues/10429)).
* RTSP:
* Add H263 fragmented packet handling
([#119](https://github.com/androidx/media/pull/119)).
* Add support for MP4A-LATM
([#162](https://github.com/androidx/media/pull/162)).
* IMA:
* Add timeout for loading ad information to handle cases where the IMA SDK
gets stuck loading an ad
([#10510](https://github.com/google/ExoPlayer/issues/10510)).
* Prevent skipping mid-roll ads when seeking to the end of the content
([#10685](https://github.com/google/ExoPlayer/issues/10685)).
* Correctly calculate window duration for live streams with server-side
inserted ads, for example IMA DAI
([#10764](https://github.com/google/ExoPlayer/issues/10764)).
* FFmpeg extension:
* Add newly required flags to link FFmpeg libraries with NDK 23.1.7779620
and above ([#9933](https://github.com/google/ExoPlayer/issues/9933)).
* AV1 extension:
* Update CMake version to avoid incompatibilities with the latest Android
Studio releases
([#9933](https://github.com/google/ExoPlayer/issues/9933)).
* Cast extension:
* Implement `getDeviceInfo()` to be able to identify `CastPlayer` when
controlling playback with a `MediaController`
([#142](https://github.com/androidx/media/issues/142)).
* Transformer:
* Add muxer watchdog timer to detect when generating an output sample is
too slow.
* Remove deprecated symbols:
* Remove `Transformer.Builder.setOutputMimeType(String)`. This feature has
been removed. The MIME type will always be MP4 when the default muxer is
used.
### 2.18.1 (2022-07-21) ### 2.18.1 (2022-07-21)
This release corresponds to the This release corresponds to the
......
...@@ -13,8 +13,8 @@ ...@@ -13,8 +13,8 @@
// limitations under the License. // limitations under the License.
project.ext { project.ext {
// ExoPlayer version and version code. // ExoPlayer version and version code.
releaseVersion = '2.18.1' releaseVersion = '2.18.2'
releaseVersionCode = 2_018_001 releaseVersionCode = 2_018_002
minSdkVersion = 16 minSdkVersion = 16
appTargetSdkVersion = 33 appTargetSdkVersion = 33
// API version before restricting local file access. // API version before restricting local file access.
......
...@@ -35,6 +35,7 @@ ...@@ -35,6 +35,7 @@
android:largeHeap="true" android:largeHeap="true"
android:allowBackup="false" android:allowBackup="false"
android:requestLegacyExternalStorage="true" android:requestLegacyExternalStorage="true"
android:supportsRtl="true"
android:name="androidx.multidex.MultiDexApplication" android:name="androidx.multidex.MultiDexApplication"
tools:targetApi="29"> tools:targetApi="29">
......
/*
* 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);
}
}
...@@ -19,11 +19,11 @@ import static com.google.android.exoplayer2.util.Assertions.checkArgument; ...@@ -19,11 +19,11 @@ import static com.google.android.exoplayer2.util.Assertions.checkArgument;
import android.content.Context; import android.content.Context;
import android.opengl.GLES20; import android.opengl.GLES20;
import android.util.Pair;
import com.google.android.exoplayer2.effect.SingleFrameGlTextureProcessor; import com.google.android.exoplayer2.effect.SingleFrameGlTextureProcessor;
import com.google.android.exoplayer2.util.FrameProcessingException; import com.google.android.exoplayer2.util.FrameProcessingException;
import com.google.android.exoplayer2.util.GlProgram; import com.google.android.exoplayer2.util.GlProgram;
import com.google.android.exoplayer2.util.GlUtil; import com.google.android.exoplayer2.util.GlUtil;
import com.google.android.exoplayer2.util.Size;
import java.io.IOException; import java.io.IOException;
/** /**
...@@ -90,8 +90,8 @@ import java.io.IOException; ...@@ -90,8 +90,8 @@ import java.io.IOException;
} }
@Override @Override
public Pair<Integer, Integer> configure(int inputWidth, int inputHeight) { public Size configure(int inputWidth, int inputHeight) {
return Pair.create(inputWidth, inputHeight); return new Size(inputWidth, inputHeight);
} }
@Override @Override
......
/*
* 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;
}
}
<?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>
...@@ -75,7 +75,7 @@ ...@@ -75,7 +75,7 @@
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/selected_file_text_view" app:layout_constraintTop_toBottomOf="@+id/selected_file_text_view"
app:layout_constraintBottom_toTopOf="@+id/select_demo_effects_button"> app:layout_constraintBottom_toTopOf="@+id/select_audio_effects_button">
<TableLayout <TableLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
...@@ -113,6 +113,15 @@ ...@@ -113,6 +113,15 @@
android:layout_gravity="end" /> android:layout_gravity="end" />
</TableRow> </TableRow>
<TableRow <TableRow
android:layout_weight="1">
<TextView
android:layout_gravity="center_vertical"
android:text="@string/force_silent_audio" />
<CheckBox
android:id="@+id/force_silent_audio_checkbox"
android:layout_gravity="end" />
</TableRow>
<TableRow
android:layout_weight="1" android:layout_weight="1"
android:gravity="center_vertical" > android:gravity="center_vertical" >
<TextView <TextView
...@@ -198,6 +207,15 @@ ...@@ -198,6 +207,15 @@
android:checked="true"/> android:checked="true"/>
</TableRow> </TableRow>
<TableRow <TableRow
android:layout_weight="1">
<TextView
android:layout_gravity="center_vertical"
android:text="@string/abort_slow_transformation" />
<CheckBox
android:id="@+id/abort_slow_transformation_checkbox"
android:layout_gravity="end"/>
</TableRow>
<TableRow
android:layout_weight="1" android:layout_weight="1"
android:gravity="center_vertical" > android:gravity="center_vertical" >
<TextView <TextView
...@@ -211,13 +229,24 @@ ...@@ -211,13 +229,24 @@
</TableLayout> </TableLayout>
</androidx.core.widget.NestedScrollView> </androidx.core.widget.NestedScrollView>
<Button <Button
android:id="@+id/select_demo_effects_button" android:id="@+id/select_audio_effects_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="32dp"
android:layout_marginStart="32dp"
android:layout_marginEnd="32dp"
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_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="32dp" android:layout_marginTop="32dp"
android:layout_marginStart="32dp" android:layout_marginStart="32dp"
android:layout_marginEnd="32dp" android:layout_marginEnd="32dp"
android:text="@string/select_demo_effects" android:text="@string/select_video_effects"
app:layout_constraintBottom_toTopOf="@+id/transform_button" app:layout_constraintBottom_toTopOf="@+id/transform_button"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" /> app:layout_constraintStart_toStartOf="parent" />
......
<?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>
...@@ -29,9 +29,11 @@ ...@@ -29,9 +29,11 @@
<string name="rotate" translatable="false">Rotate video (degrees)</string> <string name="rotate" translatable="false">Rotate video (degrees)</string>
<string name="enable_fallback" translatable="false">Enable fallback</string> <string name="enable_fallback" translatable="false">Enable fallback</string>
<string name="enable_debug_preview" translatable="false">Enable debug preview</string> <string name="enable_debug_preview" translatable="false">Enable debug preview</string>
<string name="abort_slow_transformation" translatable="false">Abort slow transformation</string>
<string name="trim" translatable="false">Trim</string> <string name="trim" translatable="false">Trim</string>
<string name="hdr_mode" translatable="false">HDR mode</string> <string name="hdr_mode" translatable="false">HDR mode</string>
<string name="select_demo_effects" translatable="false">Add demo effects</string> <string name="select_audio_effects" translatable="false">Add audio effects</string>
<string name="select_video_effects" translatable="false">Add video effects</string>
<string name="periodic_vignette_options" translatable="false">Periodic vignette options</string> <string name="periodic_vignette_options" translatable="false">Periodic vignette options</string>
<string name="no_media_pipe_error" translatable="false">Failed to load MediaPipe processor. Check the README for instructions.</string> <string name="no_media_pipe_error" translatable="false">Failed to load MediaPipe processor. Check the README for instructions.</string>
<string name="transform" translatable="false">Transform</string> <string name="transform" translatable="false">Transform</string>
...@@ -64,4 +66,11 @@ ...@@ -64,4 +66,11 @@
<string name="permission_denied">Permission Denied</string> <string name="permission_denied">Permission Denied</string>
<string name="hide_input_video">Hide input video</string> <string name="hide_input_video">Hide input video</string>
<string name="show_input_video">Show input video</string> <string name="show_input_video">Show input video</string>
<string name="force_silent_audio">Force silent audio</string>
<string name="overlay_alpha">Alpha</string>
<string name="overlay_uri">Uri</string>
<string name="bitmap_overlay_settings">Specify bitmap overlay settings</string>
<string name="overlay_text">Text</string>
<string name="overlay_text_color">Text color</string>
<string name="text_overlay_settings">Specify text overlay settings</string>
</resources> </resources>
...@@ -29,6 +29,7 @@ import com.google.android.exoplayer2.effect.TextureInfo; ...@@ -29,6 +29,7 @@ import com.google.android.exoplayer2.effect.TextureInfo;
import com.google.android.exoplayer2.util.FrameProcessingException; import com.google.android.exoplayer2.util.FrameProcessingException;
import com.google.android.exoplayer2.util.LibraryLoader; import com.google.android.exoplayer2.util.LibraryLoader;
import com.google.android.exoplayer2.util.Util; import com.google.android.exoplayer2.util.Util;
import com.google.common.util.concurrent.MoreExecutors;
import com.google.mediapipe.components.FrameProcessor; import com.google.mediapipe.components.FrameProcessor;
import com.google.mediapipe.framework.AppTextureFrame; import com.google.mediapipe.framework.AppTextureFrame;
import com.google.mediapipe.framework.TextureFrame; import com.google.mediapipe.framework.TextureFrame;
...@@ -37,6 +38,7 @@ import java.util.ArrayDeque; ...@@ -37,6 +38,7 @@ import java.util.ArrayDeque;
import java.util.Queue; import java.util.Queue;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutionException;
import java.util.concurrent.Executor;
import java.util.concurrent.ExecutorService; import java.util.concurrent.ExecutorService;
import java.util.concurrent.Future; import java.util.concurrent.Future;
...@@ -74,6 +76,7 @@ import java.util.concurrent.Future; ...@@ -74,6 +76,7 @@ import java.util.concurrent.Future;
private InputListener inputListener; private InputListener inputListener;
private OutputListener outputListener; private OutputListener outputListener;
private ErrorListener errorListener; private ErrorListener errorListener;
private Executor errorListenerExecutor;
private boolean acceptedFrame; private boolean acceptedFrame;
/** /**
...@@ -110,6 +113,7 @@ import java.util.concurrent.Future; ...@@ -110,6 +113,7 @@ import java.util.concurrent.Future;
inputListener = new InputListener() {}; inputListener = new InputListener() {};
outputListener = new OutputListener() {}; outputListener = new OutputListener() {};
errorListener = (frameProcessingException) -> {}; errorListener = (frameProcessingException) -> {};
errorListenerExecutor = MoreExecutors.directExecutor();
EglManager eglManager = new EglManager(EGL14.eglGetCurrentContext()); EglManager eglManager = new EglManager(EGL14.eglGetCurrentContext());
frameProcessor = frameProcessor =
new FrameProcessor( new FrameProcessor(
...@@ -145,10 +149,13 @@ import java.util.concurrent.Future; ...@@ -145,10 +149,13 @@ import java.util.concurrent.Future;
} }
@Override @Override
public void setErrorListener(ErrorListener errorListener) { public void setErrorListener(Executor executor, ErrorListener errorListener) {
this.errorListenerExecutor = executor;
this.errorListener = errorListener; this.errorListener = errorListener;
frameProcessor.setAsynchronousErrorListener( frameProcessor.setAsynchronousErrorListener(
error -> errorListener.onFrameProcessingError(new FrameProcessingException(error))); error ->
errorListenerExecutor.execute(
() -> errorListener.onFrameProcessingError(new FrameProcessingException(error))));
} }
@Override @Override
...@@ -183,7 +190,8 @@ import java.util.concurrent.Future; ...@@ -183,7 +190,8 @@ import java.util.concurrent.Future;
appTextureFrame.waitUntilReleasedWithGpuSync(); appTextureFrame.waitUntilReleasedWithGpuSync();
} catch (InterruptedException e) { } catch (InterruptedException e) {
Thread.currentThread().interrupt(); Thread.currentThread().interrupt();
errorListener.onFrameProcessingError(new FrameProcessingException(e)); errorListenerExecutor.execute(
() -> errorListener.onFrameProcessingError(new FrameProcessingException(e)));
} }
if (acceptedFrame) { if (acceptedFrame) {
inputListener.onInputFrameProcessed(inputTexture); inputListener.onInputFrameProcessed(inputTexture);
...@@ -204,7 +212,10 @@ import java.util.concurrent.Future; ...@@ -204,7 +212,10 @@ import java.util.concurrent.Future;
} catch (InterruptedException e) { } catch (InterruptedException e) {
Thread.currentThread().interrupt(); Thread.currentThread().interrupt();
if (errorListener != null) { if (errorListener != null) {
errorListener.onFrameProcessingError(new FrameProcessingException(e)); errorListenerExecutor.execute(
() ->
errorListener.onFrameProcessingError(
new FrameProcessingException(e)));
} }
} }
} }
...@@ -236,11 +247,15 @@ import java.util.concurrent.Future; ...@@ -236,11 +247,15 @@ import java.util.concurrent.Future;
singleThreadExecutorService.shutdown(); singleThreadExecutorService.shutdown();
try { try {
if (!singleThreadExecutorService.awaitTermination(RELEASE_WAIT_TIME_MS, MILLISECONDS)) { if (!singleThreadExecutorService.awaitTermination(RELEASE_WAIT_TIME_MS, MILLISECONDS)) {
errorListener.onFrameProcessingError(new FrameProcessingException("Release timed out")); errorListenerExecutor.execute(
() ->
errorListener.onFrameProcessingError(
new FrameProcessingException("Release timed out")));
} }
} catch (InterruptedException e) { } catch (InterruptedException e) {
Thread.currentThread().interrupt(); Thread.currentThread().interrupt();
errorListener.onFrameProcessingError(new FrameProcessingException(e)); errorListenerExecutor.execute(
() -> errorListener.onFrameProcessingError(new FrameProcessingException(e)));
} }
frameProcessor.close(); frameProcessor.close();
...@@ -272,10 +287,12 @@ import java.util.concurrent.Future; ...@@ -272,10 +287,12 @@ import java.util.concurrent.Future;
try { try {
futures.remove().get(); futures.remove().get();
} catch (ExecutionException e) { } catch (ExecutionException e) {
errorListener.onFrameProcessingError(new FrameProcessingException(e)); errorListenerExecutor.execute(
() -> errorListener.onFrameProcessingError(new FrameProcessingException(e)));
} catch (InterruptedException e) { } catch (InterruptedException e) {
Thread.currentThread().interrupt(); Thread.currentThread().interrupt();
errorListener.onFrameProcessingError(new FrameProcessingException(e)); errorListenerExecutor.execute(
() -> errorListener.onFrameProcessingError(new FrameProcessingException(e)));
} }
} }
} }
......
This diff could not be displayed because it is too large.
...@@ -183,14 +183,14 @@ implements <a href="Renderer.html" title="interface in com.google.android.exopla ...@@ -183,14 +183,14 @@ implements <a href="Renderer.html" title="interface in com.google.android.exopla
<!-- --> <!-- -->
</a> </a>
<h3>Fields inherited from interface&nbsp;com.google.android.exoplayer2.<a href="Renderer.html" title="interface in com.google.android.exoplayer2">Renderer</a></h3> <h3>Fields inherited from interface&nbsp;com.google.android.exoplayer2.<a href="Renderer.html" title="interface in com.google.android.exoplayer2">Renderer</a></h3>
<code><a href="Renderer.html#MSG_CUSTOM_BASE">MSG_CUSTOM_BASE</a>, <a href="Renderer.html#MSG_SET_AUDIO_ATTRIBUTES">MSG_SET_AUDIO_ATTRIBUTES</a>, <a href="Renderer.html#MSG_SET_AUDIO_SESSION_ID">MSG_SET_AUDIO_SESSION_ID</a>, <a href="Renderer.html#MSG_SET_AUX_EFFECT_INFO">MSG_SET_AUX_EFFECT_INFO</a>, <a href="Renderer.html#MSG_SET_CAMERA_MOTION_LISTENER">MSG_SET_CAMERA_MOTION_LISTENER</a>, <a href="Renderer.html#MSG_SET_CHANGE_FRAME_RATE_STRATEGY">MSG_SET_CHANGE_FRAME_RATE_STRATEGY</a>, <a href="Renderer.html#MSG_SET_SCALING_MODE">MSG_SET_SCALING_MODE</a>, <a href="Renderer.html#MSG_SET_SKIP_SILENCE_ENABLED">MSG_SET_SKIP_SILENCE_ENABLED</a>, <a href="Renderer.html#MSG_SET_VIDEO_FRAME_METADATA_LISTENER">MSG_SET_VIDEO_FRAME_METADATA_LISTENER</a>, <a href="Renderer.html#MSG_SET_VIDEO_OUTPUT">MSG_SET_VIDEO_OUTPUT</a>, <a href="Renderer.html#MSG_SET_VOLUME">MSG_SET_VOLUME</a>, <a href="Renderer.html#MSG_SET_WAKEUP_LISTENER">MSG_SET_WAKEUP_LISTENER</a>, <a href="Renderer.html#STATE_DISABLED">STATE_DISABLED</a>, <a href="Renderer.html#STATE_ENABLED">STATE_ENABLED</a>, <a href="Renderer.html#STATE_STARTED">STATE_STARTED</a></code></li> <code><a href="Renderer.html#MSG_CUSTOM_BASE">MSG_CUSTOM_BASE</a>, <a href="Renderer.html#MSG_SET_AUDIO_ATTRIBUTES">MSG_SET_AUDIO_ATTRIBUTES</a>, <a href="Renderer.html#MSG_SET_AUDIO_SESSION_ID">MSG_SET_AUDIO_SESSION_ID</a>, <a href="Renderer.html#MSG_SET_AUX_EFFECT_INFO">MSG_SET_AUX_EFFECT_INFO</a>, <a href="Renderer.html#MSG_SET_CAMERA_MOTION_LISTENER">MSG_SET_CAMERA_MOTION_LISTENER</a>, <a href="Renderer.html#MSG_SET_CHANGE_FRAME_RATE_STRATEGY">MSG_SET_CHANGE_FRAME_RATE_STRATEGY</a>, <a href="Renderer.html#MSG_SET_PREFERRED_AUDIO_DEVICE">MSG_SET_PREFERRED_AUDIO_DEVICE</a>, <a href="Renderer.html#MSG_SET_SCALING_MODE">MSG_SET_SCALING_MODE</a>, <a href="Renderer.html#MSG_SET_SKIP_SILENCE_ENABLED">MSG_SET_SKIP_SILENCE_ENABLED</a>, <a href="Renderer.html#MSG_SET_VIDEO_FRAME_METADATA_LISTENER">MSG_SET_VIDEO_FRAME_METADATA_LISTENER</a>, <a href="Renderer.html#MSG_SET_VIDEO_OUTPUT">MSG_SET_VIDEO_OUTPUT</a>, <a href="Renderer.html#MSG_SET_VOLUME">MSG_SET_VOLUME</a>, <a href="Renderer.html#MSG_SET_WAKEUP_LISTENER">MSG_SET_WAKEUP_LISTENER</a>, <a href="Renderer.html#STATE_DISABLED">STATE_DISABLED</a>, <a href="Renderer.html#STATE_ENABLED">STATE_ENABLED</a>, <a href="Renderer.html#STATE_STARTED">STATE_STARTED</a></code></li>
</ul> </ul>
<ul class="blockList"> <ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.com.google.android.exoplayer2.RendererCapabilities"> <li class="blockList"><a id="fields.inherited.from.class.com.google.android.exoplayer2.RendererCapabilities">
<!-- --> <!-- -->
</a> </a>
<h3>Fields inherited from interface&nbsp;com.google.android.exoplayer2.<a href="RendererCapabilities.html" title="interface in com.google.android.exoplayer2">RendererCapabilities</a></h3> <h3>Fields inherited from interface&nbsp;com.google.android.exoplayer2.<a href="RendererCapabilities.html" title="interface in com.google.android.exoplayer2">RendererCapabilities</a></h3>
<code><a href="RendererCapabilities.html#ADAPTIVE_NOT_SEAMLESS">ADAPTIVE_NOT_SEAMLESS</a>, <a href="RendererCapabilities.html#ADAPTIVE_NOT_SUPPORTED">ADAPTIVE_NOT_SUPPORTED</a>, <a href="RendererCapabilities.html#ADAPTIVE_SEAMLESS">ADAPTIVE_SEAMLESS</a>, <a href="RendererCapabilities.html#ADAPTIVE_SUPPORT_MASK">ADAPTIVE_SUPPORT_MASK</a>, <a href="RendererCapabilities.html#DECODER_SUPPORT_FALLBACK">DECODER_SUPPORT_FALLBACK</a>, <a href="RendererCapabilities.html#DECODER_SUPPORT_PRIMARY">DECODER_SUPPORT_PRIMARY</a>, <a href="RendererCapabilities.html#FORMAT_EXCEEDS_CAPABILITIES">FORMAT_EXCEEDS_CAPABILITIES</a>, <a href="RendererCapabilities.html#FORMAT_HANDLED">FORMAT_HANDLED</a>, <a href="RendererCapabilities.html#FORMAT_SUPPORT_MASK">FORMAT_SUPPORT_MASK</a>, <a href="RendererCapabilities.html#FORMAT_UNSUPPORTED_DRM">FORMAT_UNSUPPORTED_DRM</a>, <a href="RendererCapabilities.html#FORMAT_UNSUPPORTED_SUBTYPE">FORMAT_UNSUPPORTED_SUBTYPE</a>, <a href="RendererCapabilities.html#FORMAT_UNSUPPORTED_TYPE">FORMAT_UNSUPPORTED_TYPE</a>, <a href="RendererCapabilities.html#HARDWARE_ACCELERATION_NOT_SUPPORTED">HARDWARE_ACCELERATION_NOT_SUPPORTED</a>, <a href="RendererCapabilities.html#HARDWARE_ACCELERATION_SUPPORT_MASK">HARDWARE_ACCELERATION_SUPPORT_MASK</a>, <a href="RendererCapabilities.html#HARDWARE_ACCELERATION_SUPPORTED">HARDWARE_ACCELERATION_SUPPORTED</a>, <a href="RendererCapabilities.html#MODE_SUPPORT_MASK">MODE_SUPPORT_MASK</a>, <a href="RendererCapabilities.html#TUNNELING_NOT_SUPPORTED">TUNNELING_NOT_SUPPORTED</a>, <a href="RendererCapabilities.html#TUNNELING_SUPPORT_MASK">TUNNELING_SUPPORT_MASK</a>, <a href="RendererCapabilities.html#TUNNELING_SUPPORTED">TUNNELING_SUPPORTED</a></code></li> <code><a href="RendererCapabilities.html#ADAPTIVE_NOT_SEAMLESS">ADAPTIVE_NOT_SEAMLESS</a>, <a href="RendererCapabilities.html#ADAPTIVE_NOT_SUPPORTED">ADAPTIVE_NOT_SUPPORTED</a>, <a href="RendererCapabilities.html#ADAPTIVE_SEAMLESS">ADAPTIVE_SEAMLESS</a>, <a href="RendererCapabilities.html#ADAPTIVE_SUPPORT_MASK">ADAPTIVE_SUPPORT_MASK</a>, <a href="RendererCapabilities.html#DECODER_SUPPORT_FALLBACK">DECODER_SUPPORT_FALLBACK</a>, <a href="RendererCapabilities.html#DECODER_SUPPORT_FALLBACK_MIMETYPE">DECODER_SUPPORT_FALLBACK_MIMETYPE</a>, <a href="RendererCapabilities.html#DECODER_SUPPORT_PRIMARY">DECODER_SUPPORT_PRIMARY</a>, <a href="RendererCapabilities.html#FORMAT_EXCEEDS_CAPABILITIES">FORMAT_EXCEEDS_CAPABILITIES</a>, <a href="RendererCapabilities.html#FORMAT_HANDLED">FORMAT_HANDLED</a>, <a href="RendererCapabilities.html#FORMAT_SUPPORT_MASK">FORMAT_SUPPORT_MASK</a>, <a href="RendererCapabilities.html#FORMAT_UNSUPPORTED_DRM">FORMAT_UNSUPPORTED_DRM</a>, <a href="RendererCapabilities.html#FORMAT_UNSUPPORTED_SUBTYPE">FORMAT_UNSUPPORTED_SUBTYPE</a>, <a href="RendererCapabilities.html#FORMAT_UNSUPPORTED_TYPE">FORMAT_UNSUPPORTED_TYPE</a>, <a href="RendererCapabilities.html#HARDWARE_ACCELERATION_NOT_SUPPORTED">HARDWARE_ACCELERATION_NOT_SUPPORTED</a>, <a href="RendererCapabilities.html#HARDWARE_ACCELERATION_SUPPORT_MASK">HARDWARE_ACCELERATION_SUPPORT_MASK</a>, <a href="RendererCapabilities.html#HARDWARE_ACCELERATION_SUPPORTED">HARDWARE_ACCELERATION_SUPPORTED</a>, <a href="RendererCapabilities.html#MODE_SUPPORT_MASK">MODE_SUPPORT_MASK</a>, <a href="RendererCapabilities.html#TUNNELING_NOT_SUPPORTED">TUNNELING_NOT_SUPPORTED</a>, <a href="RendererCapabilities.html#TUNNELING_SUPPORT_MASK">TUNNELING_SUPPORT_MASK</a>, <a href="RendererCapabilities.html#TUNNELING_SUPPORTED">TUNNELING_SUPPORTED</a></code></li>
</ul> </ul>
</li> </li>
</ul> </ul>
......
...@@ -117,7 +117,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height")); ...@@ -117,7 +117,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<a href="https://developer.android.com/reference/java/lang/annotation/Retention.html" title="class or interface in java.lang.annotation" class="externalLink">@Retention</a>(<a href="https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html?is-external=true#SOURCE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">SOURCE</a>) <a href="https://developer.android.com/reference/java/lang/annotation/Retention.html" title="class or interface in java.lang.annotation" class="externalLink">@Retention</a>(<a href="https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html?is-external=true#SOURCE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">SOURCE</a>)
<a href="https://developer.android.com/reference/java/lang/annotation/Target.html" title="class or interface in java.lang.annotation" class="externalLink">@Target</a>(<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#TYPE_USE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">TYPE_USE</a>) <a href="https://developer.android.com/reference/java/lang/annotation/Target.html" title="class or interface in java.lang.annotation" class="externalLink">@Target</a>(<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#TYPE_USE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">TYPE_USE</a>)
public static @interface <span class="memberNameLabel">C.ColorSpace</span></pre> public static @interface <span class="memberNameLabel">C.ColorSpace</span></pre>
<div class="block">Video colorspaces. One of <a href="Format.html#NO_VALUE"><code>Format.NO_VALUE</code></a>, <a href="C.html#COLOR_SPACE_BT709"><code>C.COLOR_SPACE_BT709</code></a>, <a href="C.html#COLOR_SPACE_BT601"><code>C.COLOR_SPACE_BT601</code></a> or <a href="C.html#COLOR_SPACE_BT2020"><code>C.COLOR_SPACE_BT2020</code></a>.</div> <div class="block">Video colorspaces. One of <a href="Format.html#NO_VALUE"><code>Format.NO_VALUE</code></a>, <a href="C.html#COLOR_SPACE_BT601"><code>C.COLOR_SPACE_BT601</code></a>, <a href="C.html#COLOR_SPACE_BT709"><code>C.COLOR_SPACE_BT709</code></a> or <a href="C.html#COLOR_SPACE_BT2020"><code>C.COLOR_SPACE_BT2020</code></a>.</div>
</li> </li>
</ul> </ul>
</div> </div>
......
...@@ -4262,31 +4262,31 @@ public static final&nbsp;int TYPE_OTHER</pre> ...@@ -4262,31 +4262,31 @@ public static final&nbsp;int TYPE_OTHER</pre>
</dl> </dl>
</li> </li>
</ul> </ul>
<a id="COLOR_SPACE_BT709"> <a id="COLOR_SPACE_BT601">
<!-- --> <!-- -->
</a> </a>
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>COLOR_SPACE_BT709</h4> <h4>COLOR_SPACE_BT601</h4>
<pre>public static final&nbsp;int COLOR_SPACE_BT709</pre> <pre>public static final&nbsp;int COLOR_SPACE_BT601</pre>
<dl> <dl>
<dt><span class="seeLabel">See Also:</span></dt> <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>, <dd><a href="https://developer.android.com/reference/android/media/MediaFormat.html#COLOR_STANDARD_BT601_PAL" title="class or interface in android.media" class="externalLink" target="_top"><code>MediaFormat.COLOR_STANDARD_BT601_PAL</code></a>,
<a href="../../../../constant-values.html#com.google.android.exoplayer2.C.COLOR_SPACE_BT709">Constant Field Values</a></dd> <a href="../../../../constant-values.html#com.google.android.exoplayer2.C.COLOR_SPACE_BT601">Constant Field Values</a></dd>
</dl> </dl>
</li> </li>
</ul> </ul>
<a id="COLOR_SPACE_BT601"> <a id="COLOR_SPACE_BT709">
<!-- --> <!-- -->
</a> </a>
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>COLOR_SPACE_BT601</h4> <h4>COLOR_SPACE_BT709</h4>
<pre>public static final&nbsp;int COLOR_SPACE_BT601</pre> <pre>public static final&nbsp;int COLOR_SPACE_BT709</pre>
<dl> <dl>
<dt><span class="seeLabel">See Also:</span></dt> <dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="https://developer.android.com/reference/android/media/MediaFormat.html#COLOR_STANDARD_BT601_PAL" title="class or interface in android.media" class="externalLink" target="_top"><code>MediaFormat.COLOR_STANDARD_BT601_PAL</code></a>, <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_BT601">Constant Field Values</a></dd> <a href="../../../../constant-values.html#com.google.android.exoplayer2.C.COLOR_SPACE_BT709">Constant Field Values</a></dd>
</dl> </dl>
</li> </li>
</ul> </ul>
......
...@@ -290,7 +290,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -290,7 +290,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setFallbackMinPlaybackSpeed</h4> <h4>setFallbackMinPlaybackSpeed</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultLivePlaybackSpeedControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLivePlaybackSpeedControl.Builder</a>&nbsp;setFallbackMinPlaybackSpeed&#8203;(float&nbsp;fallbackMinPlaybackSpeed)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultLivePlaybackSpeedControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLivePlaybackSpeedControl.Builder</a>&nbsp;setFallbackMinPlaybackSpeed&#8203;(float&nbsp;fallbackMinPlaybackSpeed)</pre>
<div class="block">Sets the minimum playback speed that should be used if no minimum playback speed is defined <div class="block">Sets the minimum playback speed that should be used if no minimum playback speed is defined
by the media. by the media.
...@@ -309,7 +310,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -309,7 +310,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setFallbackMaxPlaybackSpeed</h4> <h4>setFallbackMaxPlaybackSpeed</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultLivePlaybackSpeedControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLivePlaybackSpeedControl.Builder</a>&nbsp;setFallbackMaxPlaybackSpeed&#8203;(float&nbsp;fallbackMaxPlaybackSpeed)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultLivePlaybackSpeedControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLivePlaybackSpeedControl.Builder</a>&nbsp;setFallbackMaxPlaybackSpeed&#8203;(float&nbsp;fallbackMaxPlaybackSpeed)</pre>
<div class="block">Sets the maximum playback speed that should be used if no maximum playback speed is defined <div class="block">Sets the maximum playback speed that should be used if no maximum playback speed is defined
by the media. by the media.
...@@ -328,7 +330,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -328,7 +330,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setMinUpdateIntervalMs</h4> <h4>setMinUpdateIntervalMs</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultLivePlaybackSpeedControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLivePlaybackSpeedControl.Builder</a>&nbsp;setMinUpdateIntervalMs&#8203;(long&nbsp;minUpdateIntervalMs)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultLivePlaybackSpeedControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLivePlaybackSpeedControl.Builder</a>&nbsp;setMinUpdateIntervalMs&#8203;(long&nbsp;minUpdateIntervalMs)</pre>
<div class="block">Sets the minimum interval between playback speed changes, in milliseconds. <div class="block">Sets the minimum interval between playback speed changes, in milliseconds.
<p>The default is <a href="DefaultLivePlaybackSpeedControl.html#DEFAULT_MIN_UPDATE_INTERVAL_MS"><code>DefaultLivePlaybackSpeedControl.DEFAULT_MIN_UPDATE_INTERVAL_MS</code></a>.</div> <p>The default is <a href="DefaultLivePlaybackSpeedControl.html#DEFAULT_MIN_UPDATE_INTERVAL_MS"><code>DefaultLivePlaybackSpeedControl.DEFAULT_MIN_UPDATE_INTERVAL_MS</code></a>.</div>
...@@ -347,7 +350,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -347,7 +350,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setProportionalControlFactor</h4> <h4>setProportionalControlFactor</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultLivePlaybackSpeedControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLivePlaybackSpeedControl.Builder</a>&nbsp;setProportionalControlFactor&#8203;(float&nbsp;proportionalControlFactor)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultLivePlaybackSpeedControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLivePlaybackSpeedControl.Builder</a>&nbsp;setProportionalControlFactor&#8203;(float&nbsp;proportionalControlFactor)</pre>
<div class="block">Sets the proportional control factor used to adjust the playback speed. <div class="block">Sets the proportional control factor used to adjust the playback speed.
<p>The factor by which playback will be sped up is calculated as <code>1.0 + <p>The factor by which playback will be sped up is calculated as <code>1.0 +
...@@ -369,7 +373,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -369,7 +373,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setMaxLiveOffsetErrorMsForUnitSpeed</h4> <h4>setMaxLiveOffsetErrorMsForUnitSpeed</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultLivePlaybackSpeedControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLivePlaybackSpeedControl.Builder</a>&nbsp;setMaxLiveOffsetErrorMsForUnitSpeed&#8203;(long&nbsp;maxLiveOffsetErrorMsForUnitSpeed)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultLivePlaybackSpeedControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLivePlaybackSpeedControl.Builder</a>&nbsp;setMaxLiveOffsetErrorMsForUnitSpeed&#8203;(long&nbsp;maxLiveOffsetErrorMsForUnitSpeed)</pre>
<div class="block">Sets the maximum difference between the current live offset and the target live offset, in <div class="block">Sets the maximum difference between the current live offset and the target live offset, in
milliseconds, for which unit speed (1.0f) is used. milliseconds, for which unit speed (1.0f) is used.
...@@ -389,7 +394,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -389,7 +394,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setTargetLiveOffsetIncrementOnRebufferMs</h4> <h4>setTargetLiveOffsetIncrementOnRebufferMs</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultLivePlaybackSpeedControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLivePlaybackSpeedControl.Builder</a>&nbsp;setTargetLiveOffsetIncrementOnRebufferMs&#8203;(long&nbsp;targetLiveOffsetIncrementOnRebufferMs)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultLivePlaybackSpeedControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLivePlaybackSpeedControl.Builder</a>&nbsp;setTargetLiveOffsetIncrementOnRebufferMs&#8203;(long&nbsp;targetLiveOffsetIncrementOnRebufferMs)</pre>
<div class="block">Sets the increment applied to the target live offset each time the player is rebuffering, in <div class="block">Sets the increment applied to the target live offset each time the player is rebuffering, in
milliseconds.</div> milliseconds.</div>
<dl> <dl>
...@@ -407,7 +413,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -407,7 +413,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setMinPossibleLiveOffsetSmoothingFactor</h4> <h4>setMinPossibleLiveOffsetSmoothingFactor</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultLivePlaybackSpeedControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLivePlaybackSpeedControl.Builder</a>&nbsp;setMinPossibleLiveOffsetSmoothingFactor&#8203;(float&nbsp;minPossibleLiveOffsetSmoothingFactor)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultLivePlaybackSpeedControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLivePlaybackSpeedControl.Builder</a>&nbsp;setMinPossibleLiveOffsetSmoothingFactor&#8203;(float&nbsp;minPossibleLiveOffsetSmoothingFactor)</pre>
<div class="block">Sets the smoothing factor when smoothing the minimum possible live offset that can be <div class="block">Sets the smoothing factor when smoothing the minimum possible live offset that can be
achieved during playback. achieved during playback.
......
...@@ -286,7 +286,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -286,7 +286,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setAllocator</h4> <h4>setAllocator</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultLoadControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLoadControl.Builder</a>&nbsp;setAllocator&#8203;(<a href="upstream/DefaultAllocator.html" title="class in com.google.android.exoplayer2.upstream">DefaultAllocator</a>&nbsp;allocator)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultLoadControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLoadControl.Builder</a>&nbsp;setAllocator&#8203;(<a href="upstream/DefaultAllocator.html" title="class in com.google.android.exoplayer2.upstream">DefaultAllocator</a>&nbsp;allocator)</pre>
<div class="block">Sets the <a href="upstream/DefaultAllocator.html" title="class in com.google.android.exoplayer2.upstream"><code>DefaultAllocator</code></a> used by the loader.</div> <div class="block">Sets the <a href="upstream/DefaultAllocator.html" title="class in com.google.android.exoplayer2.upstream"><code>DefaultAllocator</code></a> used by the loader.</div>
<dl> <dl>
<dt><span class="paramLabel">Parameters:</span></dt> <dt><span class="paramLabel">Parameters:</span></dt>
...@@ -304,7 +305,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -304,7 +305,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setBufferDurationsMs</h4> <h4>setBufferDurationsMs</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultLoadControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLoadControl.Builder</a>&nbsp;setBufferDurationsMs&#8203;(int&nbsp;minBufferMs, <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultLoadControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLoadControl.Builder</a>&nbsp;setBufferDurationsMs&#8203;(int&nbsp;minBufferMs,
int&nbsp;maxBufferMs, int&nbsp;maxBufferMs,
int&nbsp;bufferForPlaybackMs, int&nbsp;bufferForPlaybackMs,
int&nbsp;bufferForPlaybackAfterRebufferMs)</pre> int&nbsp;bufferForPlaybackAfterRebufferMs)</pre>
...@@ -333,7 +335,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -333,7 +335,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setTargetBufferBytes</h4> <h4>setTargetBufferBytes</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultLoadControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLoadControl.Builder</a>&nbsp;setTargetBufferBytes&#8203;(int&nbsp;targetBufferBytes)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultLoadControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLoadControl.Builder</a>&nbsp;setTargetBufferBytes&#8203;(int&nbsp;targetBufferBytes)</pre>
<div class="block">Sets the target buffer size in bytes. If set to <a href="C.html#LENGTH_UNSET"><code>C.LENGTH_UNSET</code></a>, the target buffer <div class="block">Sets the target buffer size in bytes. If set to <a href="C.html#LENGTH_UNSET"><code>C.LENGTH_UNSET</code></a>, the target buffer
size will be calculated based on the selected tracks.</div> size will be calculated based on the selected tracks.</div>
<dl> <dl>
...@@ -352,7 +355,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -352,7 +355,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setPrioritizeTimeOverSizeThresholds</h4> <h4>setPrioritizeTimeOverSizeThresholds</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultLoadControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLoadControl.Builder</a>&nbsp;setPrioritizeTimeOverSizeThresholds&#8203;(boolean&nbsp;prioritizeTimeOverSizeThresholds)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultLoadControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLoadControl.Builder</a>&nbsp;setPrioritizeTimeOverSizeThresholds&#8203;(boolean&nbsp;prioritizeTimeOverSizeThresholds)</pre>
<div class="block">Sets whether the load control prioritizes buffer time constraints over buffer size <div class="block">Sets whether the load control prioritizes buffer time constraints over buffer size
constraints.</div> constraints.</div>
<dl> <dl>
...@@ -372,7 +376,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -372,7 +376,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setBackBuffer</h4> <h4>setBackBuffer</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultLoadControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLoadControl.Builder</a>&nbsp;setBackBuffer&#8203;(int&nbsp;backBufferDurationMs, <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultLoadControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLoadControl.Builder</a>&nbsp;setBackBuffer&#8203;(int&nbsp;backBufferDurationMs,
boolean&nbsp;retainBackBufferFromKeyframe)</pre> boolean&nbsp;retainBackBufferFromKeyframe)</pre>
<div class="block">Sets the back buffer duration, and whether the back buffer is retained from the previous <div class="block">Sets the back buffer duration, and whether the back buffer is retained from the previous
keyframe.</div> keyframe.</div>
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
catch(err) { catch(err) {
} }
//--> //-->
var data = {"i0":18,"i1":18}; var data = {"i0":18,"i1":18,"i2":18};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],16:["t5","Default Methods"]}; var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],16:["t5","Default Methods"]};
var altColor = "altColor"; var altColor = "altColor";
var rowColor = "rowColor"; var rowColor = "rowColor";
...@@ -151,12 +151,19 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height")); ...@@ -151,12 +151,19 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</tr> </tr>
<tr id="i0" class="altColor"> <tr id="i0" class="altColor">
<td class="colFirst"><code>default void</code></td> <td class="colFirst"><code>default void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onExperimentalOffloadedPlayback(boolean)">onExperimentalOffloadedPlayback</a></span>&#8203;(boolean&nbsp;offloadedPlayback)</code></th>
<td class="colLast">
<div class="block">Called when the value of <a href="https://developer.android.com/reference/android/media/AudioTrack.html#isOffloadedPlayback()" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack.isOffloadedPlayback()</code></a> changes.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>default void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onExperimentalOffloadSchedulingEnabledChanged(boolean)">onExperimentalOffloadSchedulingEnabledChanged</a></span>&#8203;(boolean&nbsp;offloadSchedulingEnabled)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onExperimentalOffloadSchedulingEnabledChanged(boolean)">onExperimentalOffloadSchedulingEnabledChanged</a></span>&#8203;(boolean&nbsp;offloadSchedulingEnabled)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Called when the player has started or stopped offload scheduling using <a href="ExoPlayer.html#experimentalSetOffloadSchedulingEnabled(boolean)"><code>ExoPlayer.experimentalSetOffloadSchedulingEnabled(boolean)</code></a>.</div> <div class="block">Called when the player has started or stopped offload scheduling using <a href="ExoPlayer.html#experimentalSetOffloadSchedulingEnabled(boolean)"><code>ExoPlayer.experimentalSetOffloadSchedulingEnabled(boolean)</code></a>.</div>
</td> </td>
</tr> </tr>
<tr id="i1" class="rowColor"> <tr id="i2" class="altColor">
<td class="colFirst"><code>default void</code></td> <td class="colFirst"><code>default void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onExperimentalSleepingForOffloadChanged(boolean)">onExperimentalSleepingForOffloadChanged</a></span>&#8203;(boolean&nbsp;sleepingForOffload)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onExperimentalSleepingForOffloadChanged(boolean)">onExperimentalSleepingForOffloadChanged</a></span>&#8203;(boolean&nbsp;sleepingForOffload)</code></th>
<td class="colLast"> <td class="colLast">
...@@ -195,7 +202,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height")); ...@@ -195,7 +202,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<a id="onExperimentalSleepingForOffloadChanged(boolean)"> <a id="onExperimentalSleepingForOffloadChanged(boolean)">
<!-- --> <!-- -->
</a> </a>
<ul class="blockListLast"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>onExperimentalSleepingForOffloadChanged</h4> <h4>onExperimentalSleepingForOffloadChanged</h4>
<pre class="methodSignature">default&nbsp;void&nbsp;onExperimentalSleepingForOffloadChanged&#8203;(boolean&nbsp;sleepingForOffload)</pre> <pre class="methodSignature">default&nbsp;void&nbsp;onExperimentalSleepingForOffloadChanged&#8203;(boolean&nbsp;sleepingForOffload)</pre>
...@@ -204,6 +211,21 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height")); ...@@ -204,6 +211,21 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<p>This method is experimental, and will be renamed or removed in a future release.</div> <p>This method is experimental, and will be renamed or removed in a future release.</div>
</li> </li>
</ul> </ul>
<a id="onExperimentalOffloadedPlayback(boolean)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>onExperimentalOffloadedPlayback</h4>
<pre class="methodSignature">default&nbsp;void&nbsp;onExperimentalOffloadedPlayback&#8203;(boolean&nbsp;offloadedPlayback)</pre>
<div class="block">Called when the value of <a href="https://developer.android.com/reference/android/media/AudioTrack.html#isOffloadedPlayback()" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack.isOffloadedPlayback()</code></a> changes.
<p>This should not be generally required to be acted upon. But when offload is critical for
efficiency, or audio features (gapless, playback speed), this will let the app know.
<p>This method is experimental, and will be renamed or removed in a future release.</div>
</li>
</ul>
</li> </li>
</ul> </ul>
</section> </section>
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
catch(err) { catch(err) {
} }
//--> //-->
var data = {"i0":10,"i1":42,"i2":10,"i3":42,"i4":42,"i5":42,"i6":42,"i7":42,"i8":42,"i9":42,"i10":42,"i11":42,"i12":41,"i13":41,"i14":41,"i15":41,"i16":41,"i17":41,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":9,"i24":10,"i25":10}; var data = {"i0":10,"i1":42,"i2":10,"i3":42,"i4":42,"i5":42,"i6":42,"i7":42,"i8":42,"i9":42,"i10":42,"i11":42,"i12":41,"i13":41,"i14":41,"i15":41,"i16":41,"i17":41,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":9,"i25":10,"i26":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]}; var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
var altColor = "altColor"; var altColor = "altColor";
var rowColor = "rowColor"; var rowColor = "rowColor";
...@@ -764,18 +764,25 @@ implements <a href="Bundleable.html" title="interface in com.google.android.exop ...@@ -764,18 +764,25 @@ implements <a href="Bundleable.html" title="interface in com.google.android.exop
</td> </td>
</tr> </tr>
<tr id="i23" class="rowColor"> <tr id="i23" class="rowColor">
<td class="colFirst"><code><a href="https://developer.android.com/reference/android/os/Bundle.html" title="class or interface in android.os" class="externalLink" target="_top">Bundle</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toBundle(boolean)">toBundle</a></span>&#8203;(boolean&nbsp;excludeMetadata)</code></th>
<td class="colLast">
<div class="block">Returns a <a href="https://developer.android.com/reference/android/os/Bundle.html" title="class or interface in android.os" class="externalLink" target="_top"><code>Bundle</code></a> representing the information stored in this object.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>static <a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a></code></td> <td class="colFirst"><code>static <a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toLogString(com.google.android.exoplayer2.Format)">toLogString</a></span>&#8203;(<a href="Format.html" title="class in com.google.android.exoplayer2">Format</a>&nbsp;format)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toLogString(com.google.android.exoplayer2.Format)">toLogString</a></span>&#8203;(<a href="Format.html" title="class in com.google.android.exoplayer2">Format</a>&nbsp;format)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Returns a prettier <a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink"><code>String</code></a> than <a href="#toString()" target="_top"><code>toString()</code></a>, intended for logging.</div> <div class="block">Returns a prettier <a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink"><code>String</code></a> than <a href="#toString()" target="_top"><code>toString()</code></a>, intended for logging.</div>
</td> </td>
</tr> </tr>
<tr id="i24" class="altColor"> <tr id="i25" class="rowColor">
<td class="colFirst"><code><a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a></code></td> <td class="colFirst"><code><a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toString()">toString</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toString()">toString</a></span>()</code></th>
<td class="colLast">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr id="i25" class="rowColor"> <tr id="i26" class="altColor">
<td class="colFirst"><code><a href="Format.html" title="class in com.google.android.exoplayer2">Format</a></code></td> <td class="colFirst"><code><a href="Format.html" title="class in com.google.android.exoplayer2">Format</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#withManifestFormatInfo(com.google.android.exoplayer2.Format)">withManifestFormatInfo</a></span>&#8203;(<a href="Format.html" title="class in com.google.android.exoplayer2">Format</a>&nbsp;manifestFormat)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#withManifestFormatInfo(com.google.android.exoplayer2.Format)">withManifestFormatInfo</a></span>&#8203;(<a href="Format.html" title="class in com.google.android.exoplayer2">Format</a>&nbsp;manifestFormat)</code></th>
<td class="colLast">&nbsp;</td> <td class="colLast">&nbsp;</td>
...@@ -1627,7 +1634,7 @@ public&nbsp;<a href="Format.html" title="class in com.google.android.exoplayer2" ...@@ -1627,7 +1634,7 @@ public&nbsp;<a href="Format.html" title="class in com.google.android.exoplayer2"
<a id="toBundle()"> <a id="toBundle()">
<!-- --> <!-- -->
</a> </a>
<ul class="blockListLast"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>toBundle</h4> <h4>toBundle</h4>
<pre class="methodSignature">public&nbsp;<a href="https://developer.android.com/reference/android/os/Bundle.html" title="class or interface in android.os" class="externalLink" target="_top">Bundle</a>&nbsp;toBundle()</pre> <pre class="methodSignature">public&nbsp;<a href="https://developer.android.com/reference/android/os/Bundle.html" title="class or interface in android.os" class="externalLink" target="_top">Bundle</a>&nbsp;toBundle()</pre>
...@@ -1639,6 +1646,17 @@ public&nbsp;<a href="Format.html" title="class in com.google.android.exoplayer2" ...@@ -1639,6 +1646,17 @@ public&nbsp;<a href="Format.html" title="class in com.google.android.exoplayer2"
</dl> </dl>
</li> </li>
</ul> </ul>
<a id="toBundle(boolean)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toBundle</h4>
<pre class="methodSignature">public&nbsp;<a href="https://developer.android.com/reference/android/os/Bundle.html" title="class or interface in android.os" class="externalLink" target="_top">Bundle</a>&nbsp;toBundle&#8203;(boolean&nbsp;excludeMetadata)</pre>
<div class="block">Returns a <a href="https://developer.android.com/reference/android/os/Bundle.html" title="class or interface in android.os" class="externalLink" target="_top"><code>Bundle</code></a> representing the information stored in this object. If <code>
excludeMetadata</code> is true, <a href="#metadata">metadata</a> is excluded.</div>
</li>
</ul>
</li> </li>
</ul> </ul>
</section> </section>
......
...@@ -252,7 +252,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -252,7 +252,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setAdTagUri</h4> <h4>setAdTagUri</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.AdsConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.AdsConfiguration.Builder</a>&nbsp;setAdTagUri&#8203;(<a href="https://developer.android.com/reference/android/net/Uri.html" title="class or interface in android.net" class="externalLink" target="_top">Uri</a>&nbsp;adTagUri)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.AdsConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.AdsConfiguration.Builder</a>&nbsp;setAdTagUri&#8203;(<a href="https://developer.android.com/reference/android/net/Uri.html" title="class or interface in android.net" class="externalLink" target="_top">Uri</a>&nbsp;adTagUri)</pre>
<div class="block">Sets the ad tag URI to load.</div> <div class="block">Sets the ad tag URI to load.</div>
</li> </li>
</ul> </ul>
...@@ -262,7 +263,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -262,7 +263,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setAdsId</h4> <h4>setAdsId</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.AdsConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.AdsConfiguration.Builder</a>&nbsp;setAdsId&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.AdsConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.AdsConfiguration.Builder</a>&nbsp;setAdsId&#8203;(@Nullable
<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a>&nbsp;adsId)</pre> <a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a>&nbsp;adsId)</pre>
<div class="block">Sets the ads identifier. <div class="block">Sets the ads identifier.
......
...@@ -285,7 +285,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -285,7 +285,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setStartPositionMs</h4> <h4>setStartPositionMs</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.ClippingConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.ClippingConfiguration.Builder</a>&nbsp;setStartPositionMs&#8203;(@IntRange(from=0L) <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.ClippingConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.ClippingConfiguration.Builder</a>&nbsp;setStartPositionMs&#8203;(@IntRange(from=0L)
long&nbsp;startPositionMs)</pre> long&nbsp;startPositionMs)</pre>
<div class="block">Sets the optional start position in milliseconds which must be a value larger than or equal <div class="block">Sets the optional start position in milliseconds which must be a value larger than or equal
to zero (Default: 0).</div> to zero (Default: 0).</div>
...@@ -297,7 +298,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -297,7 +298,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setEndPositionMs</h4> <h4>setEndPositionMs</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.ClippingConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.ClippingConfiguration.Builder</a>&nbsp;setEndPositionMs&#8203;(long&nbsp;endPositionMs)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.ClippingConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.ClippingConfiguration.Builder</a>&nbsp;setEndPositionMs&#8203;(long&nbsp;endPositionMs)</pre>
<div class="block">Sets the optional end position in milliseconds which must be a value larger than or equal <div class="block">Sets the optional end position in milliseconds which must be a value larger than or equal
to zero, or <a href="C.html#TIME_END_OF_SOURCE"><code>C.TIME_END_OF_SOURCE</code></a> to end when playback reaches the end of media to zero, or <a href="C.html#TIME_END_OF_SOURCE"><code>C.TIME_END_OF_SOURCE</code></a> to end when playback reaches the end of media
(Default: <a href="C.html#TIME_END_OF_SOURCE"><code>C.TIME_END_OF_SOURCE</code></a>).</div> (Default: <a href="C.html#TIME_END_OF_SOURCE"><code>C.TIME_END_OF_SOURCE</code></a>).</div>
...@@ -309,7 +311,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -309,7 +311,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setRelativeToLiveWindow</h4> <h4>setRelativeToLiveWindow</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.ClippingConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.ClippingConfiguration.Builder</a>&nbsp;setRelativeToLiveWindow&#8203;(boolean&nbsp;relativeToLiveWindow)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.ClippingConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.ClippingConfiguration.Builder</a>&nbsp;setRelativeToLiveWindow&#8203;(boolean&nbsp;relativeToLiveWindow)</pre>
<div class="block">Sets whether the start/end positions should move with the live window for live streams. If <div class="block">Sets whether the start/end positions should move with the live window for live streams. If
<code>false</code>, live streams end when playback reaches the end position in live window seen <code>false</code>, live streams end when playback reaches the end position in live window seen
when the media is first loaded (Default: <code>false</code>).</div> when the media is first loaded (Default: <code>false</code>).</div>
...@@ -321,7 +324,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -321,7 +324,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setRelativeToDefaultPosition</h4> <h4>setRelativeToDefaultPosition</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.ClippingConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.ClippingConfiguration.Builder</a>&nbsp;setRelativeToDefaultPosition&#8203;(boolean&nbsp;relativeToDefaultPosition)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.ClippingConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.ClippingConfiguration.Builder</a>&nbsp;setRelativeToDefaultPosition&#8203;(boolean&nbsp;relativeToDefaultPosition)</pre>
<div class="block">Sets whether the start position and the end position are relative to the default position <div class="block">Sets whether the start position and the end position are relative to the default position
in the window (Default: <code>false</code>).</div> in the window (Default: <code>false</code>).</div>
</li> </li>
...@@ -332,7 +336,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -332,7 +336,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setStartsAtKeyFrame</h4> <h4>setStartsAtKeyFrame</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.ClippingConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.ClippingConfiguration.Builder</a>&nbsp;setStartsAtKeyFrame&#8203;(boolean&nbsp;startsAtKeyFrame)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.ClippingConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.ClippingConfiguration.Builder</a>&nbsp;setStartsAtKeyFrame&#8203;(boolean&nbsp;startsAtKeyFrame)</pre>
<div class="block">Sets whether the start point is guaranteed to be a key frame. If <code>false</code>, the <div class="block">Sets whether the start point is guaranteed to be a key frame. If <code>false</code>, the
playback transition into the clip may not be seamless (Default: <code>false</code>).</div> playback transition into the clip may not be seamless (Default: <code>false</code>).</div>
</li> </li>
......
...@@ -271,7 +271,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -271,7 +271,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setTargetOffsetMs</h4> <h4>setTargetOffsetMs</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.LiveConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.LiveConfiguration.Builder</a>&nbsp;setTargetOffsetMs&#8203;(long&nbsp;targetOffsetMs)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.LiveConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.LiveConfiguration.Builder</a>&nbsp;setTargetOffsetMs&#8203;(long&nbsp;targetOffsetMs)</pre>
<div class="block">Sets the target live offset, in milliseconds. <div class="block">Sets the target live offset, in milliseconds.
<p>See <code>Player#getCurrentLiveOffset()</code>. <p>See <code>Player#getCurrentLiveOffset()</code>.
...@@ -285,7 +286,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -285,7 +286,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setMinOffsetMs</h4> <h4>setMinOffsetMs</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.LiveConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.LiveConfiguration.Builder</a>&nbsp;setMinOffsetMs&#8203;(long&nbsp;minOffsetMs)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.LiveConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.LiveConfiguration.Builder</a>&nbsp;setMinOffsetMs&#8203;(long&nbsp;minOffsetMs)</pre>
<div class="block">Sets the minimum allowed live offset, in milliseconds. <div class="block">Sets the minimum allowed live offset, in milliseconds.
<p>See <code>Player#getCurrentLiveOffset()</code>. <p>See <code>Player#getCurrentLiveOffset()</code>.
...@@ -299,7 +301,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -299,7 +301,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setMaxOffsetMs</h4> <h4>setMaxOffsetMs</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.LiveConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.LiveConfiguration.Builder</a>&nbsp;setMaxOffsetMs&#8203;(long&nbsp;maxOffsetMs)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.LiveConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.LiveConfiguration.Builder</a>&nbsp;setMaxOffsetMs&#8203;(long&nbsp;maxOffsetMs)</pre>
<div class="block">Sets the maximum allowed live offset, in milliseconds. <div class="block">Sets the maximum allowed live offset, in milliseconds.
<p>See <code>Player#getCurrentLiveOffset()</code>. <p>See <code>Player#getCurrentLiveOffset()</code>.
...@@ -313,7 +316,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -313,7 +316,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setMinPlaybackSpeed</h4> <h4>setMinPlaybackSpeed</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.LiveConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.LiveConfiguration.Builder</a>&nbsp;setMinPlaybackSpeed&#8203;(float&nbsp;minPlaybackSpeed)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.LiveConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.LiveConfiguration.Builder</a>&nbsp;setMinPlaybackSpeed&#8203;(float&nbsp;minPlaybackSpeed)</pre>
<div class="block">Sets the minimum playback speed. <div class="block">Sets the minimum playback speed.
<p>Defaults to <a href="C.html#RATE_UNSET"><code>C.RATE_UNSET</code></a>, indicating the media-defined default will be used.</div> <p>Defaults to <a href="C.html#RATE_UNSET"><code>C.RATE_UNSET</code></a>, indicating the media-defined default will be used.</div>
...@@ -325,7 +329,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -325,7 +329,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setMaxPlaybackSpeed</h4> <h4>setMaxPlaybackSpeed</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.LiveConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.LiveConfiguration.Builder</a>&nbsp;setMaxPlaybackSpeed&#8203;(float&nbsp;maxPlaybackSpeed)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.LiveConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.LiveConfiguration.Builder</a>&nbsp;setMaxPlaybackSpeed&#8203;(float&nbsp;maxPlaybackSpeed)</pre>
<div class="block">Sets the maximum playback speed. <div class="block">Sets the maximum playback speed.
<p>Defaults to <a href="C.html#RATE_UNSET"><code>C.RATE_UNSET</code></a>, indicating the media-defined default will be used.</div> <p>Defaults to <a href="C.html#RATE_UNSET"><code>C.RATE_UNSET</code></a>, indicating the media-defined default will be used.</div>
......
...@@ -257,7 +257,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -257,7 +257,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setMediaUri</h4> <h4>setMediaUri</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.RequestMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.RequestMetadata.Builder</a>&nbsp;setMediaUri&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.RequestMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.RequestMetadata.Builder</a>&nbsp;setMediaUri&#8203;(@Nullable
<a href="https://developer.android.com/reference/android/net/Uri.html" title="class or interface in android.net" class="externalLink" target="_top">Uri</a>&nbsp;mediaUri)</pre> <a href="https://developer.android.com/reference/android/net/Uri.html" title="class or interface in android.net" class="externalLink" target="_top">Uri</a>&nbsp;mediaUri)</pre>
<div class="block">Sets the URI of the requested media, or null if not known or applicable.</div> <div class="block">Sets the URI of the requested media, or null if not known or applicable.</div>
</li> </li>
...@@ -268,7 +269,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -268,7 +269,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setSearchQuery</h4> <h4>setSearchQuery</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.RequestMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.RequestMetadata.Builder</a>&nbsp;setSearchQuery&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.RequestMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.RequestMetadata.Builder</a>&nbsp;setSearchQuery&#8203;(@Nullable
<a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a>&nbsp;searchQuery)</pre> <a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a>&nbsp;searchQuery)</pre>
<div class="block">Sets the search query for the requested media, or null if not applicable.</div> <div class="block">Sets the search query for the requested media, or null if not applicable.</div>
</li> </li>
...@@ -279,7 +281,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -279,7 +281,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setExtras</h4> <h4>setExtras</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.RequestMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.RequestMetadata.Builder</a>&nbsp;setExtras&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.RequestMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.RequestMetadata.Builder</a>&nbsp;setExtras&#8203;(@Nullable
<a href="https://developer.android.com/reference/android/os/Bundle.html" title="class or interface in android.os" class="externalLink" target="_top">Bundle</a>&nbsp;extras)</pre> <a href="https://developer.android.com/reference/android/os/Bundle.html" title="class or interface in android.os" class="externalLink" target="_top">Bundle</a>&nbsp;extras)</pre>
<div class="block">Sets optional extras <a href="https://developer.android.com/reference/android/os/Bundle.html" title="class or interface in android.os" class="externalLink" target="_top"><code>Bundle</code></a>.</div> <div class="block">Sets optional extras <a href="https://developer.android.com/reference/android/os/Bundle.html" title="class or interface in android.os" class="externalLink" target="_top"><code>Bundle</code></a>.</div>
</li> </li>
......
...@@ -143,7 +143,7 @@ implements <a href="Bundleable.html" title="interface in com.google.android.exop ...@@ -143,7 +143,7 @@ implements <a href="Bundleable.html" title="interface in com.google.android.exop
<div class="block">Metadata that helps the player to understand a playback request represented by a <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a>. <div class="block">Metadata that helps the player to understand a playback request represented by a <a href="MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a>.
<p>This metadata is most useful for cases where playback requests are forwarded to other player <p>This metadata is most useful for cases where playback requests are forwarded to other player
instances (e.g. from a <a href="https://developer.android.com/reference/android/media/session/MediaController.html" title="class or interface in android.media.session" class="externalLink" target="_top"><code>MediaController</code></a>) and the player creating instances (e.g. from a <code>androidx.media3.session.MediaController</code>) and the player creating
the request doesn't know the required <a href="MediaItem.LocalConfiguration.html" title="class in com.google.android.exoplayer2"><code>MediaItem.LocalConfiguration</code></a> for playback.</div> the request doesn't know the required <a href="MediaItem.LocalConfiguration.html" title="class in com.google.android.exoplayer2"><code>MediaItem.LocalConfiguration</code></a> for playback.</div>
</li> </li>
</ul> </ul>
......
...@@ -289,7 +289,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -289,7 +289,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setUri</h4> <h4>setUri</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.SubtitleConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.SubtitleConfiguration.Builder</a>&nbsp;setUri&#8203;(<a href="https://developer.android.com/reference/android/net/Uri.html" title="class or interface in android.net" class="externalLink" target="_top">Uri</a>&nbsp;uri)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.SubtitleConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.SubtitleConfiguration.Builder</a>&nbsp;setUri&#8203;(<a href="https://developer.android.com/reference/android/net/Uri.html" title="class or interface in android.net" class="externalLink" target="_top">Uri</a>&nbsp;uri)</pre>
<div class="block">Sets the <a href="https://developer.android.com/reference/android/net/Uri.html" title="class or interface in android.net" class="externalLink" target="_top"><code>Uri</code></a> to the subtitle file.</div> <div class="block">Sets the <a href="https://developer.android.com/reference/android/net/Uri.html" title="class or interface in android.net" class="externalLink" target="_top"><code>Uri</code></a> to the subtitle file.</div>
</li> </li>
</ul> </ul>
...@@ -299,7 +300,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -299,7 +300,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setMimeType</h4> <h4>setMimeType</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.SubtitleConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.SubtitleConfiguration.Builder</a>&nbsp;setMimeType&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.SubtitleConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.SubtitleConfiguration.Builder</a>&nbsp;setMimeType&#8203;(@Nullable
<a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a>&nbsp;mimeType)</pre> <a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a>&nbsp;mimeType)</pre>
<div class="block">Sets the MIME type.</div> <div class="block">Sets the MIME type.</div>
</li> </li>
...@@ -310,7 +312,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -310,7 +312,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setLanguage</h4> <h4>setLanguage</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.SubtitleConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.SubtitleConfiguration.Builder</a>&nbsp;setLanguage&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.SubtitleConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.SubtitleConfiguration.Builder</a>&nbsp;setLanguage&#8203;(@Nullable
<a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a>&nbsp;language)</pre> <a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a>&nbsp;language)</pre>
<div class="block">Sets the optional language of the subtitle file.</div> <div class="block">Sets the optional language of the subtitle file.</div>
</li> </li>
...@@ -321,7 +324,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -321,7 +324,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setSelectionFlags</h4> <h4>setSelectionFlags</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.SubtitleConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.SubtitleConfiguration.Builder</a>&nbsp;setSelectionFlags&#8203;(<a href="C.SelectionFlags.html" title="annotation in com.google.android.exoplayer2">@SelectionFlags</a> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.SubtitleConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.SubtitleConfiguration.Builder</a>&nbsp;setSelectionFlags&#8203;(<a href="C.SelectionFlags.html" title="annotation in com.google.android.exoplayer2">@SelectionFlags</a>
@com.google.android.exoplayer2.C.SelectionFlags int&nbsp;selectionFlags)</pre> @com.google.android.exoplayer2.C.SelectionFlags int&nbsp;selectionFlags)</pre>
<div class="block">Sets the flags used for track selection.</div> <div class="block">Sets the flags used for track selection.</div>
</li> </li>
...@@ -332,7 +336,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -332,7 +336,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setRoleFlags</h4> <h4>setRoleFlags</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.SubtitleConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.SubtitleConfiguration.Builder</a>&nbsp;setRoleFlags&#8203;(<a href="C.RoleFlags.html" title="annotation in com.google.android.exoplayer2">@RoleFlags</a> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.SubtitleConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.SubtitleConfiguration.Builder</a>&nbsp;setRoleFlags&#8203;(<a href="C.RoleFlags.html" title="annotation in com.google.android.exoplayer2">@RoleFlags</a>
@com.google.android.exoplayer2.C.RoleFlags int&nbsp;roleFlags)</pre> @com.google.android.exoplayer2.C.RoleFlags int&nbsp;roleFlags)</pre>
<div class="block">Sets the role flags. These are used for track selection.</div> <div class="block">Sets the role flags. These are used for track selection.</div>
</li> </li>
...@@ -343,7 +348,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -343,7 +348,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setLabel</h4> <h4>setLabel</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.SubtitleConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.SubtitleConfiguration.Builder</a>&nbsp;setLabel&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.SubtitleConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.SubtitleConfiguration.Builder</a>&nbsp;setLabel&#8203;(@Nullable
<a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a>&nbsp;label)</pre> <a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a>&nbsp;label)</pre>
<div class="block">Sets the optional label for this subtitle track.</div> <div class="block">Sets the optional label for this subtitle track.</div>
</li> </li>
...@@ -354,7 +360,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -354,7 +360,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setId</h4> <h4>setId</h4>
<pre class="methodSignature">public&nbsp;<a href="MediaItem.SubtitleConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.SubtitleConfiguration.Builder</a>&nbsp;setId&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="MediaItem.SubtitleConfiguration.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.SubtitleConfiguration.Builder</a>&nbsp;setId&#8203;(@Nullable
<a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a>&nbsp;id)</pre> <a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a>&nbsp;id)</pre>
<div class="block">Sets the optional ID for this subtitle track.</div> <div class="block">Sets the optional ID for this subtitle track.</div>
</li> </li>
......
...@@ -180,14 +180,14 @@ implements <a href="Renderer.html" title="interface in com.google.android.exopla ...@@ -180,14 +180,14 @@ implements <a href="Renderer.html" title="interface in com.google.android.exopla
<!-- --> <!-- -->
</a> </a>
<h3>Fields inherited from interface&nbsp;com.google.android.exoplayer2.<a href="Renderer.html" title="interface in com.google.android.exoplayer2">Renderer</a></h3> <h3>Fields inherited from interface&nbsp;com.google.android.exoplayer2.<a href="Renderer.html" title="interface in com.google.android.exoplayer2">Renderer</a></h3>
<code><a href="Renderer.html#MSG_CUSTOM_BASE">MSG_CUSTOM_BASE</a>, <a href="Renderer.html#MSG_SET_AUDIO_ATTRIBUTES">MSG_SET_AUDIO_ATTRIBUTES</a>, <a href="Renderer.html#MSG_SET_AUDIO_SESSION_ID">MSG_SET_AUDIO_SESSION_ID</a>, <a href="Renderer.html#MSG_SET_AUX_EFFECT_INFO">MSG_SET_AUX_EFFECT_INFO</a>, <a href="Renderer.html#MSG_SET_CAMERA_MOTION_LISTENER">MSG_SET_CAMERA_MOTION_LISTENER</a>, <a href="Renderer.html#MSG_SET_CHANGE_FRAME_RATE_STRATEGY">MSG_SET_CHANGE_FRAME_RATE_STRATEGY</a>, <a href="Renderer.html#MSG_SET_SCALING_MODE">MSG_SET_SCALING_MODE</a>, <a href="Renderer.html#MSG_SET_SKIP_SILENCE_ENABLED">MSG_SET_SKIP_SILENCE_ENABLED</a>, <a href="Renderer.html#MSG_SET_VIDEO_FRAME_METADATA_LISTENER">MSG_SET_VIDEO_FRAME_METADATA_LISTENER</a>, <a href="Renderer.html#MSG_SET_VIDEO_OUTPUT">MSG_SET_VIDEO_OUTPUT</a>, <a href="Renderer.html#MSG_SET_VOLUME">MSG_SET_VOLUME</a>, <a href="Renderer.html#MSG_SET_WAKEUP_LISTENER">MSG_SET_WAKEUP_LISTENER</a>, <a href="Renderer.html#STATE_DISABLED">STATE_DISABLED</a>, <a href="Renderer.html#STATE_ENABLED">STATE_ENABLED</a>, <a href="Renderer.html#STATE_STARTED">STATE_STARTED</a></code></li> <code><a href="Renderer.html#MSG_CUSTOM_BASE">MSG_CUSTOM_BASE</a>, <a href="Renderer.html#MSG_SET_AUDIO_ATTRIBUTES">MSG_SET_AUDIO_ATTRIBUTES</a>, <a href="Renderer.html#MSG_SET_AUDIO_SESSION_ID">MSG_SET_AUDIO_SESSION_ID</a>, <a href="Renderer.html#MSG_SET_AUX_EFFECT_INFO">MSG_SET_AUX_EFFECT_INFO</a>, <a href="Renderer.html#MSG_SET_CAMERA_MOTION_LISTENER">MSG_SET_CAMERA_MOTION_LISTENER</a>, <a href="Renderer.html#MSG_SET_CHANGE_FRAME_RATE_STRATEGY">MSG_SET_CHANGE_FRAME_RATE_STRATEGY</a>, <a href="Renderer.html#MSG_SET_PREFERRED_AUDIO_DEVICE">MSG_SET_PREFERRED_AUDIO_DEVICE</a>, <a href="Renderer.html#MSG_SET_SCALING_MODE">MSG_SET_SCALING_MODE</a>, <a href="Renderer.html#MSG_SET_SKIP_SILENCE_ENABLED">MSG_SET_SKIP_SILENCE_ENABLED</a>, <a href="Renderer.html#MSG_SET_VIDEO_FRAME_METADATA_LISTENER">MSG_SET_VIDEO_FRAME_METADATA_LISTENER</a>, <a href="Renderer.html#MSG_SET_VIDEO_OUTPUT">MSG_SET_VIDEO_OUTPUT</a>, <a href="Renderer.html#MSG_SET_VOLUME">MSG_SET_VOLUME</a>, <a href="Renderer.html#MSG_SET_WAKEUP_LISTENER">MSG_SET_WAKEUP_LISTENER</a>, <a href="Renderer.html#STATE_DISABLED">STATE_DISABLED</a>, <a href="Renderer.html#STATE_ENABLED">STATE_ENABLED</a>, <a href="Renderer.html#STATE_STARTED">STATE_STARTED</a></code></li>
</ul> </ul>
<ul class="blockList"> <ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.com.google.android.exoplayer2.RendererCapabilities"> <li class="blockList"><a id="fields.inherited.from.class.com.google.android.exoplayer2.RendererCapabilities">
<!-- --> <!-- -->
</a> </a>
<h3>Fields inherited from interface&nbsp;com.google.android.exoplayer2.<a href="RendererCapabilities.html" title="interface in com.google.android.exoplayer2">RendererCapabilities</a></h3> <h3>Fields inherited from interface&nbsp;com.google.android.exoplayer2.<a href="RendererCapabilities.html" title="interface in com.google.android.exoplayer2">RendererCapabilities</a></h3>
<code><a href="RendererCapabilities.html#ADAPTIVE_NOT_SEAMLESS">ADAPTIVE_NOT_SEAMLESS</a>, <a href="RendererCapabilities.html#ADAPTIVE_NOT_SUPPORTED">ADAPTIVE_NOT_SUPPORTED</a>, <a href="RendererCapabilities.html#ADAPTIVE_SEAMLESS">ADAPTIVE_SEAMLESS</a>, <a href="RendererCapabilities.html#ADAPTIVE_SUPPORT_MASK">ADAPTIVE_SUPPORT_MASK</a>, <a href="RendererCapabilities.html#DECODER_SUPPORT_FALLBACK">DECODER_SUPPORT_FALLBACK</a>, <a href="RendererCapabilities.html#DECODER_SUPPORT_PRIMARY">DECODER_SUPPORT_PRIMARY</a>, <a href="RendererCapabilities.html#FORMAT_EXCEEDS_CAPABILITIES">FORMAT_EXCEEDS_CAPABILITIES</a>, <a href="RendererCapabilities.html#FORMAT_HANDLED">FORMAT_HANDLED</a>, <a href="RendererCapabilities.html#FORMAT_SUPPORT_MASK">FORMAT_SUPPORT_MASK</a>, <a href="RendererCapabilities.html#FORMAT_UNSUPPORTED_DRM">FORMAT_UNSUPPORTED_DRM</a>, <a href="RendererCapabilities.html#FORMAT_UNSUPPORTED_SUBTYPE">FORMAT_UNSUPPORTED_SUBTYPE</a>, <a href="RendererCapabilities.html#FORMAT_UNSUPPORTED_TYPE">FORMAT_UNSUPPORTED_TYPE</a>, <a href="RendererCapabilities.html#HARDWARE_ACCELERATION_NOT_SUPPORTED">HARDWARE_ACCELERATION_NOT_SUPPORTED</a>, <a href="RendererCapabilities.html#HARDWARE_ACCELERATION_SUPPORT_MASK">HARDWARE_ACCELERATION_SUPPORT_MASK</a>, <a href="RendererCapabilities.html#HARDWARE_ACCELERATION_SUPPORTED">HARDWARE_ACCELERATION_SUPPORTED</a>, <a href="RendererCapabilities.html#MODE_SUPPORT_MASK">MODE_SUPPORT_MASK</a>, <a href="RendererCapabilities.html#TUNNELING_NOT_SUPPORTED">TUNNELING_NOT_SUPPORTED</a>, <a href="RendererCapabilities.html#TUNNELING_SUPPORT_MASK">TUNNELING_SUPPORT_MASK</a>, <a href="RendererCapabilities.html#TUNNELING_SUPPORTED">TUNNELING_SUPPORTED</a></code></li> <code><a href="RendererCapabilities.html#ADAPTIVE_NOT_SEAMLESS">ADAPTIVE_NOT_SEAMLESS</a>, <a href="RendererCapabilities.html#ADAPTIVE_NOT_SUPPORTED">ADAPTIVE_NOT_SUPPORTED</a>, <a href="RendererCapabilities.html#ADAPTIVE_SEAMLESS">ADAPTIVE_SEAMLESS</a>, <a href="RendererCapabilities.html#ADAPTIVE_SUPPORT_MASK">ADAPTIVE_SUPPORT_MASK</a>, <a href="RendererCapabilities.html#DECODER_SUPPORT_FALLBACK">DECODER_SUPPORT_FALLBACK</a>, <a href="RendererCapabilities.html#DECODER_SUPPORT_FALLBACK_MIMETYPE">DECODER_SUPPORT_FALLBACK_MIMETYPE</a>, <a href="RendererCapabilities.html#DECODER_SUPPORT_PRIMARY">DECODER_SUPPORT_PRIMARY</a>, <a href="RendererCapabilities.html#FORMAT_EXCEEDS_CAPABILITIES">FORMAT_EXCEEDS_CAPABILITIES</a>, <a href="RendererCapabilities.html#FORMAT_HANDLED">FORMAT_HANDLED</a>, <a href="RendererCapabilities.html#FORMAT_SUPPORT_MASK">FORMAT_SUPPORT_MASK</a>, <a href="RendererCapabilities.html#FORMAT_UNSUPPORTED_DRM">FORMAT_UNSUPPORTED_DRM</a>, <a href="RendererCapabilities.html#FORMAT_UNSUPPORTED_SUBTYPE">FORMAT_UNSUPPORTED_SUBTYPE</a>, <a href="RendererCapabilities.html#FORMAT_UNSUPPORTED_TYPE">FORMAT_UNSUPPORTED_TYPE</a>, <a href="RendererCapabilities.html#HARDWARE_ACCELERATION_NOT_SUPPORTED">HARDWARE_ACCELERATION_NOT_SUPPORTED</a>, <a href="RendererCapabilities.html#HARDWARE_ACCELERATION_SUPPORT_MASK">HARDWARE_ACCELERATION_SUPPORT_MASK</a>, <a href="RendererCapabilities.html#HARDWARE_ACCELERATION_SUPPORTED">HARDWARE_ACCELERATION_SUPPORTED</a>, <a href="RendererCapabilities.html#MODE_SUPPORT_MASK">MODE_SUPPORT_MASK</a>, <a href="RendererCapabilities.html#TUNNELING_NOT_SUPPORTED">TUNNELING_NOT_SUPPORTED</a>, <a href="RendererCapabilities.html#TUNNELING_SUPPORT_MASK">TUNNELING_SUPPORT_MASK</a>, <a href="RendererCapabilities.html#TUNNELING_SUPPORTED">TUNNELING_SUPPORTED</a></code></li>
</ul> </ul>
</li> </li>
</ul> </ul>
......
...@@ -294,7 +294,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -294,7 +294,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>add</h4> <h4>add</h4>
<pre class="methodSignature">public&nbsp;<a href="Player.Commands.Builder.html" title="class in com.google.android.exoplayer2">Player.Commands.Builder</a>&nbsp;add&#8203;(<a href="Player.Command.html" title="annotation in com.google.android.exoplayer2">@Command</a> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Player.Commands.Builder.html" title="class in com.google.android.exoplayer2">Player.Commands.Builder</a>&nbsp;add&#8203;(<a href="Player.Command.html" title="annotation in com.google.android.exoplayer2">@Command</a>
@com.google.android.exoplayer2.Player.Command int&nbsp;command)</pre> @com.google.android.exoplayer2.Player.Command int&nbsp;command)</pre>
<div class="block">Adds a <a href="Player.Command.html" title="annotation in com.google.android.exoplayer2"><code>Player.Command</code></a>.</div> <div class="block">Adds a <a href="Player.Command.html" title="annotation in com.google.android.exoplayer2"><code>Player.Command</code></a>.</div>
<dl> <dl>
...@@ -313,7 +314,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -313,7 +314,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>addIf</h4> <h4>addIf</h4>
<pre class="methodSignature">public&nbsp;<a href="Player.Commands.Builder.html" title="class in com.google.android.exoplayer2">Player.Commands.Builder</a>&nbsp;addIf&#8203;(<a href="Player.Command.html" title="annotation in com.google.android.exoplayer2">@Command</a> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Player.Commands.Builder.html" title="class in com.google.android.exoplayer2">Player.Commands.Builder</a>&nbsp;addIf&#8203;(<a href="Player.Command.html" title="annotation in com.google.android.exoplayer2">@Command</a>
@com.google.android.exoplayer2.Player.Command int&nbsp;command, @com.google.android.exoplayer2.Player.Command int&nbsp;command,
boolean&nbsp;condition)</pre> boolean&nbsp;condition)</pre>
<div class="block">Adds a <a href="Player.Command.html" title="annotation in com.google.android.exoplayer2"><code>Player.Command</code></a> if the provided condition is true. Does nothing otherwise.</div> <div class="block">Adds a <a href="Player.Command.html" title="annotation in com.google.android.exoplayer2"><code>Player.Command</code></a> if the provided condition is true. Does nothing otherwise.</div>
...@@ -334,7 +336,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -334,7 +336,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>addAll</h4> <h4>addAll</h4>
<pre class="methodSignature">public&nbsp;<a href="Player.Commands.Builder.html" title="class in com.google.android.exoplayer2">Player.Commands.Builder</a>&nbsp;addAll&#8203;(<a href="Player.Command.html" title="annotation in com.google.android.exoplayer2">@Command</a> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Player.Commands.Builder.html" title="class in com.google.android.exoplayer2">Player.Commands.Builder</a>&nbsp;addAll&#8203;(<a href="Player.Command.html" title="annotation in com.google.android.exoplayer2">@Command</a>
@com.google.android.exoplayer2.Player.Command int...&nbsp;commands)</pre> @com.google.android.exoplayer2.Player.Command int...&nbsp;commands)</pre>
<div class="block">Adds <a href="Player.Command.html" title="annotation in com.google.android.exoplayer2"><code>commands</code></a>.</div> <div class="block">Adds <a href="Player.Command.html" title="annotation in com.google.android.exoplayer2"><code>commands</code></a>.</div>
<dl> <dl>
...@@ -353,7 +356,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -353,7 +356,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>addAll</h4> <h4>addAll</h4>
<pre class="methodSignature">public&nbsp;<a href="Player.Commands.Builder.html" title="class in com.google.android.exoplayer2">Player.Commands.Builder</a>&nbsp;addAll&#8203;(<a href="Player.Commands.html" title="class in com.google.android.exoplayer2">Player.Commands</a>&nbsp;commands)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Player.Commands.Builder.html" title="class in com.google.android.exoplayer2">Player.Commands.Builder</a>&nbsp;addAll&#8203;(<a href="Player.Commands.html" title="class in com.google.android.exoplayer2">Player.Commands</a>&nbsp;commands)</pre>
<div class="block">Adds <a href="Player.Commands.html" title="class in com.google.android.exoplayer2"><code>Player.Commands</code></a>.</div> <div class="block">Adds <a href="Player.Commands.html" title="class in com.google.android.exoplayer2"><code>Player.Commands</code></a>.</div>
<dl> <dl>
<dt><span class="paramLabel">Parameters:</span></dt> <dt><span class="paramLabel">Parameters:</span></dt>
...@@ -371,7 +375,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -371,7 +375,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>addAllCommands</h4> <h4>addAllCommands</h4>
<pre class="methodSignature">public&nbsp;<a href="Player.Commands.Builder.html" title="class in com.google.android.exoplayer2">Player.Commands.Builder</a>&nbsp;addAllCommands()</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Player.Commands.Builder.html" title="class in com.google.android.exoplayer2">Player.Commands.Builder</a>&nbsp;addAllCommands()</pre>
<div class="block">Adds all existing <a href="Player.Command.html" title="annotation in com.google.android.exoplayer2"><code>commands</code></a>.</div> <div class="block">Adds all existing <a href="Player.Command.html" title="annotation in com.google.android.exoplayer2"><code>commands</code></a>.</div>
<dl> <dl>
<dt><span class="returnLabel">Returns:</span></dt> <dt><span class="returnLabel">Returns:</span></dt>
...@@ -387,7 +392,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -387,7 +392,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>remove</h4> <h4>remove</h4>
<pre class="methodSignature">public&nbsp;<a href="Player.Commands.Builder.html" title="class in com.google.android.exoplayer2">Player.Commands.Builder</a>&nbsp;remove&#8203;(<a href="Player.Command.html" title="annotation in com.google.android.exoplayer2">@Command</a> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Player.Commands.Builder.html" title="class in com.google.android.exoplayer2">Player.Commands.Builder</a>&nbsp;remove&#8203;(<a href="Player.Command.html" title="annotation in com.google.android.exoplayer2">@Command</a>
@com.google.android.exoplayer2.Player.Command int&nbsp;command)</pre> @com.google.android.exoplayer2.Player.Command int&nbsp;command)</pre>
<div class="block">Removes a <a href="Player.Command.html" title="annotation in com.google.android.exoplayer2"><code>Player.Command</code></a>.</div> <div class="block">Removes a <a href="Player.Command.html" title="annotation in com.google.android.exoplayer2"><code>Player.Command</code></a>.</div>
<dl> <dl>
...@@ -406,7 +412,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -406,7 +412,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>removeIf</h4> <h4>removeIf</h4>
<pre class="methodSignature">public&nbsp;<a href="Player.Commands.Builder.html" title="class in com.google.android.exoplayer2">Player.Commands.Builder</a>&nbsp;removeIf&#8203;(<a href="Player.Command.html" title="annotation in com.google.android.exoplayer2">@Command</a> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Player.Commands.Builder.html" title="class in com.google.android.exoplayer2">Player.Commands.Builder</a>&nbsp;removeIf&#8203;(<a href="Player.Command.html" title="annotation in com.google.android.exoplayer2">@Command</a>
@com.google.android.exoplayer2.Player.Command int&nbsp;command, @com.google.android.exoplayer2.Player.Command int&nbsp;command,
boolean&nbsp;condition)</pre> boolean&nbsp;condition)</pre>
<div class="block">Removes a <a href="Player.Command.html" title="annotation in com.google.android.exoplayer2"><code>Player.Command</code></a> if the provided condition is true. Does nothing otherwise.</div> <div class="block">Removes a <a href="Player.Command.html" title="annotation in com.google.android.exoplayer2"><code>Player.Command</code></a> if the provided condition is true. Does nothing otherwise.</div>
...@@ -427,7 +434,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -427,7 +434,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>removeAll</h4> <h4>removeAll</h4>
<pre class="methodSignature">public&nbsp;<a href="Player.Commands.Builder.html" title="class in com.google.android.exoplayer2">Player.Commands.Builder</a>&nbsp;removeAll&#8203;(<a href="Player.Command.html" title="annotation in com.google.android.exoplayer2">@Command</a> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Player.Commands.Builder.html" title="class in com.google.android.exoplayer2">Player.Commands.Builder</a>&nbsp;removeAll&#8203;(<a href="Player.Command.html" title="annotation in com.google.android.exoplayer2">@Command</a>
@com.google.android.exoplayer2.Player.Command int...&nbsp;commands)</pre> @com.google.android.exoplayer2.Player.Command int...&nbsp;commands)</pre>
<div class="block">Removes <a href="Player.Command.html" title="annotation in com.google.android.exoplayer2"><code>commands</code></a>.</div> <div class="block">Removes <a href="Player.Command.html" title="annotation in com.google.android.exoplayer2"><code>commands</code></a>.</div>
<dl> <dl>
......
...@@ -452,7 +452,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -452,7 +452,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setType</h4> <h4>setType</h4>
<pre class="methodSignature">public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exoplayer2">PlayerMessage</a>&nbsp;setType&#8203;(int&nbsp;messageType)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exoplayer2">PlayerMessage</a>&nbsp;setType&#8203;(int&nbsp;messageType)</pre>
<div class="block">Sets the message type forwarded to <a href="PlayerMessage.Target.html#handleMessage(@com.google.android.exoplayer2.Renderer.MessageTypeint,java.lang.Object)"><code>PlayerMessage.Target.handleMessage(int, Object)</code></a>.</div> <div class="block">Sets the message type forwarded to <a href="PlayerMessage.Target.html#handleMessage(@com.google.android.exoplayer2.Renderer.MessageTypeint,java.lang.Object)"><code>PlayerMessage.Target.handleMessage(int, Object)</code></a>.</div>
<dl> <dl>
<dt><span class="paramLabel">Parameters:</span></dt> <dt><span class="paramLabel">Parameters:</span></dt>
...@@ -480,7 +481,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -480,7 +481,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setPayload</h4> <h4>setPayload</h4>
<pre class="methodSignature">public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exoplayer2">PlayerMessage</a>&nbsp;setPayload&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exoplayer2">PlayerMessage</a>&nbsp;setPayload&#8203;(@Nullable
<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a>&nbsp;payload)</pre> <a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a>&nbsp;payload)</pre>
<div class="block">Sets the message payload forwarded to <a href="PlayerMessage.Target.html#handleMessage(@com.google.android.exoplayer2.Renderer.MessageTypeint,java.lang.Object)"><code>PlayerMessage.Target.handleMessage(int, Object)</code></a>.</div> <div class="block">Sets the message payload forwarded to <a href="PlayerMessage.Target.html#handleMessage(@com.google.android.exoplayer2.Renderer.MessageTypeint,java.lang.Object)"><code>PlayerMessage.Target.handleMessage(int, Object)</code></a>.</div>
<dl> <dl>
...@@ -510,7 +512,8 @@ public&nbsp;<a href="https://developer.android.com/reference/java/lang/Object.ht ...@@ -510,7 +512,8 @@ public&nbsp;<a href="https://developer.android.com/reference/java/lang/Object.ht
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setHandler</h4> <h4>setHandler</h4>
<pre class="methodSignature"><a href="https://developer.android.com/reference/java/lang/Deprecated.html" title="class or interface in java.lang" class="externalLink" target="_top">@Deprecated</a> <pre class="methodSignature">@CanIgnoreReturnValue
<a href="https://developer.android.com/reference/java/lang/Deprecated.html" title="class or interface in java.lang" class="externalLink" target="_top">@Deprecated</a>
public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exoplayer2">PlayerMessage</a>&nbsp;setHandler&#8203;(<a href="https://developer.android.com/reference/android/os/Handler.html" title="class or interface in android.os" class="externalLink" target="_top">Handler</a>&nbsp;handler)</pre> public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exoplayer2">PlayerMessage</a>&nbsp;setHandler&#8203;(<a href="https://developer.android.com/reference/android/os/Handler.html" title="class or interface in android.os" class="externalLink" target="_top">Handler</a>&nbsp;handler)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span> <div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="#setLooper(android.os.Looper)"><code>setLooper(Looper)</code></a> instead.</div> <div class="deprecationComment">Use <a href="#setLooper(android.os.Looper)"><code>setLooper(Looper)</code></a> instead.</div>
...@@ -523,7 +526,8 @@ public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exop ...@@ -523,7 +526,8 @@ public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exop
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setLooper</h4> <h4>setLooper</h4>
<pre class="methodSignature">public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exoplayer2">PlayerMessage</a>&nbsp;setLooper&#8203;(<a href="https://developer.android.com/reference/android/os/Looper.html" title="class or interface in android.os" class="externalLink" target="_top">Looper</a>&nbsp;looper)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exoplayer2">PlayerMessage</a>&nbsp;setLooper&#8203;(<a href="https://developer.android.com/reference/android/os/Looper.html" title="class or interface in android.os" class="externalLink" target="_top">Looper</a>&nbsp;looper)</pre>
<div class="block">Sets the <a href="https://developer.android.com/reference/android/os/Looper.html" title="class or interface in android.os" class="externalLink" target="_top"><code>Looper</code></a> the message is delivered on.</div> <div class="block">Sets the <a href="https://developer.android.com/reference/android/os/Looper.html" title="class or interface in android.os" class="externalLink" target="_top"><code>Looper</code></a> the message is delivered on.</div>
<dl> <dl>
<dt><span class="paramLabel">Parameters:</span></dt> <dt><span class="paramLabel">Parameters:</span></dt>
...@@ -564,7 +568,8 @@ public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exop ...@@ -564,7 +568,8 @@ public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exop
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setPosition</h4> <h4>setPosition</h4>
<pre class="methodSignature">public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exoplayer2">PlayerMessage</a>&nbsp;setPosition&#8203;(long&nbsp;positionMs)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exoplayer2">PlayerMessage</a>&nbsp;setPosition&#8203;(long&nbsp;positionMs)</pre>
<div class="block">Sets a position in the current media item at which the message will be delivered.</div> <div class="block">Sets a position in the current media item at which the message will be delivered.</div>
<dl> <dl>
<dt><span class="paramLabel">Parameters:</span></dt> <dt><span class="paramLabel">Parameters:</span></dt>
...@@ -584,7 +589,8 @@ public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exop ...@@ -584,7 +589,8 @@ public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exop
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setPosition</h4> <h4>setPosition</h4>
<pre class="methodSignature">public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exoplayer2">PlayerMessage</a>&nbsp;setPosition&#8203;(int&nbsp;mediaItemIndex, <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exoplayer2">PlayerMessage</a>&nbsp;setPosition&#8203;(int&nbsp;mediaItemIndex,
long&nbsp;positionMs)</pre> long&nbsp;positionMs)</pre>
<div class="block">Sets a position in a media item at which the message will be delivered.</div> <div class="block">Sets a position in a media item at which the message will be delivered.</div>
<dl> <dl>
...@@ -618,7 +624,8 @@ public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exop ...@@ -618,7 +624,8 @@ public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exop
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setDeleteAfterDelivery</h4> <h4>setDeleteAfterDelivery</h4>
<pre class="methodSignature">public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exoplayer2">PlayerMessage</a>&nbsp;setDeleteAfterDelivery&#8203;(boolean&nbsp;deleteAfterDelivery)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exoplayer2">PlayerMessage</a>&nbsp;setDeleteAfterDelivery&#8203;(boolean&nbsp;deleteAfterDelivery)</pre>
<div class="block">Sets whether the message will be deleted after delivery. If false, the message will be resent <div class="block">Sets whether the message will be deleted after delivery. If false, the message will be resent
if playback reaches the specified position again. Only allowed to be false if a position is set if playback reaches the specified position again. Only allowed to be false if a position is set
with <a href="#setPosition(long)"><code>setPosition(long)</code></a>.</div> with <a href="#setPosition(long)"><code>setPosition(long)</code></a>.</div>
...@@ -648,7 +655,8 @@ public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exop ...@@ -648,7 +655,8 @@ public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exop
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>send</h4> <h4>send</h4>
<pre class="methodSignature">public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exoplayer2">PlayerMessage</a>&nbsp;send()</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exoplayer2">PlayerMessage</a>&nbsp;send()</pre>
<div class="block">Sends the message. If the target throws an <a href="ExoPlaybackException.html" title="class in com.google.android.exoplayer2"><code>ExoPlaybackException</code></a> then it is propagated <div class="block">Sends the message. If the target throws an <a href="ExoPlaybackException.html" title="class in com.google.android.exoplayer2"><code>ExoPlaybackException</code></a> then it is propagated
out of the player as an error using <a href="Player.Listener.html#onPlayerError(com.google.android.exoplayer2.PlaybackException)"><code>Player.Listener.onPlayerError(PlaybackException)</code></a>.</div> out of the player as an error using <a href="Player.Listener.html#onPlayerError(com.google.android.exoplayer2.PlaybackException)"><code>Player.Listener.onPlayerError(PlaybackException)</code></a>.</div>
<dl> <dl>
...@@ -665,7 +673,8 @@ public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exop ...@@ -665,7 +673,8 @@ public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exop
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>cancel</h4> <h4>cancel</h4>
<pre class="methodSignature">public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exoplayer2">PlayerMessage</a>&nbsp;cancel()</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="PlayerMessage.html" title="class in com.google.android.exoplayer2">PlayerMessage</a>&nbsp;cancel()</pre>
<div class="block">Cancels the message delivery.</div> <div class="block">Cancels the message delivery.</div>
<dl> <dl>
<dt><span class="returnLabel">Returns:</span></dt> <dt><span class="returnLabel">Returns:</span></dt>
......
...@@ -244,41 +244,48 @@ extends <a href="PlayerMessage.Target.html" title="interface in com.google.andro ...@@ -244,41 +244,48 @@ extends <a href="PlayerMessage.Target.html" title="interface in com.google.andro
</tr> </tr>
<tr class="altColor"> <tr class="altColor">
<td class="colFirst"><code>static int</code></td> <td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MSG_SET_PREFERRED_AUDIO_DEVICE">MSG_SET_PREFERRED_AUDIO_DEVICE</a></span></code></th>
<td class="colLast">
<div class="block">The type of a message that can be passed to audio renderers via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(PlayerMessage.Target)</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MSG_SET_SCALING_MODE">MSG_SET_SCALING_MODE</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MSG_SET_SCALING_MODE">MSG_SET_SCALING_MODE</a></span></code></th>
<td class="colLast"> <td class="colLast">
<div class="block">The type of a message that can be passed to a <a href="https://developer.android.com/reference/android/media/MediaCodec.html" title="class or interface in android.media" class="externalLink" target="_top"><code>MediaCodec</code></a>-based video renderer via <div class="block">The type of a message that can be passed to a <a href="https://developer.android.com/reference/android/media/MediaCodec.html" title="class or interface in android.media" class="externalLink" target="_top"><code>MediaCodec</code></a>-based video renderer via
<a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(PlayerMessage.Target)</code></a>.</div> <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(PlayerMessage.Target)</code></a>.</div>
</td> </td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<td class="colFirst"><code>static int</code></td> <td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MSG_SET_SKIP_SILENCE_ENABLED">MSG_SET_SKIP_SILENCE_ENABLED</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MSG_SET_SKIP_SILENCE_ENABLED">MSG_SET_SKIP_SILENCE_ENABLED</a></span></code></th>
<td class="colLast"> <td class="colLast">
<div class="block">The type of a message that can be passed to an audio renderer via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(PlayerMessage.Target)</code></a>.</div> <div class="block">The type of a message that can be passed to an audio renderer via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(PlayerMessage.Target)</code></a>.</div>
</td> </td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<td class="colFirst"><code>static int</code></td> <td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MSG_SET_VIDEO_FRAME_METADATA_LISTENER">MSG_SET_VIDEO_FRAME_METADATA_LISTENER</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MSG_SET_VIDEO_FRAME_METADATA_LISTENER">MSG_SET_VIDEO_FRAME_METADATA_LISTENER</a></span></code></th>
<td class="colLast"> <td class="colLast">
<div class="block">The type of a message that can be passed to a video renderer via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(PlayerMessage.Target)</code></a>.</div> <div class="block">The type of a message that can be passed to a video renderer via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(PlayerMessage.Target)</code></a>.</div>
</td> </td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<td class="colFirst"><code>static int</code></td> <td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MSG_SET_VIDEO_OUTPUT">MSG_SET_VIDEO_OUTPUT</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MSG_SET_VIDEO_OUTPUT">MSG_SET_VIDEO_OUTPUT</a></span></code></th>
<td class="colLast"> <td class="colLast">
<div class="block">The type of a message that can be passed to a video renderer via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(PlayerMessage.Target)</code></a>.</div> <div class="block">The type of a message that can be passed to a video renderer via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(PlayerMessage.Target)</code></a>.</div>
</td> </td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<td class="colFirst"><code>static int</code></td> <td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MSG_SET_VOLUME">MSG_SET_VOLUME</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MSG_SET_VOLUME">MSG_SET_VOLUME</a></span></code></th>
<td class="colLast"> <td class="colLast">
<div class="block">A type of a message that can be passed to an audio renderer via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(PlayerMessage.Target)</code></a>.</div> <div class="block">A type of a message that can be passed to an audio renderer via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(PlayerMessage.Target)</code></a>.</div>
</td> </td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<td class="colFirst"><code>static int</code></td> <td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MSG_SET_WAKEUP_LISTENER">MSG_SET_WAKEUP_LISTENER</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MSG_SET_WAKEUP_LISTENER">MSG_SET_WAKEUP_LISTENER</a></span></code></th>
<td class="colLast"> <td class="colLast">
...@@ -286,21 +293,21 @@ extends <a href="PlayerMessage.Target.html" title="interface in com.google.andro ...@@ -286,21 +293,21 @@ extends <a href="PlayerMessage.Target.html" title="interface in com.google.andro
waking up another component.</div> waking up another component.</div>
</td> </td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<td class="colFirst"><code>static int</code></td> <td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#STATE_DISABLED">STATE_DISABLED</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#STATE_DISABLED">STATE_DISABLED</a></span></code></th>
<td class="colLast"> <td class="colLast">
<div class="block">The renderer is disabled.</div> <div class="block">The renderer is disabled.</div>
</td> </td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<td class="colFirst"><code>static int</code></td> <td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#STATE_ENABLED">STATE_ENABLED</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#STATE_ENABLED">STATE_ENABLED</a></span></code></th>
<td class="colLast"> <td class="colLast">
<div class="block">The renderer is enabled but not started.</div> <div class="block">The renderer is enabled but not started.</div>
</td> </td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<td class="colFirst"><code>static int</code></td> <td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#STATE_STARTED">STATE_STARTED</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#STATE_STARTED">STATE_STARTED</a></span></code></th>
<td class="colLast"> <td class="colLast">
...@@ -712,6 +719,21 @@ extends <a href="PlayerMessage.Target.html" title="interface in com.google.andro ...@@ -712,6 +719,21 @@ extends <a href="PlayerMessage.Target.html" title="interface in com.google.andro
</dl> </dl>
</li> </li>
</ul> </ul>
<a id="MSG_SET_PREFERRED_AUDIO_DEVICE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MSG_SET_PREFERRED_AUDIO_DEVICE</h4>
<pre>static final&nbsp;int MSG_SET_PREFERRED_AUDIO_DEVICE</pre>
<div class="block">The type of a message that can be passed to audio renderers via <a href="ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(PlayerMessage.Target)</code></a>. The message payload should be an <a href="https://developer.android.com/reference/android/media/AudioDeviceInfo.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioDeviceInfo</code></a> instance representing the preferred audio device, or null to
restore the default.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#com.google.android.exoplayer2.Renderer.MSG_SET_PREFERRED_AUDIO_DEVICE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="MSG_CUSTOM_BASE"> <a id="MSG_CUSTOM_BASE">
<!-- --> <!-- -->
</a> </a>
......
...@@ -117,7 +117,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height")); ...@@ -117,7 +117,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<a href="https://developer.android.com/reference/java/lang/annotation/Retention.html" title="class or interface in java.lang.annotation" class="externalLink">@Retention</a>(<a href="https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html?is-external=true#SOURCE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">SOURCE</a>) <a href="https://developer.android.com/reference/java/lang/annotation/Retention.html" title="class or interface in java.lang.annotation" class="externalLink">@Retention</a>(<a href="https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html?is-external=true#SOURCE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">SOURCE</a>)
<a href="https://developer.android.com/reference/java/lang/annotation/Target.html" title="class or interface in java.lang.annotation" class="externalLink">@Target</a>(<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#TYPE_USE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">TYPE_USE</a>) <a href="https://developer.android.com/reference/java/lang/annotation/Target.html" title="class or interface in java.lang.annotation" class="externalLink">@Target</a>(<a href="https://developer.android.com/reference/java/lang/annotation/ElementType.html?is-external=true#TYPE_USE" title="class or interface in java.lang.annotation" class="externalLink" target="_top">TYPE_USE</a>)
public static @interface <span class="memberNameLabel">RendererCapabilities.DecoderSupport</span></pre> public static @interface <span class="memberNameLabel">RendererCapabilities.DecoderSupport</span></pre>
<div class="block">Level of decoder support. One of <a href="RendererCapabilities.html#DECODER_SUPPORT_PRIMARY"><code>RendererCapabilities.DECODER_SUPPORT_PRIMARY</code></a> and <a href="RendererCapabilities.html#DECODER_SUPPORT_FALLBACK"><code>RendererCapabilities.DECODER_SUPPORT_FALLBACK</code></a>. <div class="block">Level of decoder support. One of <a href="RendererCapabilities.html#DECODER_SUPPORT_FALLBACK_MIMETYPE"><code>RendererCapabilities.DECODER_SUPPORT_FALLBACK_MIMETYPE</code></a>, <a href="RendererCapabilities.html#DECODER_SUPPORT_FALLBACK"><code>RendererCapabilities.DECODER_SUPPORT_FALLBACK</code></a>, and <a href="RendererCapabilities.html#DECODER_SUPPORT_PRIMARY"><code>RendererCapabilities.DECODER_SUPPORT_PRIMARY</code></a>.
<p>For video renderers, the level of support is indicated for non-tunneled output.</div> <p>For video renderers, the level of support is indicated for non-tunneled output.</div>
</li> </li>
......
...@@ -247,12 +247,20 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height")); ...@@ -247,12 +247,20 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</tr> </tr>
<tr class="rowColor"> <tr class="rowColor">
<td class="colFirst"><code>static int</code></td> <td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DECODER_SUPPORT_FALLBACK_MIMETYPE">DECODER_SUPPORT_FALLBACK_MIMETYPE</a></span></code></th>
<td class="colLast">
<div class="block">The renderer will use a decoder for fallback mimetype if possible as format's MIME type is
unsupported</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DECODER_SUPPORT_PRIMARY">DECODER_SUPPORT_PRIMARY</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DECODER_SUPPORT_PRIMARY">DECODER_SUPPORT_PRIMARY</a></span></code></th>
<td class="colLast"> <td class="colLast">
<div class="block">The renderer is able to use the primary decoder for the format's MIME type.</div> <div class="block">The renderer is able to use the primary decoder for the format's MIME type.</div>
</td> </td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<td class="colFirst"><code>static int</code></td> <td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#FORMAT_EXCEEDS_CAPABILITIES">FORMAT_EXCEEDS_CAPABILITIES</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#FORMAT_EXCEEDS_CAPABILITIES">FORMAT_EXCEEDS_CAPABILITIES</a></span></code></th>
<td class="colLast"> <td class="colLast">
...@@ -261,7 +269,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height")); ...@@ -261,7 +269,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</div> </div>
</td> </td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<td class="colFirst"><code>static int</code></td> <td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#FORMAT_HANDLED">FORMAT_HANDLED</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#FORMAT_HANDLED">FORMAT_HANDLED</a></span></code></th>
<td class="colLast"> <td class="colLast">
...@@ -270,14 +278,14 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height")); ...@@ -270,14 +278,14 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</div> </div>
</td> </td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<td class="colFirst"><code>static int</code></td> <td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#FORMAT_SUPPORT_MASK">FORMAT_SUPPORT_MASK</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#FORMAT_SUPPORT_MASK">FORMAT_SUPPORT_MASK</a></span></code></th>
<td class="colLast"> <td class="colLast">
<div class="block">A mask to apply to <a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.Capabilities</code></a> to obtain the <a href="C.FormatSupport.html" title="annotation in com.google.android.exoplayer2"><code>C.FormatSupport</code></a> only.</div> <div class="block">A mask to apply to <a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.Capabilities</code></a> to obtain the <a href="C.FormatSupport.html" title="annotation in com.google.android.exoplayer2"><code>C.FormatSupport</code></a> only.</div>
</td> </td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<td class="colFirst"><code>static int</code></td> <td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#FORMAT_UNSUPPORTED_DRM">FORMAT_UNSUPPORTED_DRM</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#FORMAT_UNSUPPORTED_DRM">FORMAT_UNSUPPORTED_DRM</a></span></code></th>
<td class="colLast"> <td class="colLast">
...@@ -286,7 +294,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height")); ...@@ -286,7 +294,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</div> </div>
</td> </td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<td class="colFirst"><code>static int</code></td> <td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#FORMAT_UNSUPPORTED_SUBTYPE">FORMAT_UNSUPPORTED_SUBTYPE</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#FORMAT_UNSUPPORTED_SUBTYPE">FORMAT_UNSUPPORTED_SUBTYPE</a></span></code></th>
<td class="colLast"> <td class="colLast">
...@@ -295,7 +303,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height")); ...@@ -295,7 +303,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</div> </div>
</td> </td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<td class="colFirst"><code>static int</code></td> <td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#FORMAT_UNSUPPORTED_TYPE">FORMAT_UNSUPPORTED_TYPE</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#FORMAT_UNSUPPORTED_TYPE">FORMAT_UNSUPPORTED_TYPE</a></span></code></th>
<td class="colLast"> <td class="colLast">
...@@ -304,49 +312,49 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height")); ...@@ -304,49 +312,49 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</div> </div>
</td> </td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<td class="colFirst"><code>static int</code></td> <td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#HARDWARE_ACCELERATION_NOT_SUPPORTED">HARDWARE_ACCELERATION_NOT_SUPPORTED</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#HARDWARE_ACCELERATION_NOT_SUPPORTED">HARDWARE_ACCELERATION_NOT_SUPPORTED</a></span></code></th>
<td class="colLast"> <td class="colLast">
<div class="block">The renderer is not able to use hardware acceleration.</div> <div class="block">The renderer is not able to use hardware acceleration.</div>
</td> </td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<td class="colFirst"><code>static int</code></td> <td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#HARDWARE_ACCELERATION_SUPPORT_MASK">HARDWARE_ACCELERATION_SUPPORT_MASK</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#HARDWARE_ACCELERATION_SUPPORT_MASK">HARDWARE_ACCELERATION_SUPPORT_MASK</a></span></code></th>
<td class="colLast"> <td class="colLast">
<div class="block">A mask to apply to <a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.Capabilities</code></a> to obtain <a href="RendererCapabilities.HardwareAccelerationSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.HardwareAccelerationSupport</code></a> only.</div> <div class="block">A mask to apply to <a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.Capabilities</code></a> to obtain <a href="RendererCapabilities.HardwareAccelerationSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.HardwareAccelerationSupport</code></a> only.</div>
</td> </td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<td class="colFirst"><code>static int</code></td> <td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#HARDWARE_ACCELERATION_SUPPORTED">HARDWARE_ACCELERATION_SUPPORTED</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#HARDWARE_ACCELERATION_SUPPORTED">HARDWARE_ACCELERATION_SUPPORTED</a></span></code></th>
<td class="colLast"> <td class="colLast">
<div class="block">The renderer is able to use hardware acceleration.</div> <div class="block">The renderer is able to use hardware acceleration.</div>
</td> </td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<td class="colFirst"><code>static int</code></td> <td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MODE_SUPPORT_MASK">MODE_SUPPORT_MASK</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MODE_SUPPORT_MASK">MODE_SUPPORT_MASK</a></span></code></th>
<td class="colLast"> <td class="colLast">
<div class="block">A mask to apply to <a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.Capabilities</code></a> to obtain <a href="RendererCapabilities.DecoderSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.DecoderSupport</code></a> only.</div> <div class="block">A mask to apply to <a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.Capabilities</code></a> to obtain <a href="RendererCapabilities.DecoderSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.DecoderSupport</code></a> only.</div>
</td> </td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<td class="colFirst"><code>static int</code></td> <td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#TUNNELING_NOT_SUPPORTED">TUNNELING_NOT_SUPPORTED</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#TUNNELING_NOT_SUPPORTED">TUNNELING_NOT_SUPPORTED</a></span></code></th>
<td class="colLast"> <td class="colLast">
<div class="block">The <a href="Renderer.html" title="interface in com.google.android.exoplayer2"><code>Renderer</code></a> does not support tunneled output.</div> <div class="block">The <a href="Renderer.html" title="interface in com.google.android.exoplayer2"><code>Renderer</code></a> does not support tunneled output.</div>
</td> </td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<td class="colFirst"><code>static int</code></td> <td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#TUNNELING_SUPPORT_MASK">TUNNELING_SUPPORT_MASK</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#TUNNELING_SUPPORT_MASK">TUNNELING_SUPPORT_MASK</a></span></code></th>
<td class="colLast"> <td class="colLast">
<div class="block">A mask to apply to <a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.Capabilities</code></a> to obtain <a href="RendererCapabilities.TunnelingSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.TunnelingSupport</code></a> only.</div> <div class="block">A mask to apply to <a href="RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.Capabilities</code></a> to obtain <a href="RendererCapabilities.TunnelingSupport.html" title="annotation in com.google.android.exoplayer2"><code>RendererCapabilities.TunnelingSupport</code></a> only.</div>
</td> </td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<td class="colFirst"><code>static int</code></td> <td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#TUNNELING_SUPPORTED">TUNNELING_SUPPORTED</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#TUNNELING_SUPPORTED">TUNNELING_SUPPORTED</a></span></code></th>
<td class="colLast"> <td class="colLast">
...@@ -733,6 +741,21 @@ static final&nbsp;int FORMAT_UNSUPPORTED_TYPE</pre> ...@@ -733,6 +741,21 @@ static final&nbsp;int FORMAT_UNSUPPORTED_TYPE</pre>
</dl> </dl>
</li> </li>
</ul> </ul>
<a id="DECODER_SUPPORT_FALLBACK_MIMETYPE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DECODER_SUPPORT_FALLBACK_MIMETYPE</h4>
<pre>static final&nbsp;int DECODER_SUPPORT_FALLBACK_MIMETYPE</pre>
<div class="block">The renderer will use a decoder for fallback mimetype if possible as format's MIME type is
unsupported</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#com.google.android.exoplayer2.RendererCapabilities.DECODER_SUPPORT_FALLBACK_MIMETYPE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="DECODER_SUPPORT_PRIMARY"> <a id="DECODER_SUPPORT_PRIMARY">
<!-- --> <!-- -->
</a> </a>
......
This diff could not be displayed because it is too large.
...@@ -607,7 +607,8 @@ public&nbsp;<a href="https://developer.android.com/reference/java/lang/Object.ht ...@@ -607,7 +607,8 @@ public&nbsp;<a href="https://developer.android.com/reference/java/lang/Object.ht
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>set</h4> <h4>set</h4>
<pre class="methodSignature">public&nbsp;<a href="Timeline.Period.html" title="class in com.google.android.exoplayer2">Timeline.Period</a>&nbsp;set&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Timeline.Period.html" title="class in com.google.android.exoplayer2">Timeline.Period</a>&nbsp;set&#8203;(@Nullable
<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a>&nbsp;id, <a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a>&nbsp;id,
@Nullable @Nullable
<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a>&nbsp;uid, <a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a>&nbsp;uid,
...@@ -638,7 +639,8 @@ public&nbsp;<a href="https://developer.android.com/reference/java/lang/Object.ht ...@@ -638,7 +639,8 @@ public&nbsp;<a href="https://developer.android.com/reference/java/lang/Object.ht
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>set</h4> <h4>set</h4>
<pre class="methodSignature">public&nbsp;<a href="Timeline.Period.html" title="class in com.google.android.exoplayer2">Timeline.Period</a>&nbsp;set&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Timeline.Period.html" title="class in com.google.android.exoplayer2">Timeline.Period</a>&nbsp;set&#8203;(@Nullable
<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a>&nbsp;id, <a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a>&nbsp;id,
@Nullable @Nullable
<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a>&nbsp;uid, <a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a>&nbsp;uid,
......
...@@ -743,7 +743,8 @@ public&nbsp;<a href="MediaItem.LiveConfiguration.html" title="class in com.googl ...@@ -743,7 +743,8 @@ public&nbsp;<a href="MediaItem.LiveConfiguration.html" title="class in com.googl
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>set</h4> <h4>set</h4>
<pre class="methodSignature">public&nbsp;<a href="Timeline.Window.html" title="class in com.google.android.exoplayer2">Timeline.Window</a>&nbsp;set&#8203;(<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a>&nbsp;uid, <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="Timeline.Window.html" title="class in com.google.android.exoplayer2">Timeline.Window</a>&nbsp;set&#8203;(<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a>&nbsp;uid,
@Nullable @Nullable
<a href="MediaItem.html" title="class in com.google.android.exoplayer2">MediaItem</a>&nbsp;mediaItem, <a href="MediaItem.html" title="class in com.google.android.exoplayer2">MediaItem</a>&nbsp;mediaItem,
@Nullable @Nullable
......
...@@ -273,7 +273,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -273,7 +273,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setContentType</h4> <h4>setContentType</h4>
<pre class="methodSignature">public&nbsp;<a href="AudioAttributes.Builder.html" title="class in com.google.android.exoplayer2.audio">AudioAttributes.Builder</a>&nbsp;setContentType&#8203;(<a href="../C.AudioContentType.html" title="annotation in com.google.android.exoplayer2">@AudioContentType</a> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="AudioAttributes.Builder.html" title="class in com.google.android.exoplayer2.audio">AudioAttributes.Builder</a>&nbsp;setContentType&#8203;(<a href="../C.AudioContentType.html" title="annotation in com.google.android.exoplayer2">@AudioContentType</a>
@com.google.android.exoplayer2.C.AudioContentType int&nbsp;contentType)</pre> @com.google.android.exoplayer2.C.AudioContentType int&nbsp;contentType)</pre>
<div class="block">See <a href="https://developer.android.com/reference/android/media/AudioAttributes.Builder.html#setContentType(int)" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioAttributes.Builder.setContentType(int)</code></a></div> <div class="block">See <a href="https://developer.android.com/reference/android/media/AudioAttributes.Builder.html#setContentType(int)" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioAttributes.Builder.setContentType(int)</code></a></div>
</li> </li>
...@@ -284,7 +285,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -284,7 +285,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setFlags</h4> <h4>setFlags</h4>
<pre class="methodSignature">public&nbsp;<a href="AudioAttributes.Builder.html" title="class in com.google.android.exoplayer2.audio">AudioAttributes.Builder</a>&nbsp;setFlags&#8203;(<a href="../C.AudioFlags.html" title="annotation in com.google.android.exoplayer2">@AudioFlags</a> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="AudioAttributes.Builder.html" title="class in com.google.android.exoplayer2.audio">AudioAttributes.Builder</a>&nbsp;setFlags&#8203;(<a href="../C.AudioFlags.html" title="annotation in com.google.android.exoplayer2">@AudioFlags</a>
@com.google.android.exoplayer2.C.AudioFlags int&nbsp;flags)</pre> @com.google.android.exoplayer2.C.AudioFlags int&nbsp;flags)</pre>
<div class="block">See <a href="https://developer.android.com/reference/android/media/AudioAttributes.Builder.html#setFlags(int)" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioAttributes.Builder.setFlags(int)</code></a></div> <div class="block">See <a href="https://developer.android.com/reference/android/media/AudioAttributes.Builder.html#setFlags(int)" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioAttributes.Builder.setFlags(int)</code></a></div>
</li> </li>
...@@ -295,7 +297,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -295,7 +297,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setUsage</h4> <h4>setUsage</h4>
<pre class="methodSignature">public&nbsp;<a href="AudioAttributes.Builder.html" title="class in com.google.android.exoplayer2.audio">AudioAttributes.Builder</a>&nbsp;setUsage&#8203;(<a href="../C.AudioUsage.html" title="annotation in com.google.android.exoplayer2">@AudioUsage</a> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="AudioAttributes.Builder.html" title="class in com.google.android.exoplayer2.audio">AudioAttributes.Builder</a>&nbsp;setUsage&#8203;(<a href="../C.AudioUsage.html" title="annotation in com.google.android.exoplayer2">@AudioUsage</a>
@com.google.android.exoplayer2.C.AudioUsage int&nbsp;usage)</pre> @com.google.android.exoplayer2.C.AudioUsage int&nbsp;usage)</pre>
<div class="block">See <a href="https://developer.android.com/reference/android/media/AudioAttributes.Builder.html#setUsage(int)" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioAttributes.Builder.setUsage(int)</code></a></div> <div class="block">See <a href="https://developer.android.com/reference/android/media/AudioAttributes.Builder.html#setUsage(int)" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioAttributes.Builder.setUsage(int)</code></a></div>
</li> </li>
...@@ -306,7 +309,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -306,7 +309,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setAllowedCapturePolicy</h4> <h4>setAllowedCapturePolicy</h4>
<pre class="methodSignature">public&nbsp;<a href="AudioAttributes.Builder.html" title="class in com.google.android.exoplayer2.audio">AudioAttributes.Builder</a>&nbsp;setAllowedCapturePolicy&#8203;(<a href="../C.AudioAllowedCapturePolicy.html" title="annotation in com.google.android.exoplayer2">@AudioAllowedCapturePolicy</a> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="AudioAttributes.Builder.html" title="class in com.google.android.exoplayer2.audio">AudioAttributes.Builder</a>&nbsp;setAllowedCapturePolicy&#8203;(<a href="../C.AudioAllowedCapturePolicy.html" title="annotation in com.google.android.exoplayer2">@AudioAllowedCapturePolicy</a>
@com.google.android.exoplayer2.C.AudioAllowedCapturePolicy int&nbsp;allowedCapturePolicy)</pre> @com.google.android.exoplayer2.C.AudioAllowedCapturePolicy int&nbsp;allowedCapturePolicy)</pre>
<div class="block">See <a href="https://developer.android.com/reference/android/media/AudioAttributes.Builder.html#setAllowedCapturePolicy(int)" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioAttributes.Builder.setAllowedCapturePolicy(int)</code></a>.</div> <div class="block">See <a href="https://developer.android.com/reference/android/media/AudioAttributes.Builder.html#setAllowedCapturePolicy(int)" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioAttributes.Builder.setAllowedCapturePolicy(int)</code></a>.</div>
</li> </li>
...@@ -317,7 +321,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -317,7 +321,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setSpatializationBehavior</h4> <h4>setSpatializationBehavior</h4>
<pre class="methodSignature">public&nbsp;<a href="AudioAttributes.Builder.html" title="class in com.google.android.exoplayer2.audio">AudioAttributes.Builder</a>&nbsp;setSpatializationBehavior&#8203;(@com.google.android.exoplayer2.C.SpatializationBehavior int&nbsp;spatializationBehavior)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="AudioAttributes.Builder.html" title="class in com.google.android.exoplayer2.audio">AudioAttributes.Builder</a>&nbsp;setSpatializationBehavior&#8203;(@com.google.android.exoplayer2.C.SpatializationBehavior int&nbsp;spatializationBehavior)</pre>
<div class="block">See <a href="https://developer.android.com/reference/android/media/AudioAttributes.Builder.html#setSpatializationBehavior(int)" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioAttributes.Builder.setSpatializationBehavior(int)</code></a>.</div> <div class="block">See <a href="https://developer.android.com/reference/android/media/AudioAttributes.Builder.html#setSpatializationBehavior(int)" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioAttributes.Builder.setSpatializationBehavior(int)</code></a>.</div>
</li> </li>
</ul> </ul>
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
catch(err) { catch(err) {
} }
//--> //-->
var data = {"i0":10}; var data = {"i0":10,"i1":10,"i2":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]}; var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor"; var altColor = "altColor";
var rowColor = "rowColor"; var rowColor = "rowColor";
...@@ -231,6 +231,16 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -231,6 +231,16 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<th class="colLast" scope="col">Description</th> <th class="colLast" scope="col">Description</th>
</tr> </tr>
<tr id="i0" class="altColor"> <tr id="i0" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#equals(java.lang.Object)">equals</a></span>&#8203;(<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a>&nbsp;o)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hashCode()">hashCode</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a></code></td> <td class="colFirst"><code><a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toString()">toString</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toString()">toString</a></span>()</code></th>
<td class="colLast">&nbsp;</td> <td class="colLast">&nbsp;</td>
...@@ -241,7 +251,7 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -241,7 +251,7 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<!-- --> <!-- -->
</a> </a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></h3> <h3>Methods inherited from class&nbsp;java.lang.<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></h3>
<code><a href="https://developer.android.com/reference/java/lang/Object.html#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink" target="_top">wait</a></code></li> <code><a href="https://developer.android.com/reference/java/lang/Object.html#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink" target="_top">wait</a></code></li>
</ul> </ul>
</li> </li>
</ul> </ul>
...@@ -342,7 +352,7 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -342,7 +352,7 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<a id="toString()"> <a id="toString()">
<!-- --> <!-- -->
</a> </a>
<ul class="blockListLast"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>toString</h4> <h4>toString</h4>
<pre class="methodSignature">public&nbsp;<a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a>&nbsp;toString()</pre> <pre class="methodSignature">public&nbsp;<a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a>&nbsp;toString()</pre>
...@@ -352,6 +362,33 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -352,6 +362,33 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
</dl> </dl>
</li> </li>
</ul> </ul>
<a id="equals(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>equals</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;equals&#8203;(@Nullable
<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a>&nbsp;o)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://developer.android.com/reference/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></code></dd>
</dl>
</li>
</ul>
<a id="hashCode()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>hashCode</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;hashCode()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://developer.android.com/reference/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></code></dd>
</dl>
</li>
</ul>
</li> </li>
</ul> </ul>
</section> </section>
......
...@@ -240,8 +240,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height")); ...@@ -240,8 +240,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isEnded()">isEnded</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isEnded()">isEnded</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Returns whether this processor will return no more output from <a href="#getOutput()"><code>getOutput()</code></a> until it <div class="block">Returns whether this processor will return no more output from <a href="#getOutput()"><code>getOutput()</code></a> until
has been <a href="#flush()"><code>flush()</code></a>ed and more input has been queued.</div> <a href="#flush()"><code>flush()</code></a> has been called and more input has been queued.</div>
</td> </td>
</tr> </tr>
<tr id="i5" class="rowColor"> <tr id="i5" class="rowColor">
...@@ -308,7 +308,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height")); ...@@ -308,7 +308,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>configure</h4> <h4>configure</h4>
<pre class="methodSignature"><a href="AudioProcessor.AudioFormat.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.AudioFormat</a>&nbsp;configure&#8203;(<a href="AudioProcessor.AudioFormat.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.AudioFormat</a>&nbsp;inputAudioFormat) <pre class="methodSignature">@CanIgnoreReturnValue
<a href="AudioProcessor.AudioFormat.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.AudioFormat</a>&nbsp;configure&#8203;(<a href="AudioProcessor.AudioFormat.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.AudioFormat</a>&nbsp;inputAudioFormat)
throws <a href="AudioProcessor.UnhandledAudioFormatException.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.UnhandledAudioFormatException</a></pre> throws <a href="AudioProcessor.UnhandledAudioFormatException.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.UnhandledAudioFormatException</a></pre>
<div class="block">Configures the processor to process input audio with the specified format. After calling this <div class="block">Configures the processor to process input audio with the specified format. After calling this
method, call <a href="#isActive()"><code>isActive()</code></a> to determine whether the audio processor is active. Returns method, call <a href="#isActive()"><code>isActive()</code></a> to determine whether the audio processor is active. Returns
...@@ -393,8 +394,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height")); ...@@ -393,8 +394,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<li class="blockList"> <li class="blockList">
<h4>isEnded</h4> <h4>isEnded</h4>
<pre class="methodSignature">boolean&nbsp;isEnded()</pre> <pre class="methodSignature">boolean&nbsp;isEnded()</pre>
<div class="block">Returns whether this processor will return no more output from <a href="#getOutput()"><code>getOutput()</code></a> until it <div class="block">Returns whether this processor will return no more output from <a href="#getOutput()"><code>getOutput()</code></a> until
has been <a href="#flush()"><code>flush()</code></a>ed and more input has been queued.</div> <a href="#flush()"><code>flush()</code></a> has been called and more input has been queued.</div>
</li> </li>
</ul> </ul>
<a id="flush()"> <a id="flush()">
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
catch(err) { catch(err) {
} }
//--> //-->
var data = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6,"i23":18,"i24":6,"i25":6,"i26":6}; var data = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":18,"i23":6,"i24":18,"i25":18,"i26":6,"i27":6,"i28":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]}; var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]};
var altColor = "altColor"; var altColor = "altColor";
var rowColor = "rowColor"; var rowColor = "rowColor";
...@@ -433,34 +433,49 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height")); ...@@ -433,34 +433,49 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</td> </td>
</tr> </tr>
<tr id="i22" class="altColor"> <tr id="i22" class="altColor">
<td class="colFirst"><code>default void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setOutputStreamOffsetUs(long)">setOutputStreamOffsetUs</a></span>&#8203;(long&nbsp;outputStreamOffsetUs)</code></th>
<td class="colLast">
<div class="block">Sets the offset that is added to the media timestamp before it is passed as <code>
presentationTimeUs</code> in <a href="#handleBuffer(java.nio.ByteBuffer,long,int)"><code>handleBuffer(ByteBuffer, long, int)</code></a>.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPlaybackParameters(com.google.android.exoplayer2.PlaybackParameters)">setPlaybackParameters</a></span>&#8203;(<a href="../PlaybackParameters.html" title="class in com.google.android.exoplayer2">PlaybackParameters</a>&nbsp;playbackParameters)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPlaybackParameters(com.google.android.exoplayer2.PlaybackParameters)">setPlaybackParameters</a></span>&#8203;(<a href="../PlaybackParameters.html" title="class in com.google.android.exoplayer2">PlaybackParameters</a>&nbsp;playbackParameters)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Attempts to set the playback parameters.</div> <div class="block">Attempts to set the playback parameters.</div>
</td> </td>
</tr> </tr>
<tr id="i23" class="rowColor"> <tr id="i24" class="altColor">
<td class="colFirst"><code>default void</code></td> <td class="colFirst"><code>default void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPlayerId(com.google.android.exoplayer2.analytics.PlayerId)">setPlayerId</a></span>&#8203;(<a href="../analytics/PlayerId.html" title="class in com.google.android.exoplayer2.analytics">PlayerId</a>&nbsp;playerId)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPlayerId(com.google.android.exoplayer2.analytics.PlayerId)">setPlayerId</a></span>&#8203;(<a href="../analytics/PlayerId.html" title="class in com.google.android.exoplayer2.analytics">PlayerId</a>&nbsp;playerId)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Sets the <a href="../analytics/PlayerId.html" title="class in com.google.android.exoplayer2.analytics"><code>PlayerId</code></a> of the player using this audio sink.</div> <div class="block">Sets the <a href="../analytics/PlayerId.html" title="class in com.google.android.exoplayer2.analytics"><code>PlayerId</code></a> of the player using this audio sink.</div>
</td> </td>
</tr> </tr>
<tr id="i24" class="altColor"> <tr id="i25" class="rowColor">
<td class="colFirst"><code>default void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPreferredDevice(android.media.AudioDeviceInfo)">setPreferredDevice</a></span>&#8203;(<a href="https://developer.android.com/reference/android/media/AudioDeviceInfo.html" title="class or interface in android.media" class="externalLink" target="_top">AudioDeviceInfo</a>&nbsp;audioDeviceInfo)</code></th>
<td class="colLast">
<div class="block">Sets the preferred audio device.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSkipSilenceEnabled(boolean)">setSkipSilenceEnabled</a></span>&#8203;(boolean&nbsp;skipSilenceEnabled)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSkipSilenceEnabled(boolean)">setSkipSilenceEnabled</a></span>&#8203;(boolean&nbsp;skipSilenceEnabled)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Sets whether silences should be skipped in the audio stream.</div> <div class="block">Sets whether silences should be skipped in the audio stream.</div>
</td> </td>
</tr> </tr>
<tr id="i25" class="rowColor"> <tr id="i27" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVolume(float)">setVolume</a></span>&#8203;(float&nbsp;volume)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVolume(float)">setVolume</a></span>&#8203;(float&nbsp;volume)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Sets the playback volume.</div> <div class="block">Sets the playback volume.</div>
</td> </td>
</tr> </tr>
<tr id="i26" class="altColor"> <tr id="i28" class="altColor">
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#supportsFormat(com.google.android.exoplayer2.Format)">supportsFormat</a></span>&#8203;(<a href="../Format.html" title="class in com.google.android.exoplayer2">Format</a>&nbsp;format)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#supportsFormat(com.google.android.exoplayer2.Format)">supportsFormat</a></span>&#8203;(<a href="../Format.html" title="class in com.google.android.exoplayer2">Format</a>&nbsp;format)</code></th>
<td class="colLast"> <td class="colLast">
...@@ -841,6 +856,38 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height")); ...@@ -841,6 +856,38 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<div class="block">Sets the auxiliary effect.</div> <div class="block">Sets the auxiliary effect.</div>
</li> </li>
</ul> </ul>
<a id="setPreferredDevice(android.media.AudioDeviceInfo)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPreferredDevice</h4>
<pre class="methodSignature">@RequiresApi(23)
default&nbsp;void&nbsp;setPreferredDevice&#8203;(@Nullable
<a href="https://developer.android.com/reference/android/media/AudioDeviceInfo.html" title="class or interface in android.media" class="externalLink" target="_top">AudioDeviceInfo</a>&nbsp;audioDeviceInfo)</pre>
<div class="block">Sets the preferred audio device.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>audioDeviceInfo</code> - The preferred <a href="https://developer.android.com/reference/android/media/AudioDeviceInfo.html" title="class or interface in android.media" class="externalLink" target="_top">audio device</a>, or null to
restore the default.</dd>
</dl>
</li>
</ul>
<a id="setOutputStreamOffsetUs(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setOutputStreamOffsetUs</h4>
<pre class="methodSignature">default&nbsp;void&nbsp;setOutputStreamOffsetUs&#8203;(long&nbsp;outputStreamOffsetUs)</pre>
<div class="block">Sets the offset that is added to the media timestamp before it is passed as <code>
presentationTimeUs</code> in <a href="#handleBuffer(java.nio.ByteBuffer,long,int)"><code>handleBuffer(ByteBuffer, long, int)</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>outputStreamOffsetUs</code> - The output stream offset in microseconds.</dd>
</dl>
</li>
</ul>
<a id="enableTunnelingV21()"> <a id="enableTunnelingV21()">
<!-- --> <!-- -->
</a> </a>
......
...@@ -279,8 +279,8 @@ implements <a href="AudioProcessor.html" title="interface in com.google.android. ...@@ -279,8 +279,8 @@ implements <a href="AudioProcessor.html" title="interface in com.google.android.
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isEnded()">isEnded</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isEnded()">isEnded</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Returns whether this processor will return no more output from <a href="AudioProcessor.html#getOutput()"><code>AudioProcessor.getOutput()</code></a> until it <div class="block">Returns whether this processor will return no more output from <a href="AudioProcessor.html#getOutput()"><code>AudioProcessor.getOutput()</code></a> until
has been <a href="AudioProcessor.html#flush()"><code>AudioProcessor.flush()</code></a>ed and more input has been queued.</div> <a href="AudioProcessor.html#flush()"><code>AudioProcessor.flush()</code></a> has been called and more input has been queued.</div>
</td> </td>
</tr> </tr>
<tr id="i6" class="altColor"> <tr id="i6" class="altColor">
...@@ -320,10 +320,9 @@ implements <a href="AudioProcessor.html" title="interface in com.google.android. ...@@ -320,10 +320,9 @@ implements <a href="AudioProcessor.html" title="interface in com.google.android.
</tr> </tr>
<tr id="i11" class="rowColor"> <tr id="i11" class="rowColor">
<td class="colFirst"><code>protected <a href="https://developer.android.com/reference/java/nio/ByteBuffer.html" title="class or interface in java.nio" class="externalLink" target="_top">ByteBuffer</a></code></td> <td class="colFirst"><code>protected <a href="https://developer.android.com/reference/java/nio/ByteBuffer.html" title="class or interface in java.nio" class="externalLink" target="_top">ByteBuffer</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#replaceOutputBuffer(int)">replaceOutputBuffer</a></span>&#8203;(int&nbsp;count)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#replaceOutputBuffer(int)">replaceOutputBuffer</a></span>&#8203;(int&nbsp;size)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Replaces the current output buffer with a buffer of at least <code>count</code> bytes and returns <div class="block">Replaces the current output buffer with a buffer of at least <code>size</code> bytes and returns it.</div>
it.</div>
</td> </td>
</tr> </tr>
<tr id="i12" class="altColor"> <tr id="i12" class="altColor">
...@@ -419,7 +418,8 @@ implements <a href="AudioProcessor.html" title="interface in com.google.android. ...@@ -419,7 +418,8 @@ implements <a href="AudioProcessor.html" title="interface in com.google.android.
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>configure</h4> <h4>configure</h4>
<pre class="methodSignature">public final&nbsp;<a href="AudioProcessor.AudioFormat.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.AudioFormat</a>&nbsp;configure&#8203;(<a href="AudioProcessor.AudioFormat.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.AudioFormat</a>&nbsp;inputAudioFormat) <pre class="methodSignature">@CanIgnoreReturnValue
public final&nbsp;<a href="AudioProcessor.AudioFormat.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.AudioFormat</a>&nbsp;configure&#8203;(<a href="AudioProcessor.AudioFormat.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.AudioFormat</a>&nbsp;inputAudioFormat)
throws <a href="AudioProcessor.UnhandledAudioFormatException.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.UnhandledAudioFormatException</a></pre> throws <a href="AudioProcessor.UnhandledAudioFormatException.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.UnhandledAudioFormatException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="AudioProcessor.html#configure(com.google.android.exoplayer2.audio.AudioProcessor.AudioFormat)">AudioProcessor</a></code></span></div> <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="AudioProcessor.html#configure(com.google.android.exoplayer2.audio.AudioProcessor.AudioFormat)">AudioProcessor</a></code></span></div>
<div class="block">Configures the processor to process input audio with the specified format. After calling this <div class="block">Configures the processor to process input audio with the specified format. After calling this
...@@ -504,8 +504,8 @@ public&nbsp;<a href="https://developer.android.com/reference/java/nio/ByteBuffer ...@@ -504,8 +504,8 @@ public&nbsp;<a href="https://developer.android.com/reference/java/nio/ByteBuffer
<pre class="methodSignature">@CallSuper <pre class="methodSignature">@CallSuper
public&nbsp;boolean&nbsp;isEnded()</pre> public&nbsp;boolean&nbsp;isEnded()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="AudioProcessor.html#isEnded()">AudioProcessor</a></code></span></div> <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="AudioProcessor.html#isEnded()">AudioProcessor</a></code></span></div>
<div class="block">Returns whether this processor will return no more output from <a href="AudioProcessor.html#getOutput()"><code>AudioProcessor.getOutput()</code></a> until it <div class="block">Returns whether this processor will return no more output from <a href="AudioProcessor.html#getOutput()"><code>AudioProcessor.getOutput()</code></a> until
has been <a href="AudioProcessor.html#flush()"><code>AudioProcessor.flush()</code></a>ed and more input has been queued.</div> <a href="AudioProcessor.html#flush()"><code>AudioProcessor.flush()</code></a> has been called and more input has been queued.</div>
<dl> <dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="AudioProcessor.html#isEnded()">isEnded</a></code>&nbsp;in interface&nbsp;<code><a href="AudioProcessor.html" title="interface in com.google.android.exoplayer2.audio">AudioProcessor</a></code></dd> <dd><code><a href="AudioProcessor.html#isEnded()">isEnded</a></code>&nbsp;in interface&nbsp;<code><a href="AudioProcessor.html" title="interface in com.google.android.exoplayer2.audio">AudioProcessor</a></code></dd>
...@@ -549,10 +549,10 @@ public&nbsp;boolean&nbsp;isEnded()</pre> ...@@ -549,10 +549,10 @@ public&nbsp;boolean&nbsp;isEnded()</pre>
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>replaceOutputBuffer</h4> <h4>replaceOutputBuffer</h4>
<pre class="methodSignature">protected final&nbsp;<a href="https://developer.android.com/reference/java/nio/ByteBuffer.html" title="class or interface in java.nio" class="externalLink" target="_top">ByteBuffer</a>&nbsp;replaceOutputBuffer&#8203;(int&nbsp;count)</pre> <pre class="methodSignature">protected final&nbsp;<a href="https://developer.android.com/reference/java/nio/ByteBuffer.html" title="class or interface in java.nio" class="externalLink" target="_top">ByteBuffer</a>&nbsp;replaceOutputBuffer&#8203;(int&nbsp;size)</pre>
<div class="block">Replaces the current output buffer with a buffer of at least <code>count</code> bytes and returns <div class="block">Replaces the current output buffer with a buffer of at least <code>size</code> bytes and returns it.
it. Callers should write to the returned buffer then <a href="https://developer.android.com/reference/java/nio/ByteBuffer.html#flip()" title="class or interface in java.nio" class="externalLink" target="_top"><code>ByteBuffer.flip()</code></a> it so it can be Callers should write to the returned buffer then <a href="https://developer.android.com/reference/java/nio/ByteBuffer.html#flip()" title="class or interface in java.nio" class="externalLink" target="_top"><code>ByteBuffer.flip()</code></a> it so it can be read
read via <a href="#getOutput()"><code>getOutput()</code></a>.</div> via <a href="#getOutput()"><code>getOutput()</code></a>.</div>
</li> </li>
</ul> </ul>
<a id="hasPendingOutput()"> <a id="hasPendingOutput()">
...@@ -571,7 +571,8 @@ public&nbsp;boolean&nbsp;isEnded()</pre> ...@@ -571,7 +571,8 @@ public&nbsp;boolean&nbsp;isEnded()</pre>
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>onConfigure</h4> <h4>onConfigure</h4>
<pre class="methodSignature">protected&nbsp;<a href="AudioProcessor.AudioFormat.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.AudioFormat</a>&nbsp;onConfigure&#8203;(<a href="AudioProcessor.AudioFormat.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.AudioFormat</a>&nbsp;inputAudioFormat) <pre class="methodSignature">@CanIgnoreReturnValue
protected&nbsp;<a href="AudioProcessor.AudioFormat.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.AudioFormat</a>&nbsp;onConfigure&#8203;(<a href="AudioProcessor.AudioFormat.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.AudioFormat</a>&nbsp;inputAudioFormat)
throws <a href="AudioProcessor.UnhandledAudioFormatException.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.UnhandledAudioFormatException</a></pre> throws <a href="AudioProcessor.UnhandledAudioFormatException.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.UnhandledAudioFormatException</a></pre>
<div class="block">Called when the processor is configured for a new input format.</div> <div class="block">Called when the processor is configured for a new input format.</div>
<dl> <dl>
......
...@@ -279,7 +279,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -279,7 +279,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setMinPcmBufferDurationUs</h4> <h4>setMinPcmBufferDurationUs</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultAudioTrackBufferSizeProvider.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioTrackBufferSizeProvider.Builder</a>&nbsp;setMinPcmBufferDurationUs&#8203;(int&nbsp;minPcmBufferDurationUs)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultAudioTrackBufferSizeProvider.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioTrackBufferSizeProvider.Builder</a>&nbsp;setMinPcmBufferDurationUs&#8203;(int&nbsp;minPcmBufferDurationUs)</pre>
<div class="block">Sets the minimum length for PCM <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a> buffers, in microseconds. Default is <div class="block">Sets the minimum length for PCM <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a> buffers, in microseconds. Default is
<a href="DefaultAudioTrackBufferSizeProvider.html#MIN_PCM_BUFFER_DURATION_US">250000</a>.</div> <a href="DefaultAudioTrackBufferSizeProvider.html#MIN_PCM_BUFFER_DURATION_US">250000</a>.</div>
</li> </li>
...@@ -290,7 +291,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -290,7 +291,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setMaxPcmBufferDurationUs</h4> <h4>setMaxPcmBufferDurationUs</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultAudioTrackBufferSizeProvider.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioTrackBufferSizeProvider.Builder</a>&nbsp;setMaxPcmBufferDurationUs&#8203;(int&nbsp;maxPcmBufferDurationUs)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultAudioTrackBufferSizeProvider.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioTrackBufferSizeProvider.Builder</a>&nbsp;setMaxPcmBufferDurationUs&#8203;(int&nbsp;maxPcmBufferDurationUs)</pre>
<div class="block">Sets the maximum length for PCM <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a> buffers, in microseconds. Default is <div class="block">Sets the maximum length for PCM <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a> buffers, in microseconds. Default is
<a href="DefaultAudioTrackBufferSizeProvider.html#MAX_PCM_BUFFER_DURATION_US">750000</a>.</div> <a href="DefaultAudioTrackBufferSizeProvider.html#MAX_PCM_BUFFER_DURATION_US">750000</a>.</div>
</li> </li>
...@@ -301,7 +303,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -301,7 +303,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setPcmBufferMultiplicationFactor</h4> <h4>setPcmBufferMultiplicationFactor</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultAudioTrackBufferSizeProvider.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioTrackBufferSizeProvider.Builder</a>&nbsp;setPcmBufferMultiplicationFactor&#8203;(int&nbsp;pcmBufferMultiplicationFactor)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultAudioTrackBufferSizeProvider.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioTrackBufferSizeProvider.Builder</a>&nbsp;setPcmBufferMultiplicationFactor&#8203;(int&nbsp;pcmBufferMultiplicationFactor)</pre>
<div class="block">Sets the multiplication factor to apply to the minimum buffer size requested. Default is <div class="block">Sets the multiplication factor to apply to the minimum buffer size requested. Default is
<a href="DefaultAudioTrackBufferSizeProvider.html#PCM_BUFFER_MULTIPLICATION_FACTOR">4</a>.</div> <a href="DefaultAudioTrackBufferSizeProvider.html#PCM_BUFFER_MULTIPLICATION_FACTOR">4</a>.</div>
</li> </li>
...@@ -312,7 +315,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -312,7 +315,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setPassthroughBufferDurationUs</h4> <h4>setPassthroughBufferDurationUs</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultAudioTrackBufferSizeProvider.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioTrackBufferSizeProvider.Builder</a>&nbsp;setPassthroughBufferDurationUs&#8203;(int&nbsp;passthroughBufferDurationUs)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultAudioTrackBufferSizeProvider.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioTrackBufferSizeProvider.Builder</a>&nbsp;setPassthroughBufferDurationUs&#8203;(int&nbsp;passthroughBufferDurationUs)</pre>
<div class="block">Sets the length for passthrough <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a> buffers, in microseconds. Default is <div class="block">Sets the length for passthrough <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a> buffers, in microseconds. Default is
<a href="DefaultAudioTrackBufferSizeProvider.html#PASSTHROUGH_BUFFER_DURATION_US">250000</a>.</div> <a href="DefaultAudioTrackBufferSizeProvider.html#PASSTHROUGH_BUFFER_DURATION_US">250000</a>.</div>
</li> </li>
...@@ -323,7 +327,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -323,7 +327,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setOffloadBufferDurationUs</h4> <h4>setOffloadBufferDurationUs</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultAudioTrackBufferSizeProvider.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioTrackBufferSizeProvider.Builder</a>&nbsp;setOffloadBufferDurationUs&#8203;(int&nbsp;offloadBufferDurationUs)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultAudioTrackBufferSizeProvider.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioTrackBufferSizeProvider.Builder</a>&nbsp;setOffloadBufferDurationUs&#8203;(int&nbsp;offloadBufferDurationUs)</pre>
<div class="block">The length for offload <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink"><code>AudioTrack</code></a> buffers, in microseconds. Default is <a href="DefaultAudioTrackBufferSizeProvider.html#OFFLOAD_BUFFER_DURATION_US" target="_top">50000000</a>.</div> <div class="block">The length for offload <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink"><code>AudioTrack</code></a> buffers, in microseconds. Default is <a href="DefaultAudioTrackBufferSizeProvider.html#OFFLOAD_BUFFER_DURATION_US" target="_top">50000000</a>.</div>
</li> </li>
</ul> </ul>
...@@ -333,7 +338,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -333,7 +338,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setAc3BufferMultiplicationFactor</h4> <h4>setAc3BufferMultiplicationFactor</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultAudioTrackBufferSizeProvider.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioTrackBufferSizeProvider.Builder</a>&nbsp;setAc3BufferMultiplicationFactor&#8203;(int&nbsp;ac3BufferMultiplicationFactor)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultAudioTrackBufferSizeProvider.Builder.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioTrackBufferSizeProvider.Builder</a>&nbsp;setAc3BufferMultiplicationFactor&#8203;(int&nbsp;ac3BufferMultiplicationFactor)</pre>
<div class="block">Sets the multiplication factor to apply to the passthrough buffer for AC3 to avoid underruns <div class="block">Sets the multiplication factor to apply to the passthrough buffer for AC3 to avoid underruns
on some devices (e.g., Broadcom 7271). Default is <a href="DefaultAudioTrackBufferSizeProvider.html#AC3_BUFFER_MULTIPLICATION_FACTOR">2</a>.</div> on some devices (e.g., Broadcom 7271). Default is <a href="DefaultAudioTrackBufferSizeProvider.html#AC3_BUFFER_MULTIPLICATION_FACTOR">2</a>.</div>
</li> </li>
......
...@@ -128,9 +128,14 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height")); ...@@ -128,9 +128,14 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<div class="description"> <div class="description">
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="DefaultAudioSink.AudioTrackBufferSizeProvider.html" title="interface in com.google.android.exoplayer2.audio">DefaultAudioSink.AudioTrackBufferSizeProvider</a></code></dd>
</dl>
<hr> <hr>
<pre>public class <span class="typeNameLabel">DefaultAudioTrackBufferSizeProvider</span> <pre>public class <span class="typeNameLabel">DefaultAudioTrackBufferSizeProvider</span>
extends <a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></pre> extends <a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a>
implements <a href="DefaultAudioSink.AudioTrackBufferSizeProvider.html" title="interface in com.google.android.exoplayer2.audio">DefaultAudioSink.AudioTrackBufferSizeProvider</a></pre>
<div class="block">Provide the buffer size to use when creating an <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a>.</div> <div class="block">Provide the buffer size to use when creating an <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a>.</div>
</li> </li>
</ul> </ul>
...@@ -186,41 +191,34 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -186,41 +191,34 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
</td> </td>
</tr> </tr>
<tr class="rowColor"> <tr class="rowColor">
<td class="colFirst"><code>static com.google.android.exoplayer2.audio.DefaultAudioSink.AudioTrackBufferSizeProvider</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#DEFAULT">DEFAULT</a></span></code></th>
<td class="colLast">
<div class="block">Default instance.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected int</code></td> <td class="colFirst"><code>protected int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#maxPcmBufferDurationUs">maxPcmBufferDurationUs</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#maxPcmBufferDurationUs">maxPcmBufferDurationUs</a></span></code></th>
<td class="colLast"> <td class="colLast">
<div class="block">The maximum length for PCM <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a> buffers, in microseconds.</div> <div class="block">The maximum length for PCM <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a> buffers, in microseconds.</div>
</td> </td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<td class="colFirst"><code>protected int</code></td> <td class="colFirst"><code>protected int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#minPcmBufferDurationUs">minPcmBufferDurationUs</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#minPcmBufferDurationUs">minPcmBufferDurationUs</a></span></code></th>
<td class="colLast"> <td class="colLast">
<div class="block">The minimum length for PCM <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a> buffers, in microseconds.</div> <div class="block">The minimum length for PCM <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a> buffers, in microseconds.</div>
</td> </td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<td class="colFirst"><code>protected int</code></td> <td class="colFirst"><code>protected int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#offloadBufferDurationUs">offloadBufferDurationUs</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#offloadBufferDurationUs">offloadBufferDurationUs</a></span></code></th>
<td class="colLast"> <td class="colLast">
<div class="block">The length for offload <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a> buffers, in microseconds.</div> <div class="block">The length for offload <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a> buffers, in microseconds.</div>
</td> </td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<td class="colFirst"><code>protected int</code></td> <td class="colFirst"><code>protected int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#passthroughBufferDurationUs">passthroughBufferDurationUs</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#passthroughBufferDurationUs">passthroughBufferDurationUs</a></span></code></th>
<td class="colLast"> <td class="colLast">
<div class="block">The length for passthrough <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a> buffers, in microseconds.</div> <div class="block">The length for passthrough <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a> buffers, in microseconds.</div>
</td> </td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<td class="colFirst"><code>protected int</code></td> <td class="colFirst"><code>protected int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#pcmBufferMultiplicationFactor">pcmBufferMultiplicationFactor</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#pcmBufferMultiplicationFactor">pcmBufferMultiplicationFactor</a></span></code></th>
<td class="colLast"> <td class="colLast">
...@@ -228,6 +226,13 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -228,6 +226,13 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
</td> </td>
</tr> </tr>
</table> </table>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.com.google.android.exoplayer2.audio.DefaultAudioSink.AudioTrackBufferSizeProvider">
<!-- -->
</a>
<h3>Fields inherited from interface&nbsp;com.google.android.exoplayer2.audio.<a href="DefaultAudioSink.AudioTrackBufferSizeProvider.html" title="interface in com.google.android.exoplayer2.audio">DefaultAudioSink.AudioTrackBufferSizeProvider</a></h3>
<code><a href="DefaultAudioSink.AudioTrackBufferSizeProvider.html#DEFAULT">DEFAULT</a></code></li>
</ul>
</li> </li>
</ul> </ul>
</section> </section>
...@@ -294,7 +299,10 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -294,7 +299,10 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
int&nbsp;pcmFrameSize, int&nbsp;pcmFrameSize,
int&nbsp;sampleRate, int&nbsp;sampleRate,
double&nbsp;maxAudioTrackPlaybackSpeed)</code></th> double&nbsp;maxAudioTrackPlaybackSpeed)</code></th>
<td class="colLast">&nbsp;</td> <td class="colLast">
<div class="block">Returns the buffer size to use when creating an <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a> for a specific format and
output mode.</div>
</td>
</tr> </tr>
<tr id="i3" class="rowColor"> <tr id="i3" class="rowColor">
<td class="colFirst"><code>protected static int</code></td> <td class="colFirst"><code>protected static int</code></td>
...@@ -401,7 +409,7 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -401,7 +409,7 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<a id="ac3BufferMultiplicationFactor"> <a id="ac3BufferMultiplicationFactor">
<!-- --> <!-- -->
</a> </a>
<ul class="blockList"> <ul class="blockListLast">
<li class="blockList"> <li class="blockList">
<h4>ac3BufferMultiplicationFactor</h4> <h4>ac3BufferMultiplicationFactor</h4>
<pre>public final&nbsp;int ac3BufferMultiplicationFactor</pre> <pre>public final&nbsp;int ac3BufferMultiplicationFactor</pre>
...@@ -409,16 +417,6 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -409,16 +417,6 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
(e.g., Broadcom 7271).</div> (e.g., Broadcom 7271).</div>
</li> </li>
</ul> </ul>
<a id="DEFAULT">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DEFAULT</h4>
<pre>public static final&nbsp;com.google.android.exoplayer2.audio.DefaultAudioSink.AudioTrackBufferSizeProvider DEFAULT</pre>
<div class="block">Default instance.</div>
</li>
</ul>
</li> </li>
</ul> </ul>
</section> </section>
...@@ -460,6 +458,27 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -460,6 +458,27 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
int&nbsp;pcmFrameSize, int&nbsp;pcmFrameSize,
int&nbsp;sampleRate, int&nbsp;sampleRate,
double&nbsp;maxAudioTrackPlaybackSpeed)</pre> double&nbsp;maxAudioTrackPlaybackSpeed)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="DefaultAudioSink.AudioTrackBufferSizeProvider.html#getBufferSizeInBytes(int,@com.google.android.exoplayer2.C.Encodingint,@com.google.android.exoplayer2.audio.DefaultAudioSink.OutputModeint,int,int,double)">DefaultAudioSink.AudioTrackBufferSizeProvider</a></code></span></div>
<div class="block">Returns the buffer size to use when creating an <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a> for a specific format and
output mode.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="DefaultAudioSink.AudioTrackBufferSizeProvider.html#getBufferSizeInBytes(int,@com.google.android.exoplayer2.C.Encodingint,@com.google.android.exoplayer2.audio.DefaultAudioSink.OutputModeint,int,int,double)">getBufferSizeInBytes</a></code>&nbsp;in interface&nbsp;<code><a href="DefaultAudioSink.AudioTrackBufferSizeProvider.html" title="interface in com.google.android.exoplayer2.audio">DefaultAudioSink.AudioTrackBufferSizeProvider</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>minBufferSizeInBytes</code> - The minimum buffer size in bytes required to play this format.
See <a href="https://developer.android.com/reference/android/media/AudioTrack.html#getMinBufferSize(int,int,int)" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack.getMinBufferSize(int, int, int)</code></a>.</dd>
<dd><code>encoding</code> - The <a href="../C.Encoding.html" title="annotation in com.google.android.exoplayer2"><code>C.Encoding</code></a> of the format.</dd>
<dd><code>outputMode</code> - How the audio will be played. One of the <a href="DefaultAudioSink.OutputMode.html" title="annotation in com.google.android.exoplayer2.audio"><code>output modes</code></a>.</dd>
<dd><code>pcmFrameSize</code> - The size of the PCM frames if the <code>encoding</code> is PCM, 1 otherwise,
in bytes.</dd>
<dd><code>sampleRate</code> - The sample rate of the format, in Hz.</dd>
<dd><code>maxAudioTrackPlaybackSpeed</code> - The maximum speed the content will be played using <a href="https://developer.android.com/reference/android/media/AudioTrack.html#setPlaybackParams(android.media.PlaybackParams)" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack.setPlaybackParams(android.media.PlaybackParams)</code></a>. 0.5 is 2x slow motion, 1 is real time, 2 is 2x fast
forward, etc. This will be <code>1</code> unless <a href="DefaultAudioSink.Builder.html#setEnableAudioTrackPlaybackParams(boolean)"><code>DefaultAudioSink.Builder.setEnableAudioTrackPlaybackParams(boolean)</code></a> is enabled.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The computed buffer size in bytes. It should always be <code>&gt;=
minBufferSizeInBytes</code>. The computed buffer size must contain an integer number of frames:
<code>bufferSizeInBytes % pcmFrameSize == 0</code>.</dd>
</dl>
</li> </li>
</ul> </ul>
<a id="get1xBufferSizeInBytes(int,int,int,int,int)"> <a id="get1xBufferSizeInBytes(int,int,int,int,int)">
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
catch(err) { catch(err) {
} }
//--> //-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10}; var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]}; var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor"; var altColor = "altColor";
var rowColor = "rowColor"; var rowColor = "rowColor";
...@@ -378,33 +378,48 @@ implements <a href="AudioSink.html" title="interface in com.google.android.exopl ...@@ -378,33 +378,48 @@ implements <a href="AudioSink.html" title="interface in com.google.android.exopl
</tr> </tr>
<tr id="i22" class="altColor"> <tr id="i22" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setOutputStreamOffsetUs(long)">setOutputStreamOffsetUs</a></span>&#8203;(long&nbsp;outputStreamOffsetUs)</code></th>
<td class="colLast">
<div class="block">Sets the offset that is added to the media timestamp before it is passed as <code>
presentationTimeUs</code> in <a href="AudioSink.html#handleBuffer(java.nio.ByteBuffer,long,int)"><code>AudioSink.handleBuffer(ByteBuffer, long, int)</code></a>.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPlaybackParameters(com.google.android.exoplayer2.PlaybackParameters)">setPlaybackParameters</a></span>&#8203;(<a href="../PlaybackParameters.html" title="class in com.google.android.exoplayer2">PlaybackParameters</a>&nbsp;playbackParameters)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPlaybackParameters(com.google.android.exoplayer2.PlaybackParameters)">setPlaybackParameters</a></span>&#8203;(<a href="../PlaybackParameters.html" title="class in com.google.android.exoplayer2">PlaybackParameters</a>&nbsp;playbackParameters)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Attempts to set the playback parameters.</div> <div class="block">Attempts to set the playback parameters.</div>
</td> </td>
</tr> </tr>
<tr id="i23" class="rowColor"> <tr id="i24" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPlayerId(com.google.android.exoplayer2.analytics.PlayerId)">setPlayerId</a></span>&#8203;(<a href="../analytics/PlayerId.html" title="class in com.google.android.exoplayer2.analytics">PlayerId</a>&nbsp;playerId)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPlayerId(com.google.android.exoplayer2.analytics.PlayerId)">setPlayerId</a></span>&#8203;(<a href="../analytics/PlayerId.html" title="class in com.google.android.exoplayer2.analytics">PlayerId</a>&nbsp;playerId)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Sets the <a href="../analytics/PlayerId.html" title="class in com.google.android.exoplayer2.analytics"><code>PlayerId</code></a> of the player using this audio sink.</div> <div class="block">Sets the <a href="../analytics/PlayerId.html" title="class in com.google.android.exoplayer2.analytics"><code>PlayerId</code></a> of the player using this audio sink.</div>
</td> </td>
</tr> </tr>
<tr id="i24" class="altColor"> <tr id="i25" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPreferredDevice(android.media.AudioDeviceInfo)">setPreferredDevice</a></span>&#8203;(<a href="https://developer.android.com/reference/android/media/AudioDeviceInfo.html" title="class or interface in android.media" class="externalLink" target="_top">AudioDeviceInfo</a>&nbsp;audioDeviceInfo)</code></th>
<td class="colLast">
<div class="block">Sets the preferred audio device.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSkipSilenceEnabled(boolean)">setSkipSilenceEnabled</a></span>&#8203;(boolean&nbsp;skipSilenceEnabled)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSkipSilenceEnabled(boolean)">setSkipSilenceEnabled</a></span>&#8203;(boolean&nbsp;skipSilenceEnabled)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Sets whether silences should be skipped in the audio stream.</div> <div class="block">Sets whether silences should be skipped in the audio stream.</div>
</td> </td>
</tr> </tr>
<tr id="i25" class="rowColor"> <tr id="i27" class="rowColor">
<td class="colFirst"><code>void</code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVolume(float)">setVolume</a></span>&#8203;(float&nbsp;volume)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setVolume(float)">setVolume</a></span>&#8203;(float&nbsp;volume)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Sets the playback volume.</div> <div class="block">Sets the playback volume.</div>
</td> </td>
</tr> </tr>
<tr id="i26" class="altColor"> <tr id="i28" class="altColor">
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#supportsFormat(com.google.android.exoplayer2.Format)">supportsFormat</a></span>&#8203;(<a href="../Format.html" title="class in com.google.android.exoplayer2">Format</a>&nbsp;format)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#supportsFormat(com.google.android.exoplayer2.Format)">supportsFormat</a></span>&#8203;(<a href="../Format.html" title="class in com.google.android.exoplayer2">Format</a>&nbsp;format)</code></th>
<td class="colLast"> <td class="colLast">
...@@ -824,6 +839,44 @@ public&nbsp;<a href="AudioAttributes.html" title="class in com.google.android.ex ...@@ -824,6 +839,44 @@ public&nbsp;<a href="AudioAttributes.html" title="class in com.google.android.ex
</dl> </dl>
</li> </li>
</ul> </ul>
<a id="setPreferredDevice(android.media.AudioDeviceInfo)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPreferredDevice</h4>
<pre class="methodSignature">@RequiresApi(23)
public&nbsp;void&nbsp;setPreferredDevice&#8203;(@Nullable
<a href="https://developer.android.com/reference/android/media/AudioDeviceInfo.html" title="class or interface in android.media" class="externalLink" target="_top">AudioDeviceInfo</a>&nbsp;audioDeviceInfo)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="AudioSink.html#setPreferredDevice(android.media.AudioDeviceInfo)">AudioSink</a></code></span></div>
<div class="block">Sets the preferred audio device.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="AudioSink.html#setPreferredDevice(android.media.AudioDeviceInfo)">setPreferredDevice</a></code>&nbsp;in interface&nbsp;<code><a href="AudioSink.html" title="interface in com.google.android.exoplayer2.audio">AudioSink</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>audioDeviceInfo</code> - The preferred <a href="https://developer.android.com/reference/android/media/AudioDeviceInfo.html" title="class or interface in android.media" class="externalLink" target="_top">audio device</a>, or null to
restore the default.</dd>
</dl>
</li>
</ul>
<a id="setOutputStreamOffsetUs(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setOutputStreamOffsetUs</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setOutputStreamOffsetUs&#8203;(long&nbsp;outputStreamOffsetUs)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="AudioSink.html#setOutputStreamOffsetUs(long)">AudioSink</a></code></span></div>
<div class="block">Sets the offset that is added to the media timestamp before it is passed as <code>
presentationTimeUs</code> in <a href="AudioSink.html#handleBuffer(java.nio.ByteBuffer,long,int)"><code>AudioSink.handleBuffer(ByteBuffer, long, int)</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="AudioSink.html#setOutputStreamOffsetUs(long)">setOutputStreamOffsetUs</a></code>&nbsp;in interface&nbsp;<code><a href="AudioSink.html" title="interface in com.google.android.exoplayer2.audio">AudioSink</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>outputStreamOffsetUs</code> - The output stream offset in microseconds.</dd>
</dl>
</li>
</ul>
<a id="enableTunnelingV21()"> <a id="enableTunnelingV21()">
<!-- --> <!-- -->
</a> </a>
......
...@@ -477,7 +477,8 @@ extends <a href="BaseAudioProcessor.html" title="class in com.google.android.exo ...@@ -477,7 +477,8 @@ extends <a href="BaseAudioProcessor.html" title="class in com.google.android.exo
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>onConfigure</h4> <h4>onConfigure</h4>
<pre class="methodSignature">public&nbsp;<a href="AudioProcessor.AudioFormat.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.AudioFormat</a>&nbsp;onConfigure&#8203;(<a href="AudioProcessor.AudioFormat.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.AudioFormat</a>&nbsp;inputAudioFormat) <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="AudioProcessor.AudioFormat.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.AudioFormat</a>&nbsp;onConfigure&#8203;(<a href="AudioProcessor.AudioFormat.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.AudioFormat</a>&nbsp;inputAudioFormat)
throws <a href="AudioProcessor.UnhandledAudioFormatException.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.UnhandledAudioFormatException</a></pre> throws <a href="AudioProcessor.UnhandledAudioFormatException.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.UnhandledAudioFormatException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="BaseAudioProcessor.html#onConfigure(com.google.android.exoplayer2.audio.AudioProcessor.AudioFormat)">BaseAudioProcessor</a></code></span></div> <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="BaseAudioProcessor.html#onConfigure(com.google.android.exoplayer2.audio.AudioProcessor.AudioFormat)">BaseAudioProcessor</a></code></span></div>
<div class="block">Called when the processor is configured for a new input format.</div> <div class="block">Called when the processor is configured for a new input format.</div>
......
...@@ -269,8 +269,8 @@ implements <a href="AudioProcessor.html" title="interface in com.google.android. ...@@ -269,8 +269,8 @@ implements <a href="AudioProcessor.html" title="interface in com.google.android.
<td class="colFirst"><code>boolean</code></td> <td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isEnded()">isEnded</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isEnded()">isEnded</a></span>()</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Returns whether this processor will return no more output from <a href="AudioProcessor.html#getOutput()"><code>AudioProcessor.getOutput()</code></a> until it <div class="block">Returns whether this processor will return no more output from <a href="AudioProcessor.html#getOutput()"><code>AudioProcessor.getOutput()</code></a> until
has been <a href="AudioProcessor.html#flush()"><code>AudioProcessor.flush()</code></a>ed and more input has been queued.</div> <a href="AudioProcessor.html#flush()"><code>AudioProcessor.flush()</code></a> has been called and more input has been queued.</div>
</td> </td>
</tr> </tr>
<tr id="i6" class="altColor"> <tr id="i6" class="altColor">
...@@ -459,7 +459,8 @@ implements <a href="AudioProcessor.html" title="interface in com.google.android. ...@@ -459,7 +459,8 @@ implements <a href="AudioProcessor.html" title="interface in com.google.android.
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>configure</h4> <h4>configure</h4>
<pre class="methodSignature">public&nbsp;<a href="AudioProcessor.AudioFormat.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.AudioFormat</a>&nbsp;configure&#8203;(<a href="AudioProcessor.AudioFormat.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.AudioFormat</a>&nbsp;inputAudioFormat) <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="AudioProcessor.AudioFormat.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.AudioFormat</a>&nbsp;configure&#8203;(<a href="AudioProcessor.AudioFormat.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.AudioFormat</a>&nbsp;inputAudioFormat)
throws <a href="AudioProcessor.UnhandledAudioFormatException.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.UnhandledAudioFormatException</a></pre> throws <a href="AudioProcessor.UnhandledAudioFormatException.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.UnhandledAudioFormatException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="AudioProcessor.html#configure(com.google.android.exoplayer2.audio.AudioProcessor.AudioFormat)">AudioProcessor</a></code></span></div> <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="AudioProcessor.html#configure(com.google.android.exoplayer2.audio.AudioProcessor.AudioFormat)">AudioProcessor</a></code></span></div>
<div class="block">Configures the processor to process input audio with the specified format. After calling this <div class="block">Configures the processor to process input audio with the specified format. After calling this
...@@ -564,8 +565,8 @@ implements <a href="AudioProcessor.html" title="interface in com.google.android. ...@@ -564,8 +565,8 @@ implements <a href="AudioProcessor.html" title="interface in com.google.android.
<h4>isEnded</h4> <h4>isEnded</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isEnded()</pre> <pre class="methodSignature">public&nbsp;boolean&nbsp;isEnded()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="AudioProcessor.html#isEnded()">AudioProcessor</a></code></span></div> <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="AudioProcessor.html#isEnded()">AudioProcessor</a></code></span></div>
<div class="block">Returns whether this processor will return no more output from <a href="AudioProcessor.html#getOutput()"><code>AudioProcessor.getOutput()</code></a> until it <div class="block">Returns whether this processor will return no more output from <a href="AudioProcessor.html#getOutput()"><code>AudioProcessor.getOutput()</code></a> until
has been <a href="AudioProcessor.html#flush()"><code>AudioProcessor.flush()</code></a>ed and more input has been queued.</div> <a href="AudioProcessor.html#flush()"><code>AudioProcessor.flush()</code></a> has been called and more input has been queued.</div>
<dl> <dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="AudioProcessor.html#isEnded()">isEnded</a></code>&nbsp;in interface&nbsp;<code><a href="AudioProcessor.html" title="interface in com.google.android.exoplayer2.audio">AudioProcessor</a></code></dd> <dd><code><a href="AudioProcessor.html#isEnded()">isEnded</a></code>&nbsp;in interface&nbsp;<code><a href="AudioProcessor.html" title="interface in com.google.android.exoplayer2.audio">AudioProcessor</a></code></dd>
......
...@@ -146,8 +146,8 @@ extends <a href="BaseAudioProcessor.html" title="class in com.google.android.exo ...@@ -146,8 +146,8 @@ extends <a href="BaseAudioProcessor.html" title="class in com.google.android.exo
<p>This audio processor can be inserted into the audio processor chain to access audio data <p>This audio processor can be inserted into the audio processor chain to access audio data
before/after particular processing steps have been applied. For example, to get audio output before/after particular processing steps have been applied. For example, to get audio output
after playback speed adjustment and silence skipping have been applied it is necessary to pass a after playback speed adjustment and silence skipping have been applied it is necessary to pass a
custom <a href="DefaultAudioSink.AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio"><code>DefaultAudioSink.AudioProcessorChain</code></a> when creating the audio sink, and include custom <a href="AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio"><code>AudioProcessorChain</code></a> when creating the audio sink, and include this audio processor
this audio processor after all other audio processors.</div> after all other audio processors.</div>
</li> </li>
</ul> </ul>
</div> </div>
......
...@@ -117,28 +117,40 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height")); ...@@ -117,28 +117,40 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</td> </td>
</tr> </tr>
<tr class="altColor"> <tr class="altColor">
<th class="colFirst" scope="row"><a href="AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio">AudioProcessorChain</a></th>
<td class="colLast">
<div class="block">Provides a chain of audio processors, which are used for any user-defined processing and applying
playback parameters (if supported).</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="AudioRendererEventListener.html" title="interface in com.google.android.exoplayer2.audio">AudioRendererEventListener</a></th> <th class="colFirst" scope="row"><a href="AudioRendererEventListener.html" title="interface in com.google.android.exoplayer2.audio">AudioRendererEventListener</a></th>
<td class="colLast"> <td class="colLast">
<div class="block">Listener of audio <a href="../Renderer.html" title="interface in com.google.android.exoplayer2"><code>Renderer</code></a> events.</div> <div class="block">Listener of audio <a href="../Renderer.html" title="interface in com.google.android.exoplayer2"><code>Renderer</code></a> events.</div>
</td> </td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<th class="colFirst" scope="row"><a href="AudioSink.html" title="interface in com.google.android.exoplayer2.audio">AudioSink</a></th> <th class="colFirst" scope="row"><a href="AudioSink.html" title="interface in com.google.android.exoplayer2.audio">AudioSink</a></th>
<td class="colLast"> <td class="colLast">
<div class="block">A sink that consumes audio data.</div> <div class="block">A sink that consumes audio data.</div>
</td> </td>
</tr> </tr>
<tr class="altColor"> <tr class="rowColor">
<th class="colFirst" scope="row"><a href="AudioSink.Listener.html" title="interface in com.google.android.exoplayer2.audio">AudioSink.Listener</a></th> <th class="colFirst" scope="row"><a href="AudioSink.Listener.html" title="interface in com.google.android.exoplayer2.audio">AudioSink.Listener</a></th>
<td class="colLast"> <td class="colLast">
<div class="block">Listener for audio sink events.</div> <div class="block">Listener for audio sink events.</div>
</td> </td>
</tr> </tr>
<tr class="rowColor"> <tr class="altColor">
<th class="colFirst" scope="row"><a href="DefaultAudioSink.AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio">DefaultAudioSink.AudioProcessorChain</a></th> <th class="colFirst" scope="row"><a href="DefaultAudioSink.AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio">DefaultAudioSink.AudioProcessorChain</a></th>
<td class="colLast">Deprecated.
<div class="deprecationComment">Use <a href="AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio"><code>AudioProcessorChain</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="DefaultAudioSink.AudioTrackBufferSizeProvider.html" title="interface in com.google.android.exoplayer2.audio">DefaultAudioSink.AudioTrackBufferSizeProvider</a></th>
<td class="colLast"> <td class="colLast">
<div class="block">Provides a chain of audio processors, which are used for any user-defined processing and <div class="block">Provides the buffer size to use when creating an <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a>.</div>
applying playback parameters (if supported).</div>
</td> </td>
</tr> </tr>
<tr class="altColor"> <tr class="altColor">
......
...@@ -136,7 +136,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height")); ...@@ -136,7 +136,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<li class="circle">com.google.android.exoplayer2.audio.<a href="DefaultAudioSink.html" title="class in com.google.android.exoplayer2.audio"><span class="typeNameLink">DefaultAudioSink</span></a> (implements com.google.android.exoplayer2.audio.<a href="AudioSink.html" title="interface in com.google.android.exoplayer2.audio">AudioSink</a>)</li> <li class="circle">com.google.android.exoplayer2.audio.<a href="DefaultAudioSink.html" title="class in com.google.android.exoplayer2.audio"><span class="typeNameLink">DefaultAudioSink</span></a> (implements com.google.android.exoplayer2.audio.<a href="AudioSink.html" title="interface in com.google.android.exoplayer2.audio">AudioSink</a>)</li>
<li class="circle">com.google.android.exoplayer2.audio.<a href="DefaultAudioSink.Builder.html" title="class in com.google.android.exoplayer2.audio"><span class="typeNameLink">DefaultAudioSink.Builder</span></a></li> <li class="circle">com.google.android.exoplayer2.audio.<a href="DefaultAudioSink.Builder.html" title="class in com.google.android.exoplayer2.audio"><span class="typeNameLink">DefaultAudioSink.Builder</span></a></li>
<li class="circle">com.google.android.exoplayer2.audio.<a href="DefaultAudioSink.DefaultAudioProcessorChain.html" title="class in com.google.android.exoplayer2.audio"><span class="typeNameLink">DefaultAudioSink.DefaultAudioProcessorChain</span></a> (implements com.google.android.exoplayer2.audio.<a href="DefaultAudioSink.AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio">DefaultAudioSink.AudioProcessorChain</a>)</li> <li class="circle">com.google.android.exoplayer2.audio.<a href="DefaultAudioSink.DefaultAudioProcessorChain.html" title="class in com.google.android.exoplayer2.audio"><span class="typeNameLink">DefaultAudioSink.DefaultAudioProcessorChain</span></a> (implements com.google.android.exoplayer2.audio.<a href="DefaultAudioSink.AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio">DefaultAudioSink.AudioProcessorChain</a>)</li>
<li class="circle">com.google.android.exoplayer2.audio.<a href="DefaultAudioTrackBufferSizeProvider.html" title="class in com.google.android.exoplayer2.audio"><span class="typeNameLink">DefaultAudioTrackBufferSizeProvider</span></a></li> <li class="circle">com.google.android.exoplayer2.audio.<a href="DefaultAudioTrackBufferSizeProvider.html" title="class in com.google.android.exoplayer2.audio"><span class="typeNameLink">DefaultAudioTrackBufferSizeProvider</span></a> (implements com.google.android.exoplayer2.audio.<a href="DefaultAudioSink.AudioTrackBufferSizeProvider.html" title="interface in com.google.android.exoplayer2.audio">DefaultAudioSink.AudioTrackBufferSizeProvider</a>)</li>
<li class="circle">com.google.android.exoplayer2.audio.<a href="DefaultAudioTrackBufferSizeProvider.Builder.html" title="class in com.google.android.exoplayer2.audio"><span class="typeNameLink">DefaultAudioTrackBufferSizeProvider.Builder</span></a></li> <li class="circle">com.google.android.exoplayer2.audio.<a href="DefaultAudioTrackBufferSizeProvider.Builder.html" title="class in com.google.android.exoplayer2.audio"><span class="typeNameLink">DefaultAudioTrackBufferSizeProvider.Builder</span></a></li>
<li class="circle">com.google.android.exoplayer2.audio.<a href="DtsUtil.html" title="class in com.google.android.exoplayer2.audio"><span class="typeNameLink">DtsUtil</span></a></li> <li class="circle">com.google.android.exoplayer2.audio.<a href="DtsUtil.html" title="class in com.google.android.exoplayer2.audio"><span class="typeNameLink">DtsUtil</span></a></li>
<li class="circle">com.google.android.exoplayer2.audio.<a href="ForwardingAudioSink.html" title="class in com.google.android.exoplayer2.audio"><span class="typeNameLink">ForwardingAudioSink</span></a> (implements com.google.android.exoplayer2.audio.<a href="AudioSink.html" title="interface in com.google.android.exoplayer2.audio">AudioSink</a>)</li> <li class="circle">com.google.android.exoplayer2.audio.<a href="ForwardingAudioSink.html" title="class in com.google.android.exoplayer2.audio"><span class="typeNameLink">ForwardingAudioSink</span></a> (implements com.google.android.exoplayer2.audio.<a href="AudioSink.html" title="interface in com.google.android.exoplayer2.audio">AudioSink</a>)</li>
...@@ -173,10 +173,15 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height")); ...@@ -173,10 +173,15 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<ul> <ul>
<li class="circle">com.google.android.exoplayer2.audio.<a href="AudioCapabilitiesReceiver.Listener.html" title="interface in com.google.android.exoplayer2.audio"><span class="typeNameLink">AudioCapabilitiesReceiver.Listener</span></a></li> <li class="circle">com.google.android.exoplayer2.audio.<a href="AudioCapabilitiesReceiver.Listener.html" title="interface in com.google.android.exoplayer2.audio"><span class="typeNameLink">AudioCapabilitiesReceiver.Listener</span></a></li>
<li class="circle">com.google.android.exoplayer2.audio.<a href="AudioProcessor.html" title="interface in com.google.android.exoplayer2.audio"><span class="typeNameLink">AudioProcessor</span></a></li> <li class="circle">com.google.android.exoplayer2.audio.<a href="AudioProcessor.html" title="interface in com.google.android.exoplayer2.audio"><span class="typeNameLink">AudioProcessor</span></a></li>
<li class="circle">com.google.android.exoplayer2.audio.<a href="AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio"><span class="typeNameLink">AudioProcessorChain</span></a>
<ul>
<li class="circle">com.google.android.exoplayer2.audio.<a href="DefaultAudioSink.AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio"><span class="typeNameLink">DefaultAudioSink.AudioProcessorChain</span></a></li>
</ul>
</li>
<li class="circle">com.google.android.exoplayer2.audio.<a href="AudioRendererEventListener.html" title="interface in com.google.android.exoplayer2.audio"><span class="typeNameLink">AudioRendererEventListener</span></a></li> <li class="circle">com.google.android.exoplayer2.audio.<a href="AudioRendererEventListener.html" title="interface in com.google.android.exoplayer2.audio"><span class="typeNameLink">AudioRendererEventListener</span></a></li>
<li class="circle">com.google.android.exoplayer2.audio.<a href="AudioSink.html" title="interface in com.google.android.exoplayer2.audio"><span class="typeNameLink">AudioSink</span></a></li> <li class="circle">com.google.android.exoplayer2.audio.<a href="AudioSink.html" title="interface in com.google.android.exoplayer2.audio"><span class="typeNameLink">AudioSink</span></a></li>
<li class="circle">com.google.android.exoplayer2.audio.<a href="AudioSink.Listener.html" title="interface in com.google.android.exoplayer2.audio"><span class="typeNameLink">AudioSink.Listener</span></a></li> <li class="circle">com.google.android.exoplayer2.audio.<a href="AudioSink.Listener.html" title="interface in com.google.android.exoplayer2.audio"><span class="typeNameLink">AudioSink.Listener</span></a></li>
<li class="circle">com.google.android.exoplayer2.audio.<a href="DefaultAudioSink.AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio"><span class="typeNameLink">DefaultAudioSink.AudioProcessorChain</span></a></li> <li class="circle">com.google.android.exoplayer2.audio.<a href="DefaultAudioSink.AudioTrackBufferSizeProvider.html" title="interface in com.google.android.exoplayer2.audio"><span class="typeNameLink">DefaultAudioSink.AudioTrackBufferSizeProvider</span></a></li>
<li class="circle">com.google.android.exoplayer2.audio.<a href="TeeAudioProcessor.AudioBufferSink.html" title="interface in com.google.android.exoplayer2.audio"><span class="typeNameLink">TeeAudioProcessor.AudioBufferSink</span></a></li> <li class="circle">com.google.android.exoplayer2.audio.<a href="TeeAudioProcessor.AudioBufferSink.html" title="interface in com.google.android.exoplayer2.audio"><span class="typeNameLink">TeeAudioProcessor.AudioBufferSink</span></a></li>
</ul> </ul>
</section> </section>
......
...@@ -300,7 +300,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -300,7 +300,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setKeyRequestParameters</h4> <h4>setKeyRequestParameters</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultDrmSessionManager.Builder.html" title="class in com.google.android.exoplayer2.drm">DefaultDrmSessionManager.Builder</a>&nbsp;setKeyRequestParameters&#8203;(@Nullable <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultDrmSessionManager.Builder.html" title="class in com.google.android.exoplayer2.drm">DefaultDrmSessionManager.Builder</a>&nbsp;setKeyRequestParameters&#8203;(@Nullable
<a href="https://developer.android.com/reference/java/util/Map.html" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="https://developer.android.com/reference/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="https://developer.android.com/reference/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_top">String</a>&gt;&nbsp;keyRequestParameters)</pre> <a href="https://developer.android.com/reference/java/util/Map.html" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="https://developer.android.com/reference/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="https://developer.android.com/reference/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_top">String</a>&gt;&nbsp;keyRequestParameters)</pre>
<div class="block">Sets the key request parameters to pass as the last argument to <a href="ExoMediaDrm.html#getKeyRequest(byte%5B%5D,java.util.List,int,java.util.HashMap)"><code>ExoMediaDrm.getKeyRequest(byte[], List, int, HashMap)</code></a>. May be null if not parameters need to <div class="block">Sets the key request parameters to pass as the last argument to <a href="ExoMediaDrm.html#getKeyRequest(byte%5B%5D,java.util.List,int,java.util.HashMap)"><code>ExoMediaDrm.getKeyRequest(byte[], List, int, HashMap)</code></a>. May be null if not parameters need to
be passed. be passed.
...@@ -320,7 +321,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -320,7 +321,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setUuidAndExoMediaDrmProvider</h4> <h4>setUuidAndExoMediaDrmProvider</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultDrmSessionManager.Builder.html" title="class in com.google.android.exoplayer2.drm">DefaultDrmSessionManager.Builder</a>&nbsp;setUuidAndExoMediaDrmProvider&#8203;(<a href="https://developer.android.com/reference/java/util/UUID.html" title="class or interface in java.util" class="externalLink" target="_top">UUID</a>&nbsp;uuid, <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultDrmSessionManager.Builder.html" title="class in com.google.android.exoplayer2.drm">DefaultDrmSessionManager.Builder</a>&nbsp;setUuidAndExoMediaDrmProvider&#8203;(<a href="https://developer.android.com/reference/java/util/UUID.html" title="class or interface in java.util" class="externalLink" target="_top">UUID</a>&nbsp;uuid,
<a href="ExoMediaDrm.Provider.html" title="interface in com.google.android.exoplayer2.drm">ExoMediaDrm.Provider</a>&nbsp;exoMediaDrmProvider)</pre> <a href="ExoMediaDrm.Provider.html" title="interface in com.google.android.exoplayer2.drm">ExoMediaDrm.Provider</a>&nbsp;exoMediaDrmProvider)</pre>
<div class="block">Sets the UUID of the DRM scheme and the <a href="ExoMediaDrm.Provider.html" title="interface in com.google.android.exoplayer2.drm"><code>ExoMediaDrm.Provider</code></a> to use.</div> <div class="block">Sets the UUID of the DRM scheme and the <a href="ExoMediaDrm.Provider.html" title="interface in com.google.android.exoplayer2.drm"><code>ExoMediaDrm.Provider</code></a> to use.</div>
<dl> <dl>
...@@ -338,7 +340,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -338,7 +340,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setMultiSession</h4> <h4>setMultiSession</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultDrmSessionManager.Builder.html" title="class in com.google.android.exoplayer2.drm">DefaultDrmSessionManager.Builder</a>&nbsp;setMultiSession&#8203;(boolean&nbsp;multiSession)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultDrmSessionManager.Builder.html" title="class in com.google.android.exoplayer2.drm">DefaultDrmSessionManager.Builder</a>&nbsp;setMultiSession&#8203;(boolean&nbsp;multiSession)</pre>
<div class="block">Sets whether this session manager is allowed to acquire multiple simultaneous sessions. <div class="block">Sets whether this session manager is allowed to acquire multiple simultaneous sessions.
<p>Users should pass false when a single key request will obtain all keys required to decrypt <p>Users should pass false when a single key request will obtain all keys required to decrypt
...@@ -358,7 +361,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -358,7 +361,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setUseDrmSessionsForClearContent</h4> <h4>setUseDrmSessionsForClearContent</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultDrmSessionManager.Builder.html" title="class in com.google.android.exoplayer2.drm">DefaultDrmSessionManager.Builder</a>&nbsp;setUseDrmSessionsForClearContent&#8203;(@com.google.android.exoplayer2.C.TrackType int...&nbsp;useDrmSessionsForClearContentTrackTypes)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultDrmSessionManager.Builder.html" title="class in com.google.android.exoplayer2.drm">DefaultDrmSessionManager.Builder</a>&nbsp;setUseDrmSessionsForClearContent&#8203;(@com.google.android.exoplayer2.C.TrackType int...&nbsp;useDrmSessionsForClearContentTrackTypes)</pre>
<div class="block">Sets whether this session manager should attach <a href="DrmSession.html" title="interface in com.google.android.exoplayer2.drm"><code>DrmSessions</code></a> to the clear <div class="block">Sets whether this session manager should attach <a href="DrmSession.html" title="interface in com.google.android.exoplayer2.drm"><code>DrmSessions</code></a> to the clear
sections of the media content. sections of the media content.
...@@ -383,7 +387,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -383,7 +387,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setPlayClearSamplesWithoutKeys</h4> <h4>setPlayClearSamplesWithoutKeys</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultDrmSessionManager.Builder.html" title="class in com.google.android.exoplayer2.drm">DefaultDrmSessionManager.Builder</a>&nbsp;setPlayClearSamplesWithoutKeys&#8203;(boolean&nbsp;playClearSamplesWithoutKeys)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultDrmSessionManager.Builder.html" title="class in com.google.android.exoplayer2.drm">DefaultDrmSessionManager.Builder</a>&nbsp;setPlayClearSamplesWithoutKeys&#8203;(boolean&nbsp;playClearSamplesWithoutKeys)</pre>
<div class="block">Sets whether clear samples within protected content should be played when keys for the <div class="block">Sets whether clear samples within protected content should be played when keys for the
encrypted part of the content have yet to be loaded.</div> encrypted part of the content have yet to be loaded.</div>
<dl> <dl>
...@@ -401,7 +406,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -401,7 +406,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setLoadErrorHandlingPolicy</h4> <h4>setLoadErrorHandlingPolicy</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultDrmSessionManager.Builder.html" title="class in com.google.android.exoplayer2.drm">DefaultDrmSessionManager.Builder</a>&nbsp;setLoadErrorHandlingPolicy&#8203;(<a href="../upstream/LoadErrorHandlingPolicy.html" title="interface in com.google.android.exoplayer2.upstream">LoadErrorHandlingPolicy</a>&nbsp;loadErrorHandlingPolicy)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultDrmSessionManager.Builder.html" title="class in com.google.android.exoplayer2.drm">DefaultDrmSessionManager.Builder</a>&nbsp;setLoadErrorHandlingPolicy&#8203;(<a href="../upstream/LoadErrorHandlingPolicy.html" title="interface in com.google.android.exoplayer2.upstream">LoadErrorHandlingPolicy</a>&nbsp;loadErrorHandlingPolicy)</pre>
<div class="block">Sets the <a href="../upstream/LoadErrorHandlingPolicy.html" title="interface in com.google.android.exoplayer2.upstream"><code>LoadErrorHandlingPolicy</code></a> for key and provisioning requests.</div> <div class="block">Sets the <a href="../upstream/LoadErrorHandlingPolicy.html" title="interface in com.google.android.exoplayer2.upstream"><code>LoadErrorHandlingPolicy</code></a> for key and provisioning requests.</div>
<dl> <dl>
<dt><span class="paramLabel">Parameters:</span></dt> <dt><span class="paramLabel">Parameters:</span></dt>
...@@ -417,7 +423,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -417,7 +423,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setSessionKeepaliveMs</h4> <h4>setSessionKeepaliveMs</h4>
<pre class="methodSignature">public&nbsp;<a href="DefaultDrmSessionManager.Builder.html" title="class in com.google.android.exoplayer2.drm">DefaultDrmSessionManager.Builder</a>&nbsp;setSessionKeepaliveMs&#8203;(long&nbsp;sessionKeepaliveMs)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="DefaultDrmSessionManager.Builder.html" title="class in com.google.android.exoplayer2.drm">DefaultDrmSessionManager.Builder</a>&nbsp;setSessionKeepaliveMs&#8203;(long&nbsp;sessionKeepaliveMs)</pre>
<div class="block">Sets the time to keep <a href="DrmSession.html" title="interface in com.google.android.exoplayer2.drm"><code>DrmSessions</code></a> alive when they're not in use. <div class="block">Sets the time to keep <a href="DrmSession.html" title="interface in com.google.android.exoplayer2.drm"><code>DrmSessions</code></a> alive when they're not in use.
<p>It can be useful to keep sessions alive during playback of short clear sections of media <p>It can be useful to keep sessions alive during playback of short clear sections of media
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<!-- NewPage --> <!-- NewPage -->
<html lang="en"> <html lang="en">
<head><!-- start favicons snippet, use https://realfavicongenerator.net/ --><link rel="apple-touch-icon" sizes="180x180" href="/assets/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="/assets/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/assets/favicon-16x16.png"><link rel="manifest" href="/assets/site.webmanifest"><link rel="mask-icon" href="/assets/safari-pinned-tab.svg" color="#fc4d50"><link rel="shortcut icon" href="/assets/favicon.ico"><meta name="msapplication-TileColor" content="#ffc40d"><meta name="msapplication-config" content="/assets/browserconfig.xml"><meta name="theme-color" content="#ffffff"><!-- end favicons snippet --> <head><!-- start favicons snippet, use https://realfavicongenerator.net/ --><link rel="apple-touch-icon" sizes="180x180" href="/assets/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="/assets/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/assets/favicon-16x16.png"><link rel="manifest" href="/assets/site.webmanifest"><link rel="mask-icon" href="/assets/safari-pinned-tab.svg" color="#fc4d50"><link rel="shortcut icon" href="/assets/favicon.ico"><meta name="msapplication-TileColor" content="#ffc40d"><meta name="msapplication-config" content="/assets/browserconfig.xml"><meta name="theme-color" content="#ffffff"><!-- end favicons snippet -->
<title>GlEffect (ExoPlayer library)</title> <title>GlTextureProcessor.ErrorListener (ExoPlayer library)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style"> <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style"> <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
<script type="text/javascript"><!-- <script type="text/javascript"><!--
try { try {
if (location.href.indexOf('is-external=true') == -1) { if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="GlEffect (ExoPlayer library)"; parent.document.title="GlTextureProcessor.ErrorListener (ExoPlayer library)";
} }
} }
catch(err) { catch(err) {
...@@ -113,27 +113,22 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height")); ...@@ -113,27 +113,22 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<!-- ======== START OF CLASS DATA ======== --> <!-- ======== START OF CLASS DATA ======== -->
<main role="main"> <main role="main">
<div class="header"> <div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.transformer</a></div> <div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.effect</a></div>
<h2 title="Interface GlEffect" class="title">Interface GlEffect</h2> <h2 title="Interface GlTextureProcessor.ErrorListener" class="title">Interface GlTextureProcessor.ErrorListener</h2>
</div> </div>
<div class="contentContainer"> <div class="contentContainer">
<div class="description"> <div class="description">
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<dl> <dl>
<dt>All Known Subinterfaces:</dt> <dt>Enclosing interface:</dt>
<dd><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><a href="GlTextureProcessor.html" title="interface in com.google.android.exoplayer2.effect">GlTextureProcessor</a></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>
</dl> </dl>
<hr> <hr>
<pre>public interface <span class="typeNameLabel">GlEffect</span></pre> <pre>public static interface <span class="typeNameLabel">GlTextureProcessor.ErrorListener</span></pre>
<div class="block">Interface for a video frame effect with a <a href="SingleFrameGlTextureProcessor.html" title="interface in com.google.android.exoplayer2.transformer"><code>SingleFrameGlTextureProcessor</code></a> implementation. <div class="block">Listener for frame processing errors.
<p>Implementations contain information specifying the effect and can be <a href="#toGlTextureProcessor()">converted</a> to a <a href="SingleFrameGlTextureProcessor.html" title="interface in com.google.android.exoplayer2.transformer"><code>SingleFrameGlTextureProcessor</code></a> which applies the <p>This listener can be called from any thread.</div>
effect.</div>
</li> </li>
</ul> </ul>
</div> </div>
...@@ -155,10 +150,10 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height")); ...@@ -155,10 +150,10 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<th class="colLast" scope="col">Description</th> <th class="colLast" scope="col">Description</th>
</tr> </tr>
<tr id="i0" class="altColor"> <tr id="i0" class="altColor">
<td class="colFirst"><code><a href="SingleFrameGlTextureProcessor.html" title="interface in com.google.android.exoplayer2.transformer">SingleFrameGlTextureProcessor</a></code></td> <td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toGlTextureProcessor()">toGlTextureProcessor</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#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"> <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">Called when an exception occurs during asynchronous frame processing.</div>
</td> </td>
</tr> </tr>
</table> </table>
...@@ -178,14 +173,17 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height")); ...@@ -178,14 +173,17 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<!-- --> <!-- -->
</a> </a>
<h3>Method Detail</h3> <h3>Method Detail</h3>
<a id="toGlTextureProcessor()"> <a id="onFrameProcessingError(com.google.android.exoplayer2.util.FrameProcessingException)">
<!-- --> <!-- -->
</a> </a>
<ul class="blockListLast"> <ul class="blockListLast">
<li class="blockList"> <li class="blockList">
<h4>toGlTextureProcessor</h4> <h4>onFrameProcessingError</h4>
<pre class="methodSignature"><a href="SingleFrameGlTextureProcessor.html" title="interface in com.google.android.exoplayer2.transformer">SingleFrameGlTextureProcessor</a>&nbsp;toGlTextureProcessor()</pre> <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">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">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> </li>
</ul> </ul>
</li> </li>
......
...@@ -113,7 +113,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height")); ...@@ -113,7 +113,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<!-- ======== START OF CLASS DATA ======== --> <!-- ======== START OF CLASS DATA ======== -->
<main role="main"> <main role="main">
<div class="header"> <div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.transformer</a></div> <div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.effect</a></div>
<h2 title="Interface MatrixTransformation" class="title">Interface MatrixTransformation</h2> <h2 title="Interface MatrixTransformation" class="title">Interface MatrixTransformation</h2>
</div> </div>
<div class="contentContainer"> <div class="contentContainer">
...@@ -122,22 +122,23 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height")); ...@@ -122,22 +122,23 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<li class="blockList"> <li class="blockList">
<dl> <dl>
<dt>All Superinterfaces:</dt> <dt>All Superinterfaces:</dt>
<dd><code><a href="GlEffect.html" title="interface in com.google.android.exoplayer2.transformer">GlEffect</a></code>, <code><a href="GlMatrixTransformation.html" title="interface in com.google.android.exoplayer2.transformer">GlMatrixTransformation</a></code></dd> <dd><code><a href="../util/Effect.html" title="interface in com.google.android.exoplayer2.util">Effect</a></code>, <code><a href="GlEffect.html" title="interface in com.google.android.exoplayer2.effect">GlEffect</a></code>, <code><a href="GlMatrixTransformation.html" title="interface in com.google.android.exoplayer2.effect">GlMatrixTransformation</a></code></dd>
</dl> </dl>
<dl> <dl>
<dt>All Known Implementing Classes:</dt> <dt>All Known Implementing Classes:</dt>
<dd><code><a href="Presentation.html" title="class in com.google.android.exoplayer2.transformer">Presentation</a></code>, <code><a href="ScaleToFitTransformation.html" title="class in com.google.android.exoplayer2.transformer">ScaleToFitTransformation</a></code></dd> <dd><code><a href="Crop.html" title="class in com.google.android.exoplayer2.effect">Crop</a></code>, <code><a href="Presentation.html" title="class in com.google.android.exoplayer2.effect">Presentation</a></code>, <code><a href="ScaleToFitTransformation.html" title="class in com.google.android.exoplayer2.effect">ScaleToFitTransformation</a></code></dd>
</dl> </dl>
<hr> <hr>
<pre>public interface <span class="typeNameLabel">MatrixTransformation</span> <pre>public interface <span class="typeNameLabel">MatrixTransformation</span>
extends <a href="GlMatrixTransformation.html" title="interface in com.google.android.exoplayer2.transformer">GlMatrixTransformation</a></pre> extends <a href="GlMatrixTransformation.html" title="interface in com.google.android.exoplayer2.effect">GlMatrixTransformation</a></pre>
<div class="block">Specifies a 3x3 transformation <a href="https://developer.android.com/reference/android/graphics/Matrix.html" title="class or interface in android.graphics" class="externalLink" target="_top"><code>Matrix</code></a> to apply in the vertex shader for each frame. <div class="block">Specifies a 3x3 transformation <a href="https://developer.android.com/reference/android/graphics/Matrix.html" title="class or interface in android.graphics" class="externalLink" target="_top"><code>Matrix</code></a> to apply in the vertex shader for each frame.
<p>The matrix is applied to points given in normalized device coordinates (-1 to 1 on x and y <p>The matrix is applied to points given in normalized device coordinates (-1 to 1 on x and y
axes). Transformed pixels that are moved outside of the normal device coordinate range are axes). Transformed pixels that are moved outside of the normal device coordinate range are
clipped. clipped.
<p>Output frame pixels outside of the transformed input frame will be black.</div> <p>Output frame pixels outside of the transformed input frame will be black, with alpha = 0 if
applicable.</div>
</li> </li>
</ul> </ul>
</div> </div>
...@@ -174,11 +175,11 @@ extends <a href="GlMatrixTransformation.html" title="interface in com.google.and ...@@ -174,11 +175,11 @@ extends <a href="GlMatrixTransformation.html" title="interface in com.google.and
</tr> </tr>
</table> </table>
<ul class="blockList"> <ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.com.google.android.exoplayer2.transformer.GlMatrixTransformation"> <li class="blockList"><a id="methods.inherited.from.class.com.google.android.exoplayer2.effect.GlMatrixTransformation">
<!-- --> <!-- -->
</a> </a>
<h3>Methods inherited from interface&nbsp;com.google.android.exoplayer2.transformer.<a href="GlMatrixTransformation.html" title="interface in com.google.android.exoplayer2.transformer">GlMatrixTransformation</a></h3> <h3>Methods inherited from interface&nbsp;com.google.android.exoplayer2.effect.<a href="GlMatrixTransformation.html" title="interface in com.google.android.exoplayer2.effect">GlMatrixTransformation</a></h3>
<code><a href="GlMatrixTransformation.html#configure(int,int)">configure</a>, <a href="GlMatrixTransformation.html#toGlTextureProcessor()">toGlTextureProcessor</a></code></li> <code><a href="GlMatrixTransformation.html#configure(int,int)">configure</a>, <a href="GlMatrixTransformation.html#toGlTextureProcessor(android.content.Context,boolean)">toGlTextureProcessor</a></code></li>
</ul> </ul>
</li> </li>
</ul> </ul>
...@@ -217,7 +218,7 @@ extends <a href="GlMatrixTransformation.html" title="interface in com.google.and ...@@ -217,7 +218,7 @@ extends <a href="GlMatrixTransformation.html" title="interface in com.google.and
<div class="block">Returns the 4x4 transformation <a href="https://developer.android.com/reference/android/opengl/Matrix.html" title="class or interface in android.opengl" class="externalLink" target="_top"><code>Matrix</code></a> to apply to the frame with the given timestamp.</div> <div class="block">Returns the 4x4 transformation <a href="https://developer.android.com/reference/android/opengl/Matrix.html" title="class or interface in android.opengl" class="externalLink" target="_top"><code>Matrix</code></a> to apply to the frame with the given timestamp.</div>
<dl> <dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="GlMatrixTransformation.html#getGlMatrixArray(long)">getGlMatrixArray</a></code>&nbsp;in interface&nbsp;<code><a href="GlMatrixTransformation.html" title="interface in com.google.android.exoplayer2.transformer">GlMatrixTransformation</a></code></dd> <dd><code><a href="GlMatrixTransformation.html#getGlMatrixArray(long)">getGlMatrixArray</a></code>&nbsp;in interface&nbsp;<code><a href="GlMatrixTransformation.html" title="interface in com.google.android.exoplayer2.effect">GlMatrixTransformation</a></code></dd>
</dl> </dl>
</li> </li>
</ul> </ul>
......
...@@ -105,7 +105,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height")); ...@@ -105,7 +105,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<!-- ======== START OF CLASS DATA ======== --> <!-- ======== START OF CLASS DATA ======== -->
<main role="main"> <main role="main">
<div class="header"> <div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.transformer</a></div> <div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.effect</a></div>
<h2 title="Annotation Type Presentation.Layout" class="title">Annotation Type Presentation.Layout</h2> <h2 title="Annotation Type Presentation.Layout" class="title">Annotation Type Presentation.Layout</h2>
</div> </div>
<div class="contentContainer"> <div class="contentContainer">
...@@ -121,8 +121,7 @@ public static @interface <span class="memberNameLabel">Presentation.Layout</span ...@@ -121,8 +121,7 @@ public static @interface <span class="memberNameLabel">Presentation.Layout</span
<p>One of <a href="Presentation.html#LAYOUT_SCALE_TO_FIT"><code>Presentation.LAYOUT_SCALE_TO_FIT</code></a>, <a href="Presentation.html#LAYOUT_SCALE_TO_FIT_WITH_CROP"><code>Presentation.LAYOUT_SCALE_TO_FIT_WITH_CROP</code></a>, or <a href="Presentation.html#LAYOUT_STRETCH_TO_FIT"><code>Presentation.LAYOUT_STRETCH_TO_FIT</code></a>. <p>One of <a href="Presentation.html#LAYOUT_SCALE_TO_FIT"><code>Presentation.LAYOUT_SCALE_TO_FIT</code></a>, <a href="Presentation.html#LAYOUT_SCALE_TO_FIT_WITH_CROP"><code>Presentation.LAYOUT_SCALE_TO_FIT_WITH_CROP</code></a>, or <a href="Presentation.html#LAYOUT_STRETCH_TO_FIT"><code>Presentation.LAYOUT_STRETCH_TO_FIT</code></a>.
<p>May scale either width or height, leaving the other output dimension equal to its input, <p>May scale either width or height, leaving the other output dimension equal to its input.</div>
unless <a href="Presentation.Builder.html#setResolution(int)"><code>Presentation.Builder.setResolution(int)</code></a> rescales width and height.</div>
</li> </li>
</ul> </ul>
</div> </div>
......
...@@ -113,7 +113,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height")); ...@@ -113,7 +113,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<!-- ======== START OF CLASS DATA ======== --> <!-- ======== START OF CLASS DATA ======== -->
<main role="main"> <main role="main">
<div class="header"> <div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.transformer</a></div> <div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.effect</a></div>
<h2 title="Class ScaleToFitTransformation.Builder" class="title">Class ScaleToFitTransformation.Builder</h2> <h2 title="Class ScaleToFitTransformation.Builder" class="title">Class ScaleToFitTransformation.Builder</h2>
</div> </div>
<div class="contentContainer"> <div class="contentContainer">
...@@ -121,7 +121,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height")); ...@@ -121,7 +121,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<li><a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">java.lang.Object</a></li> <li><a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">java.lang.Object</a></li>
<li> <li>
<ul class="inheritance"> <ul class="inheritance">
<li>com.google.android.exoplayer2.transformer.ScaleToFitTransformation.Builder</li> <li>com.google.android.exoplayer2.effect.ScaleToFitTransformation.Builder</li>
</ul> </ul>
</li> </li>
</ul> </ul>
...@@ -130,12 +130,12 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height")); ...@@ -130,12 +130,12 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
<li class="blockList"> <li class="blockList">
<dl> <dl>
<dt>Enclosing class:</dt> <dt>Enclosing class:</dt>
<dd><a href="ScaleToFitTransformation.html" title="class in com.google.android.exoplayer2.transformer">ScaleToFitTransformation</a></dd> <dd><a href="ScaleToFitTransformation.html" title="class in com.google.android.exoplayer2.effect">ScaleToFitTransformation</a></dd>
</dl> </dl>
<hr> <hr>
<pre>public static final class <span class="typeNameLabel">ScaleToFitTransformation.Builder</span> <pre>public static final class <span class="typeNameLabel">ScaleToFitTransformation.Builder</span>
extends <a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></pre> extends <a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></pre>
<div class="block">A builder for <a href="ScaleToFitTransformation.html" title="class in com.google.android.exoplayer2.transformer"><code>ScaleToFitTransformation</code></a> instances.</div> <div class="block">A builder for <a href="ScaleToFitTransformation.html" title="class in com.google.android.exoplayer2.effect"><code>ScaleToFitTransformation</code></a> instances.</div>
</li> </li>
</ul> </ul>
</div> </div>
...@@ -180,19 +180,19 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -180,19 +180,19 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<th class="colLast" scope="col">Description</th> <th class="colLast" scope="col">Description</th>
</tr> </tr>
<tr id="i0" class="altColor"> <tr id="i0" class="altColor">
<td class="colFirst"><code><a href="ScaleToFitTransformation.html" title="class in com.google.android.exoplayer2.transformer">ScaleToFitTransformation</a></code></td> <td class="colFirst"><code><a href="ScaleToFitTransformation.html" title="class in com.google.android.exoplayer2.effect">ScaleToFitTransformation</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#build()">build</a></span>()</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#build()">build</a></span>()</code></th>
<td class="colLast">&nbsp;</td> <td class="colLast">&nbsp;</td>
</tr> </tr>
<tr id="i1" class="rowColor"> <tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="ScaleToFitTransformation.Builder.html" title="class in com.google.android.exoplayer2.transformer">ScaleToFitTransformation.Builder</a></code></td> <td class="colFirst"><code><a href="ScaleToFitTransformation.Builder.html" title="class in com.google.android.exoplayer2.effect">ScaleToFitTransformation.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setRotationDegrees(float)">setRotationDegrees</a></span>&#8203;(float&nbsp;rotationDegrees)</code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setRotationDegrees(float)">setRotationDegrees</a></span>&#8203;(float&nbsp;rotationDegrees)</code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Sets the counterclockwise rotation degrees.</div> <div class="block">Sets the counterclockwise rotation degrees.</div>
</td> </td>
</tr> </tr>
<tr id="i2" class="altColor"> <tr id="i2" class="altColor">
<td class="colFirst"><code><a href="ScaleToFitTransformation.Builder.html" title="class in com.google.android.exoplayer2.transformer">ScaleToFitTransformation.Builder</a></code></td> <td class="colFirst"><code><a href="ScaleToFitTransformation.Builder.html" title="class in com.google.android.exoplayer2.effect">ScaleToFitTransformation.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setScale(float,float)">setScale</a></span>&#8203;(float&nbsp;scaleX, <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setScale(float,float)">setScale</a></span>&#8203;(float&nbsp;scaleX,
float&nbsp;scaleY)</code></th> float&nbsp;scaleY)</code></th>
<td class="colLast"> <td class="colLast">
...@@ -249,7 +249,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -249,7 +249,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setScale</h4> <h4>setScale</h4>
<pre class="methodSignature">public&nbsp;<a href="ScaleToFitTransformation.Builder.html" title="class in com.google.android.exoplayer2.transformer">ScaleToFitTransformation.Builder</a>&nbsp;setScale&#8203;(float&nbsp;scaleX, <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="ScaleToFitTransformation.Builder.html" title="class in com.google.android.exoplayer2.effect">ScaleToFitTransformation.Builder</a>&nbsp;setScale&#8203;(float&nbsp;scaleX,
float&nbsp;scaleY)</pre> float&nbsp;scaleY)</pre>
<div class="block">Sets the x and y axis scaling factors to apply to each frame's width and height. <div class="block">Sets the x and y axis scaling factors to apply to each frame's width and height.
...@@ -269,7 +270,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -269,7 +270,8 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockList"> <ul class="blockList">
<li class="blockList"> <li class="blockList">
<h4>setRotationDegrees</h4> <h4>setRotationDegrees</h4>
<pre class="methodSignature">public&nbsp;<a href="ScaleToFitTransformation.Builder.html" title="class in com.google.android.exoplayer2.transformer">ScaleToFitTransformation.Builder</a>&nbsp;setRotationDegrees&#8203;(float&nbsp;rotationDegrees)</pre> <pre class="methodSignature">@CanIgnoreReturnValue
public&nbsp;<a href="ScaleToFitTransformation.Builder.html" title="class in com.google.android.exoplayer2.effect">ScaleToFitTransformation.Builder</a>&nbsp;setRotationDegrees&#8203;(float&nbsp;rotationDegrees)</pre>
<div class="block">Sets the counterclockwise rotation degrees. <div class="block">Sets the counterclockwise rotation degrees.
<p>The default value, 0, corresponds to not applying any rotation.</div> <p>The default value, 0, corresponds to not applying any rotation.</div>
...@@ -287,7 +289,7 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html" ...@@ -287,7 +289,7 @@ extends <a href="https://developer.android.com/reference/java/lang/Object.html"
<ul class="blockListLast"> <ul class="blockListLast">
<li class="blockList"> <li class="blockList">
<h4>build</h4> <h4>build</h4>
<pre class="methodSignature">public&nbsp;<a href="ScaleToFitTransformation.html" title="class in com.google.android.exoplayer2.transformer">ScaleToFitTransformation</a>&nbsp;build()</pre> <pre class="methodSignature">public&nbsp;<a href="ScaleToFitTransformation.html" title="class in com.google.android.exoplayer2.effect">ScaleToFitTransformation</a>&nbsp;build()</pre>
</li> </li>
</ul> </ul>
</li> </li>
......
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
The file could not be displayed because it is too large.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment