Class ModifierDataSourceFactory

java.lang.Object
com.castlabs.android.network.ModifierDataSourceFactory
All Implemented Interfaces:
DataSourceFactory, com.google.android.exoplayer2.upstream.DataSource.Factory

public class ModifierDataSourceFactory extends Object implements DataSourceFactory
Delegating data source factory that will trigger all RequestModifiers registered with the player controller.

Note that you usually do not have to use this class explicitly. The PlayerController will automatically create delegate instances for the different data request types.

Since:
4.1.2
  • Constructor Details

  • Method Details

    • createDataSource

      public com.google.android.exoplayer2.upstream.DataSource createDataSource()
      Specified by:
      createDataSource in interface com.google.android.exoplayer2.upstream.DataSource.Factory
    • createDataSource

      public com.google.android.exoplayer2.upstream.DataSource createDataSource(int requestType)
      Description copied from interface: DataSourceFactory
      Creates a data source for the given request type
      Specified by:
      createDataSource in interface DataSourceFactory
      Parameters:
      requestType - The request type
      Returns:
      dataSource the data source
    • addHeaderParameter

      public void addHeaderParameter(@NonNull String key, @NonNull String value)
      Description copied from interface: DataSourceFactory
      Adds a header parameter that will be added to each HTTP connection header that is generated with a DataSource created by this factory.

      Note that you will need to call this before a call to DataSource.Factory.createDataSource() in order to successfully add the parameter.

      Specified by:
      addHeaderParameter in interface DataSourceFactory
      Parameters:
      key - the key
      value - the value or null to remove any previously added endtry with the given key
    • clearHeaderParameters

      public void clearHeaderParameters()
      Description copied from interface: DataSourceFactory
      Removes all header parameters added previously with DataSourceFactory.addHeaderParameter(String, String).
      Specified by:
      clearHeaderParameters in interface DataSourceFactory
    • addQueryParameter

      public void addQueryParameter(@NonNull String key, @NonNull String value)
      Description copied from interface: DataSourceFactory
      Adds a query parameter that will be appended to each HTTP URL.

      Note that you will need to call this before a call to DataSource.Factory.createDataSource() in order to successfully add the parameter.

      Specified by:
      addQueryParameter in interface DataSourceFactory
      Parameters:
      key - the key
      value - the value or null to remove any previously added entry with the given key
    • clearQueryParameters

      public void clearQueryParameters()
      Description copied from interface: DataSourceFactory
      Removes all query parameters added previously with DataSourceFactory.addQueryParameter(String, String)
      Specified by:
      clearQueryParameters in interface DataSourceFactory
    • getHeaderParameter

      @NonNull public Map<String,String> getHeaderParameter()
      Specified by:
      getHeaderParameter in interface DataSourceFactory
      Returns:
      A non-null map of all registered header parameter
    • getQueryParameter

      @NonNull public Map<String,String> getQueryParameter()
      Specified by:
      getQueryParameter in interface DataSourceFactory
      Returns:
      A non-null map of all registered query parameter