public final class

MediaDrmCallbackException

extends java.io.IOException

 java.lang.Object

↳java.lang.Throwable

↳java.lang.Exception

↳java.io.IOException

↳androidx.media3.exoplayer.drm.MediaDrmCallbackException

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

Thrown when an error occurs while executing a DRM key or provisioning request.

Summary

Fields
public final longbytesLoaded

The number of bytes obtained from the server.

public final DataSpecdataSpec

The DataSpec associated with the request.

public final java.util.Map<java.lang.String, java.util.List>responseHeaders

The HTTP request headers included in the response.

public final UriuriAfterRedirects

The after redirections, or dataSpec.uri if no redirection occurred.

Constructors
publicMediaDrmCallbackException(DataSpec dataSpec, Uri uriAfterRedirects, java.util.Map<java.lang.String, java.util.List> responseHeaders, long bytesLoaded, java.lang.Throwable cause)

Creates a new instance with the given values.

Methods
from java.lang.ThrowableaddSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
from java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Fields

public final DataSpec dataSpec

The DataSpec associated with the request.

public final Uri uriAfterRedirects

The after redirections, or dataSpec.uri if no redirection occurred.

public final java.util.Map<java.lang.String, java.util.List> responseHeaders

The HTTP request headers included in the response.

public final long bytesLoaded

The number of bytes obtained from the server.

Constructors

public MediaDrmCallbackException(DataSpec dataSpec, Uri uriAfterRedirects, java.util.Map<java.lang.String, java.util.List> responseHeaders, long bytesLoaded, java.lang.Throwable cause)

Creates a new instance with the given values.

Parameters:

dataSpec: See MediaDrmCallbackException.dataSpec.
uriAfterRedirects: See MediaDrmCallbackException.uriAfterRedirects.
responseHeaders: See MediaDrmCallbackException.responseHeaders.
bytesLoaded: See MediaDrmCallbackException.bytesLoaded.
cause: The cause of the exception.

Source

/*
 * Copyright 2020 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.drm;

import android.net.Uri;
import androidx.media3.common.util.UnstableApi;
import androidx.media3.datasource.DataSpec;
import java.io.IOException;
import java.util.List;
import java.util.Map;

/**
 * Thrown when an error occurs while executing a DRM {@link MediaDrmCallback#executeKeyRequest key}
 * or {@link MediaDrmCallback#executeProvisionRequest provisioning} request.
 */
@UnstableApi
public final class MediaDrmCallbackException extends IOException {

  /** The {@link DataSpec} associated with the request. */
  public final DataSpec dataSpec;

  /**
   * The {@link Uri} after redirections, or {@link #dataSpec dataSpec.uri} if no redirection
   * occurred.
   */
  public final Uri uriAfterRedirects;

  /** The HTTP request headers included in the response. */
  public final Map<String, List<String>> responseHeaders;

  /** The number of bytes obtained from the server. */
  public final long bytesLoaded;

  /**
   * Creates a new instance with the given values.
   *
   * @param dataSpec See {@link #dataSpec}.
   * @param uriAfterRedirects See {@link #uriAfterRedirects}.
   * @param responseHeaders See {@link #responseHeaders}.
   * @param bytesLoaded See {@link #bytesLoaded}.
   * @param cause The cause of the exception.
   */
  public MediaDrmCallbackException(
      DataSpec dataSpec,
      Uri uriAfterRedirects,
      Map<String, List<String>> responseHeaders,
      long bytesLoaded,
      Throwable cause) {
    super(cause);
    this.dataSpec = dataSpec;
    this.uriAfterRedirects = uriAfterRedirects;
    this.responseHeaders = responseHeaders;
    this.bytesLoaded = bytesLoaded;
  }
}