Add missing onLoadStarted callback to Extractor and SingleSample media period.

We added the other callbacks some time ago, but didn't include onLoadStarted.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=181743764
This commit is contained in:
tonihei 2018-01-12 07:52:49 -08:00 committed by Oliver Woodman
parent f977ba256f
commit ad3e6ef4cd
3 changed files with 31 additions and 9 deletions

View File

@ -168,6 +168,7 @@ import java.util.Arrays;
sampleQueues = new SampleQueue[0];
pendingResetPositionUs = C.TIME_UNSET;
length = C.LENGTH_UNSET;
durationUs = C.TIME_UNSET;
// Assume on-demand for MIN_RETRY_COUNT_DEFAULT_FOR_MEDIA, until prepared.
actualMinLoadableRetryCount =
minLoadableRetryCount == ExtractorMediaSource.MIN_RETRY_COUNT_DEFAULT_FOR_MEDIA
@ -436,7 +437,7 @@ import java.util.Arrays;
/* trackFormat= */ null,
C.SELECTION_REASON_UNKNOWN,
/* trackSelectionData= */ null,
/* mediaStartTimeUs= */ 0,
/* mediaStartTimeUs= */ loadable.seekTimeUs,
durationUs,
elapsedRealtimeMs,
loadDurationMs,
@ -456,7 +457,7 @@ import java.util.Arrays;
/* trackFormat= */ null,
C.SELECTION_REASON_UNKNOWN,
/* trackSelectionData= */ null,
/* mediaStartTimeUs= */ 0,
/* mediaStartTimeUs= */ loadable.seekTimeUs,
durationUs,
elapsedRealtimeMs,
loadDurationMs,
@ -483,7 +484,7 @@ import java.util.Arrays;
/* trackFormat= */ null,
C.SELECTION_REASON_UNKNOWN,
/* trackSelectionData= */ null,
/* mediaStartTimeUs= */ 0,
/* mediaStartTimeUs= */ loadable.seekTimeUs,
durationUs,
elapsedRealtimeMs,
loadDurationMs,
@ -595,7 +596,17 @@ import java.util.Arrays;
pendingResetPositionUs = C.TIME_UNSET;
}
extractedSamplesCountAtStartOfLoad = getExtractedSamplesCount();
loader.startLoading(loadable, this, actualMinLoadableRetryCount);
long elapsedRealtimeMs = loader.startLoading(loadable, this, actualMinLoadableRetryCount);
eventDispatcher.loadStarted(
loadable.dataSpec,
C.DATA_TYPE_MEDIA,
C.TRACK_TYPE_UNKNOWN,
/* trackFormat= */ null,
C.SELECTION_REASON_UNKNOWN,
/* trackSelectionData= */ null,
/* mediaStartTimeUs= */ loadable.seekTimeUs,
durationUs,
elapsedRealtimeMs);
}
private void configureRetry(ExtractingLoadable loadable) {

View File

@ -44,7 +44,7 @@ public interface MediaSourceEventListener {
* @param mediaStartTimeMs The start time of the media being loaded, or {@link C#TIME_UNSET} if
* the load is not for media data.
* @param mediaEndTimeMs The end time of the media being loaded, or {@link C#TIME_UNSET} if the
* load is not for media data.
* load is not for media data or the end time is unknown.
* @param elapsedRealtimeMs The value of {@link SystemClock#elapsedRealtime} when the load began.
*/
void onLoadStarted(

View File

@ -133,10 +133,21 @@ import java.util.Arrays;
if (loadingFinished || loader.isLoading()) {
return false;
}
loader.startLoading(
new SourceLoadable(dataSpec, dataSourceFactory.createDataSource()),
this,
minLoadableRetryCount);
long elapsedRealtimeMs =
loader.startLoading(
new SourceLoadable(dataSpec, dataSourceFactory.createDataSource()),
this,
minLoadableRetryCount);
eventDispatcher.loadStarted(
dataSpec,
C.DATA_TYPE_MEDIA,
C.TRACK_TYPE_UNKNOWN,
format,
C.SELECTION_REASON_UNKNOWN,
/* trackSelectionData= */ null,
/* mediaStartTimeUs= */ 0,
durationUs,
elapsedRealtimeMs);
return true;
}