docs/doc/reference/com/google/android/exoplayer2/upstream/DefaultHttpDataSource.Factory.html
Package com.google.android.exoplayer2.upstream
All Implemented Interfaces:DataSource.Factory, HttpDataSource.FactoryEnclosing class:DefaultHttpDataSource
public static final classDefaultHttpDataSource.Factoryextends[Object](https://developer.android.com/reference/java/lang/Object.html "class or interface in java.lang")implements[HttpDataSource.Factory](HttpDataSource.Factory.html "interface in com.google.android.exoplayer2.upstream")
DataSource.Factory for DefaultHttpDataSource instances.
Constructors | Constructor | Description |
| --- | --- |
| Factory() |
Creates an instance.
|
All Methods Instance Methods Concrete Methods | Modifier and Type | Method | Description |
| --- | --- | --- |
| DefaultHttpDataSource | createDataSource() |
Creates a DataSource instance.
|
| DefaultHttpDataSource.Factory | setAllowCrossProtocolRedirects(boolean allowCrossProtocolRedirects) |
Sets whether to allow cross protocol redirects.
|
| DefaultHttpDataSource.Factory | setConnectTimeoutMs(int connectTimeoutMs) |
Sets the connect timeout, in milliseconds.
|
| DefaultHttpDataSource.Factory | setContentTypePredicate(Predicate<String> contentTypePredicate) |
Sets a content type Predicate.
|
| DefaultHttpDataSource.Factory | setDefaultRequestProperties(Map<String,String> defaultRequestProperties) |
Sets the default request headers for HttpDataSource instances created by the factory.
|
| DefaultHttpDataSource.Factory | setKeepPostFor302Redirects(boolean keepPostFor302Redirects) |
Sets whether we should keep the POST method and body when we have HTTP 302 redirects for a POST request.
|
| DefaultHttpDataSource.Factory | setReadTimeoutMs(int readTimeoutMs) |
Sets the read timeout, in milliseconds.
|
| DefaultHttpDataSource.Factory | setTransferListener(TransferListener transferListener) |
Sets the TransferListener that will be used.
|
| DefaultHttpDataSource.Factory | setUserAgent(String userAgent) |
Sets the user agent that will be used.
|
-
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
public Factory()
Creates an instance.
-
@CanIgnoreReturnValue
public final[DefaultHttpDataSource.Factory](DefaultHttpDataSource.Factory.html "class in com.google.android.exoplayer2.upstream")setDefaultRequestProperties([Map](https://developer.android.com/reference/java/util/Map.html "class or interface in java.util")<[String](https://developer.android.com/reference/java/lang/String.html?is-external=true "class or interface in java.lang"),[String](https://developer.android.com/reference/java/lang/String.html?is-external=true "class or interface in java.lang")> defaultRequestProperties)
Description copied from interface: HttpDataSource.Factory
Sets the default request headers for HttpDataSource instances created by the factory.
The new request properties will be used for future requests made by HttpDataSources created by the factory, including instances that have already been created. Modifying the defaultRequestProperties map after a call to this method will have no effect, and so it's necessary to call this method again each time the request properties need to be updated.
Specified by:setDefaultRequestProperties in interface HttpDataSource.FactoryParameters:defaultRequestProperties - The default request properties.Returns:This factory.
-
@CanIgnoreReturnValue
public[DefaultHttpDataSource.Factory](DefaultHttpDataSource.Factory.html "class in com.google.android.exoplayer2.upstream")setUserAgent(@Nullable[String](https://developer.android.com/reference/java/lang/String.html "class or interface in java.lang")userAgent)
Sets the user agent that will be used.
The default is null, which causes the default user agent of the underlying platform to be used.
Parameters:userAgent - The user agent that will be used, or null to use the default user agent of the underlying platform.Returns:This factory.
-
@CanIgnoreReturnValue
public[DefaultHttpDataSource.Factory](DefaultHttpDataSource.Factory.html "class in com.google.android.exoplayer2.upstream")setConnectTimeoutMs(int connectTimeoutMs)
Sets the connect timeout, in milliseconds.
The default is DefaultHttpDataSource.DEFAULT_CONNECT_TIMEOUT_MILLIS.
Parameters:connectTimeoutMs - The connect timeout, in milliseconds, that will be used.Returns:This factory.
-
@CanIgnoreReturnValue
public[DefaultHttpDataSource.Factory](DefaultHttpDataSource.Factory.html "class in com.google.android.exoplayer2.upstream")setReadTimeoutMs(int readTimeoutMs)
Sets the read timeout, in milliseconds.
The default is DefaultHttpDataSource.DEFAULT_READ_TIMEOUT_MILLIS.
Parameters:readTimeoutMs - The connect timeout, in milliseconds, that will be used.Returns:This factory.
-
@CanIgnoreReturnValue
public[DefaultHttpDataSource.Factory](DefaultHttpDataSource.Factory.html "class in com.google.android.exoplayer2.upstream")setAllowCrossProtocolRedirects(boolean allowCrossProtocolRedirects)
Sets whether to allow cross protocol redirects.
The default is false.
Parameters:allowCrossProtocolRedirects - Whether to allow cross protocol redirects.Returns:This factory.
-
@CanIgnoreReturnValue
public[DefaultHttpDataSource.Factory](DefaultHttpDataSource.Factory.html "class in com.google.android.exoplayer2.upstream")setContentTypePredicate(@Nullable[Predicate](https://guava.dev/releases/31.1-android/api/docs/com/google/common/base/Predicate.html?is-external=true "class or interface in com.google.common.base")<[String](https://developer.android.com/reference/java/lang/String.html "class or interface in java.lang")> contentTypePredicate)
Sets a content type Predicate. If a content type is rejected by the predicate then a HttpDataSource.InvalidContentTypeException is thrown from DefaultHttpDataSource.open(DataSpec).
The default is null.
Parameters:contentTypePredicate - The content type Predicate, or null to clear a predicate that was previously set.Returns:This factory.
-
@CanIgnoreReturnValue
public[DefaultHttpDataSource.Factory](DefaultHttpDataSource.Factory.html "class in com.google.android.exoplayer2.upstream")setTransferListener(@Nullable[TransferListener](TransferListener.html "interface in com.google.android.exoplayer2.upstream")transferListener)
Sets the TransferListener that will be used.
The default is null.
See DataSource.addTransferListener(TransferListener).
Parameters:transferListener - The listener that will be used.Returns:This factory.
-
@CanIgnoreReturnValue
public[DefaultHttpDataSource.Factory](DefaultHttpDataSource.Factory.html "class in com.google.android.exoplayer2.upstream")setKeepPostFor302Redirects(boolean keepPostFor302Redirects)
Sets whether we should keep the POST method and body when we have HTTP 302 redirects for a POST request.
-
public[DefaultHttpDataSource](DefaultHttpDataSource.html "class in com.google.android.exoplayer2.upstream")createDataSource()
Description copied from interface: DataSource.Factory
Creates a DataSource instance.
Specified by:createDataSource in interface DataSource.FactorySpecified by:createDataSource in interface HttpDataSource.Factory