Back to Exoplayer

HttpDataSource (ExoPlayer library)

docs/doc/reference/com/google/android/exoplayer2/upstream/HttpDataSource.html

latest11.0 KB
Original Source

Package com.google.android.exoplayer2.upstream

Interface HttpDataSource

  • All Superinterfaces:DataReader, DataSourceAll Known Implementing Classes:CronetDataSource, DefaultHttpDataSource, OkHttpDataSource

[@Deprecated](https://developer.android.com/reference/java/lang/Deprecated.html "class or interface in java.lang")public interfaceHttpDataSourceextends[DataSource](DataSource.html "interface in com.google.android.exoplayer2.upstream")

Deprecated. com.google.android.exoplayer2 is deprecated. Please migrate to androidx.media3 (which contains the same ExoPlayer code). See the migration guide for more details, including a script to help with the migration.

An HTTP DataSource.

Nested Class Summary

Nested Classes | Modifier and Type | Interface | Description | | --- | --- | --- | | static class | HttpDataSource.BaseFactory | Deprecated.

Base implementation of HttpDataSource.Factory that sets default request properties. | | static class | HttpDataSource.CleartextNotPermittedException | Deprecated.

Thrown when cleartext HTTP traffic is not permitted. | | static interface | HttpDataSource.Factory | Deprecated.

A factory for HttpDataSource instances. | | static class | HttpDataSource.HttpDataSourceException | Deprecated.

Thrown when an error is encountered when trying to read from a HttpDataSource. | | static class | HttpDataSource.InvalidContentTypeException | Deprecated.

Thrown when the content type is invalid. | | static class | HttpDataSource.InvalidResponseCodeException | Deprecated.

Thrown when an attempt to open a connection results in a response code not in the 2xx range. | | static class | HttpDataSource.RequestProperties | Deprecated.

Stores HTTP request properties (aka HTTP headers) and provides methods to modify the headers in a thread safe way to avoid the potential of creating snapshots of an inconsistent or unintended state. |

Field Summary

Fields | Modifier and Type | Field | Description | | --- | --- | --- | | static Predicate<String> | REJECT_PAYWALL_TYPES | Deprecated.

A Predicate that rejects content types often used for pay-walls. |

Method Summary

All Methods Instance Methods Abstract Methods Deprecated Methods | Modifier and Type | Method | Description | | --- | --- | --- | | void | clearAllRequestProperties() | Deprecated.

Clears all request headers that were set by setRequestProperty(String, String). | | void | clearRequestProperty​(String name) | Deprecated.

Clears the value of a request header. | | void | close() | Deprecated.

Closes the source. | | int | getResponseCode() | Deprecated.

When the source is open, returns the HTTP response status code associated with the last open(com.google.android.exoplayer2.upstream.DataSpec) call. | | Map<String,​List<String>> | getResponseHeaders() | Deprecated.

When the source is open, returns the response headers associated with the last DataSource.open(com.google.android.exoplayer2.upstream.DataSpec) call. | | long | open​(DataSpec dataSpec) | Deprecated.

Opens the source to read the specified data. | | int | read​(byte[] buffer, int offset, int length) | Deprecated.

Reads up to length bytes of data from the input. | | void | setRequestProperty​(String name, String value) | Deprecated.

Sets the value of a request header. |

- 

Methods inherited from interface com.google.android.exoplayer2.upstream.DataSource

addTransferListener, getUri

Field Detail

- 

REJECT_PAYWALL_TYPES

static final[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")> REJECT_PAYWALL_TYPES

Deprecated.

A Predicate that rejects content types often used for pay-walls.

Method Detail

- 

open

long open​([DataSpec](DataSpec.html "class in com.google.android.exoplayer2.upstream")dataSpec)
   throws[HttpDataSource.HttpDataSourceException](HttpDataSource.HttpDataSourceException.html "class in com.google.android.exoplayer2.upstream")

Deprecated.

Opens the source to read the specified data.

Note: HttpDataSource implementations are advised to set request headers passed via (in order of decreasing priority) the dataSpec, setRequestProperty(java.lang.String, java.lang.String) and the default parameters set in the HttpDataSource.Factory.

Specified by:open in interface DataSourceParameters:dataSpec - Defines the data to be read.Returns:The number of bytes that can be read from the opened source. For unbounded requests (i.e., requests where DataSpec.length equals C.LENGTH_UNSET) this value is the resolved length of the request, or C.LENGTH_UNSET if the length is still unresolved. For all other requests, the value returned will be equal to the request's DataSpec.length.Throws:HttpDataSource.HttpDataSourceException

- 

close

void close()
    throws[HttpDataSource.HttpDataSourceException](HttpDataSource.HttpDataSourceException.html "class in com.google.android.exoplayer2.upstream")

Deprecated.

Description copied from interface: DataSource

Closes the source. This method must be called even if the corresponding call to DataSource.open(DataSpec) threw an IOException. Specified by:close in interface DataSourceThrows:HttpDataSource.HttpDataSourceException

- 

read

int read​(byte[] buffer,
         int offset,
         int length)
  throws[HttpDataSource.HttpDataSourceException](HttpDataSource.HttpDataSourceException.html "class in com.google.android.exoplayer2.upstream")

Deprecated.

Description copied from interface: DataReader

Reads up to length bytes of data from the input.

If readLength is zero then 0 is returned. Otherwise, if no data is available because the end of the opened range has been reached, then C.RESULT_END_OF_INPUT is returned. Otherwise, the call will block until at least one byte of data has been read and the number of bytes read is returned.

Specified by:read in interface DataReaderParameters:buffer - A target array into which data should be written.offset - The offset into the target array at which to write.length - The maximum number of bytes to read from the input.Returns:The number of bytes read, or C.RESULT_END_OF_INPUT if the input has ended. This may be less than length because the end of the input (or available data) was reached, the method was interrupted, or the operation was aborted early for another reason.Throws:HttpDataSource.HttpDataSourceException

- 

setRequestProperty

void setRequestProperty​([String](https://developer.android.com/reference/java/lang/String.html "class or interface in java.lang")name,[String](https://developer.android.com/reference/java/lang/String.html "class or interface in java.lang")value)

Deprecated.

Sets the value of a request header. The value will be used for subsequent connections established by the source.

Note: If the same header is set as a default parameter in the HttpDataSource.Factory, then the header value set with this method should be preferred when connecting with the data source. See open(com.google.android.exoplayer2.upstream.DataSpec).

Parameters:name - The name of the header field.value - The value of the field.

- 

clearRequestProperty

void clearRequestProperty​([String](https://developer.android.com/reference/java/lang/String.html "class or interface in java.lang")name)

Deprecated.

Clears the value of a request header. The change will apply to subsequent connections established by the source. Parameters:name - The name of the header field.

- 

clearAllRequestProperties

void clearAllRequestProperties()

Deprecated.

Clears all request headers that were set by setRequestProperty(String, String).

- 

getResponseCode

int getResponseCode()

Deprecated.

When the source is open, returns the HTTP response status code associated with the last open(com.google.android.exoplayer2.upstream.DataSpec) call. Otherwise, returns a negative value.

- 

getResponseHeaders

[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"),​[List](https://developer.android.com/reference/java/util/List.html?is-external=true "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")>> getResponseHeaders()

Deprecated.

Description copied from interface: DataSource

When the source is open, returns the response headers associated with the last DataSource.open(com.google.android.exoplayer2.upstream.DataSpec) call. Otherwise, returns an empty map.

Key look-up in the returned map is case-insensitive.

Specified by:getResponseHeaders in interface DataSource