Constructor
new DownloadManager(networkingEnginenon-null)
    Create a new download manager. It will use (but not own) |networkingEngine|
and call |onProgress| after each download.
    Parameters:
| Name | Type | Description | 
|---|---|---|
| networkingEngine | shaka.net.NetworkingEngine | 
- Implements:
- Source:
Members
abortCallbacks_ :Array<function(): !Promise>
    A list of callback functions to cancel any in-progress downloads.
    Type:
- Array<function(): !Promise>
- Source:
groups_ :Map<number, !Promise>
    We group downloads. Within each group, the requests are executed in
series. Between groups, the requests are executed in parallel. We store
the promise chain that is doing the work.
    Type:
- Map<number, !Promise>
- Source:
Methods
abortAll() → {Promise}
    Aborts all in-progress downloads.
- Source:
Returns:
    A promise that will resolve once the downloads are fully
  aborted.
- Type
- Promise
addDownloadEstimate(estimatedByteLength) → {number}
    Adds a byte length to the download estimate.
    Parameters:
| Name | Type | Description | 
|---|---|---|
| estimatedByteLength | number | 
- Source:
Returns:
    estimateId
- Type
- number
destroy() → {Promise}
    Request that this object be destroyed, releasing all resources and shutting
down all operations. Returns a Promise which is resolved when destruction
is complete. This Promise should never be rejected.
- Implements:
- Source:
Returns:
- Type
- Promise
fetchSegment_(request) → {Promise<BufferSource>}
    Download a segment and return the data in the response.
    Parameters:
| Name | Type | Description | 
|---|---|---|
| request | shaka.extern.Request | 
- Source:
Returns:
- Type
- Promise<BufferSource>
onInitData_()
    A callback for when a segment has new PSSH data and we pass
on the initData to storage
- Source:
onProgress_()
    A callback for when a segment has been downloaded. The first parameter
is the progress of all segments, a number between 0.0 (0% complete) and
1.0 (100% complete). The second parameter is the total number of bytes
that have been downloaded.
- Source:
queue(groupId, request, estimateId, isInitSegment, onDownloaded) → {Promise}
    Add a request to be downloaded as part of a group.
    Parameters:
| Name | Type | Description | 
|---|---|---|
| groupId | number | The group to add this segment to. If the group does not exist, a new group will be created. | 
| request | shaka.extern.Request | |
| estimateId | number | |
| isInitSegment | boolean | |
| onDownloaded | function(BufferSource): !Promise | The callback for when this request has been downloaded. Downloading for |group| will pause until the promise returned by |onDownloaded| resolves. | 
- Source:
Returns:
    Resolved when this request is complete.
- Type
- Promise
queueData(groupId, queueDatanon-null, estimateId, isInitSegment, onDownloaded) → {Promise}
    Add already-downloaded data to a group.
    Parameters:
| Name | Type | Description | 
|---|---|---|
| groupId | number | The group to add this segment to. If the group does not exist, a new group will be created. | 
| queueData | BufferSource | |
| estimateId | number | |
| isInitSegment | boolean | |
| onDownloaded | function(BufferSource): !Promise | The callback for when this request has been downloaded. Downloading for |group| will pause until the promise returned by |onDownloaded| resolves. | 
- Source:
Returns:
    Resolved when this request is complete.
- Type
- Promise
queueWork(groupId, callback) → {Promise}
    Add additional async work to the group work queue.
    Parameters:
| Name | Type | Description | 
|---|---|---|
| groupId | number | The group to add this group to. If the group does not exist, a new group will be created. | 
| callback | function(): !Promise | The callback for the async work. Downloading for this group will be blocked until the Promise returned by |callback| resolves. | 
- Source:
Returns:
    Resolved when this work is complete.
- Type
- Promise
setCallbacks(onProgress, onInitData)
Parameters:
| Name | Type | Description | 
|---|---|---|
| onProgress | function(number, number) | |
| onInitData | function(!Uint8Array, string) | 
- Source:
waitToFinish() → {Promise<number>}
    Get a promise that will resolve when all currently queued downloads have
finished.
- Source:
Returns:
- Type
- Promise<number>