public final class

PriorityDataSourceFactory

extends java.lang.Object

implements DataSource.Factory

 java.lang.Object

↳androidx.media3.datasource.PriorityDataSourceFactory

Gradle dependencies

compile group: 'androidx.media3', name: 'media3-datasource', version: '1.0.0-alpha03'

  • groupId: androidx.media3
  • artifactId: media3-datasource
  • version: 1.0.0-alpha03

Artifact androidx.media3:media3-datasource:1.0.0-alpha03 it located at Google repository (https://maven.google.com/)

Summary

Constructors
publicPriorityDataSourceFactory(DataSource.Factory upstreamFactory, PriorityTaskManager priorityTaskManager, int priority)

Methods
public PriorityDataSourcecreateDataSource()

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

Constructors

public PriorityDataSourceFactory(DataSource.Factory upstreamFactory, PriorityTaskManager priorityTaskManager, int priority)

Parameters:

upstreamFactory: A DataSource.Factory to be used to create an upstream DataSource for PriorityDataSource.
priorityTaskManager: The priority manager to which PriorityDataSource task is registered.
priority: The priority of PriorityDataSource task.

Methods

public PriorityDataSource createDataSource()

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.datasource;

import androidx.media3.common.PriorityTaskManager;
import androidx.media3.common.util.UnstableApi;
import androidx.media3.datasource.DataSource.Factory;

/** @deprecated Use {@link PriorityDataSource.Factory}. */
@Deprecated
@UnstableApi
public final class PriorityDataSourceFactory implements Factory {

  private final Factory upstreamFactory;
  private final PriorityTaskManager priorityTaskManager;
  private final int priority;

  /**
   * @param upstreamFactory A {@link DataSource.Factory} to be used to create an upstream {@link
   *     DataSource} for {@link PriorityDataSource}.
   * @param priorityTaskManager The priority manager to which PriorityDataSource task is registered.
   * @param priority The priority of PriorityDataSource task.
   */
  public PriorityDataSourceFactory(
      Factory upstreamFactory, PriorityTaskManager priorityTaskManager, int priority) {
    this.upstreamFactory = upstreamFactory;
    this.priorityTaskManager = priorityTaskManager;
    this.priority = priority;
  }

  @Override
  public PriorityDataSource createDataSource() {
    return new PriorityDataSource(
        upstreamFactory.createDataSource(), priorityTaskManager, priority);
  }
}