Invoke onLoadCanceled/Completed for ExtractorMediaSource
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177936271
This commit is contained in:
parent
f0e9dbf148
commit
f2f767bc12
@ -405,14 +405,26 @@ import java.util.Arrays;
|
|||||||
@Override
|
@Override
|
||||||
public void onLoadCompleted(ExtractingLoadable loadable, long elapsedRealtimeMs,
|
public void onLoadCompleted(ExtractingLoadable loadable, long elapsedRealtimeMs,
|
||||||
long loadDurationMs) {
|
long loadDurationMs) {
|
||||||
copyLengthFromLoader(loadable);
|
|
||||||
loadingFinished = true;
|
|
||||||
if (durationUs == C.TIME_UNSET) {
|
if (durationUs == C.TIME_UNSET) {
|
||||||
long largestQueuedTimestampUs = getLargestQueuedTimestampUs();
|
long largestQueuedTimestampUs = getLargestQueuedTimestampUs();
|
||||||
durationUs = largestQueuedTimestampUs == Long.MIN_VALUE ? 0
|
durationUs = largestQueuedTimestampUs == Long.MIN_VALUE ? 0
|
||||||
: largestQueuedTimestampUs + DEFAULT_LAST_SAMPLE_DURATION_US;
|
: largestQueuedTimestampUs + DEFAULT_LAST_SAMPLE_DURATION_US;
|
||||||
listener.onSourceInfoRefreshed(durationUs, seekMap.isSeekable());
|
listener.onSourceInfoRefreshed(durationUs, seekMap.isSeekable());
|
||||||
}
|
}
|
||||||
|
eventDispatcher.loadCompleted(
|
||||||
|
loadable.dataSpec,
|
||||||
|
C.DATA_TYPE_MEDIA,
|
||||||
|
C.TRACK_TYPE_UNKNOWN,
|
||||||
|
/* trackFormat= */ null,
|
||||||
|
C.SELECTION_REASON_UNKNOWN,
|
||||||
|
/* trackSelectionData= */ null,
|
||||||
|
/* mediaStartTimeUs= */ 0,
|
||||||
|
durationUs,
|
||||||
|
elapsedRealtimeMs,
|
||||||
|
loadDurationMs,
|
||||||
|
loadable.bytesLoaded);
|
||||||
|
copyLengthFromLoader(loadable);
|
||||||
|
loadingFinished = true;
|
||||||
callback.onContinueLoadingRequested(this);
|
callback.onContinueLoadingRequested(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -422,6 +434,18 @@ import java.util.Arrays;
|
|||||||
if (released) {
|
if (released) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
eventDispatcher.loadCanceled(
|
||||||
|
loadable.dataSpec,
|
||||||
|
C.DATA_TYPE_MEDIA,
|
||||||
|
C.TRACK_TYPE_UNKNOWN,
|
||||||
|
/* trackFormat= */ null,
|
||||||
|
C.SELECTION_REASON_UNKNOWN,
|
||||||
|
/* trackSelectionData= */ null,
|
||||||
|
/* mediaStartTimeUs= */ 0,
|
||||||
|
durationUs,
|
||||||
|
elapsedRealtimeMs,
|
||||||
|
loadDurationMs,
|
||||||
|
loadable.bytesLoaded);
|
||||||
copyLengthFromLoader(loadable);
|
copyLengthFromLoader(loadable);
|
||||||
for (SampleQueue sampleQueue : sampleQueues) {
|
for (SampleQueue sampleQueue : sampleQueues) {
|
||||||
sampleQueue.reset();
|
sampleQueue.reset();
|
||||||
@ -434,7 +458,6 @@ import java.util.Arrays;
|
|||||||
@Override
|
@Override
|
||||||
public int onLoadError(ExtractingLoadable loadable, long elapsedRealtimeMs,
|
public int onLoadError(ExtractingLoadable loadable, long elapsedRealtimeMs,
|
||||||
long loadDurationMs, IOException error) {
|
long loadDurationMs, IOException error) {
|
||||||
copyLengthFromLoader(loadable);
|
|
||||||
boolean isErrorFatal = isLoadableExceptionFatal(error);
|
boolean isErrorFatal = isLoadableExceptionFatal(error);
|
||||||
eventDispatcher.loadError(
|
eventDispatcher.loadError(
|
||||||
loadable.dataSpec,
|
loadable.dataSpec,
|
||||||
@ -450,6 +473,7 @@ import java.util.Arrays;
|
|||||||
loadable.bytesLoaded,
|
loadable.bytesLoaded,
|
||||||
error,
|
error,
|
||||||
/* wasCanceled= */ isErrorFatal);
|
/* wasCanceled= */ isErrorFatal);
|
||||||
|
copyLengthFromLoader(loadable);
|
||||||
if (isErrorFatal) {
|
if (isErrorFatal) {
|
||||||
return Loader.DONT_RETRY_FATAL;
|
return Loader.DONT_RETRY_FATAL;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user