MultiDataSource

open class MultiDataSource

Multi data source supports fetching assets from multiple URI schemes. If the data source is an HTTP/HTTPS source, then it will check the offline store to check if the asset has been downloaded already and automatically convert to DataSpec to point to local copy of the asset.

The supported schemes are:

  • file: For fetching data from a local file (e.g. file:///path/to/media/media.mp4, or just /path/to/media/media.mp4 because the implementation assumes that a URI without a scheme is a local file URI).
  • asset: For fetching data from an asset in the application's apk (e.g. asset:///media.mp4).
  • content: For fetching data from a content URI (e.g. content://authority/path/123).
  • rtmp: For fetching data over RTMP. Only supported if the project using ExoPlayer has an explicit dependency on ExoPlayer's RTMP extension.
  • http(s): For fetching data over HTTP and HTTPS (e.g. https://www.something.com/media.mp4).

Author

rsubramaniam

Types

Link copied to clipboard
open class Factory
Implements a factory to support MultiDataSource
Link copied to clipboard
interface ShortTtlHandler
Interface definition for handling DataSpec with an expired manifest URL.

Functions

Link copied to clipboard
open fun addTransferListener(transferListener: TransferListener)
Link copied to clipboard
open fun close()
Link copied to clipboard
Link copied to clipboard
open fun getUri(): Uri
Link copied to clipboard
open fun open(dataSpec: DataSpec): Long
Link copied to clipboard
open fun read(buffer: Array<Byte>, offset: Int, readLength: Int): Int