public final class

RendererConfiguration

extends java.lang.Object

 java.lang.Object

↳androidx.media3.exoplayer.RendererConfiguration

Gradle dependencies

compile group: 'androidx.media3', name: 'media3-exoplayer', version: '1.5.0-alpha01'

  • groupId: androidx.media3
  • artifactId: media3-exoplayer
  • version: 1.5.0-alpha01

Artifact androidx.media3:media3-exoplayer:1.5.0-alpha01 it located at Google repository (https://maven.google.com/)

Overview

The configuration of a Renderer.

Summary

Fields
public static final RendererConfigurationDEFAULT

The default configuration.

public final intoffloadModePreferred

The offload mode preference with which to configure the renderer.

public final booleantunneling

Whether to enable tunneling.

Constructors
publicRendererConfiguration(boolean tunneling)

Creates an instance with tunneling and sets RendererConfiguration.offloadModePreferred to AudioSink.OFFLOAD_MODE_DISABLED.

publicRendererConfiguration(int offloadModePreferred, boolean tunneling)

Creates an instance.

Methods
public booleanequals(java.lang.Object obj)

public inthashCode()

from java.lang.Objectclone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait

Fields

public static final RendererConfiguration DEFAULT

The default configuration.

public final int offloadModePreferred

The offload mode preference with which to configure the renderer.

public final boolean tunneling

Whether to enable tunneling.

Constructors

public RendererConfiguration(boolean tunneling)

Creates an instance with tunneling and sets RendererConfiguration.offloadModePreferred to AudioSink.OFFLOAD_MODE_DISABLED.

Parameters:

tunneling: Whether to enable tunneling.

public RendererConfiguration(int offloadModePreferred, boolean tunneling)

Creates an instance.

Parameters:

offloadModePreferred: The offload mode to use.
tunneling: Whether to enable tunneling.

Methods

public boolean equals(java.lang.Object obj)

public int hashCode()

Source

/*
 * Copyright (C) 2017 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 androidx.media3.exoplayer;

import static androidx.media3.exoplayer.audio.AudioSink.OFFLOAD_MODE_DISABLED;

import androidx.annotation.Nullable;
import androidx.media3.common.util.UnstableApi;
import androidx.media3.exoplayer.audio.AudioSink;

/** The configuration of a {@link Renderer}. */
@UnstableApi
public final class RendererConfiguration {

  /** The default configuration. */
  public static final RendererConfiguration DEFAULT =
      new RendererConfiguration(
          /* offloadModePreferred= */ OFFLOAD_MODE_DISABLED, /* tunneling= */ false);

  /** The offload mode preference with which to configure the renderer. */
  public final @AudioSink.OffloadMode int offloadModePreferred;

  /** Whether to enable tunneling. */
  public final boolean tunneling;

  /**
   * Creates an instance with {@code tunneling} and sets {@link #offloadModePreferred} to {@link
   * AudioSink#OFFLOAD_MODE_DISABLED}.
   *
   * @param tunneling Whether to enable tunneling.
   */
  public RendererConfiguration(boolean tunneling) {
    this.offloadModePreferred = OFFLOAD_MODE_DISABLED;
    this.tunneling = tunneling;
  }

  /**
   * Creates an instance.
   *
   * @param offloadModePreferred The offload mode to use.
   * @param tunneling Whether to enable tunneling.
   */
  public RendererConfiguration(@AudioSink.OffloadMode int offloadModePreferred, boolean tunneling) {
    this.offloadModePreferred = offloadModePreferred;
    this.tunneling = tunneling;
  }

  @Override
  public boolean equals(@Nullable Object obj) {
    if (this == obj) {
      return true;
    }
    if (obj == null || getClass() != obj.getClass()) {
      return false;
    }
    RendererConfiguration other = (RendererConfiguration) obj;
    return offloadModePreferred == other.offloadModePreferred && tunneling == other.tunneling;
  }

  @Override
  public int hashCode() {
    int hashCode = offloadModePreferred << 1;
    hashCode += (tunneling ? 1 : 0);
    return hashCode;
  }
}