# DownloaderFactory

Artifact: [androidx.media3:media3-exoplayer](https://developer.android.com/jetpack/androidx/releases/media3) [View Source](https://cs.android.com/search?q=file:androidx/media3/exoplayer/offline/DownloaderFactory.java+class:androidx.media3.exoplayer.offline.DownloaderFactory)

*** ** * ** ***


```
@UnstableApi
public interface DownloaderFactory
```

<br />

Known direct subclasses [DefaultDownloaderFactory](https://developer.android.com/reference/androidx/media3/exoplayer/offline/DefaultDownloaderFactory)

|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/offline/DefaultDownloaderFactory` | Default `https://developer.android.com/reference/androidx/media3/exoplayer/offline/DownloaderFactory`, supporting creation of progressive, DASH, HLS and SmoothStreaming downloaders. |

*** ** * ** ***

Creates `https://developer.android.com/reference/androidx/media3/exoplayer/offline/Downloader` for given `https://developer.android.com/reference/androidx/media3/exoplayer/offline/DownloadRequest`.

## Summary

| ### Public methods |
|---|---|
| `abstract https://developer.android.com/reference/androidx/media3/exoplayer/offline/Downloader` | `https://developer.android.com/reference/androidx/media3/exoplayer/offline/DownloaderFactory#createDownloader(androidx.media3.exoplayer.offline.DownloadRequest)(https://developer.android.com/reference/androidx/media3/exoplayer/offline/DownloadRequest request)` Creates a `https://developer.android.com/reference/androidx/media3/exoplayer/offline/Downloader` to perform the given `https://developer.android.com/reference/androidx/media3/exoplayer/offline/DownloadRequest`. |

## Public methods

### createDownloader

```
abstract Downloader createDownloader(DownloadRequest request)
```

Creates a `https://developer.android.com/reference/androidx/media3/exoplayer/offline/Downloader` to perform the given `https://developer.android.com/reference/androidx/media3/exoplayer/offline/DownloadRequest`.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/offline/DownloadRequest request` | The download request. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/offline/Downloader` | The downloader. |