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]; sampleQueues = new SampleQueue[0];
pendingResetPositionUs = C.TIME_UNSET; pendingResetPositionUs = C.TIME_UNSET;
length = C.LENGTH_UNSET; length = C.LENGTH_UNSET;
durationUs = C.TIME_UNSET;
// Assume on-demand for MIN_RETRY_COUNT_DEFAULT_FOR_MEDIA, until prepared. // Assume on-demand for MIN_RETRY_COUNT_DEFAULT_FOR_MEDIA, until prepared.
actualMinLoadableRetryCount = actualMinLoadableRetryCount =
minLoadableRetryCount == ExtractorMediaSource.MIN_RETRY_COUNT_DEFAULT_FOR_MEDIA minLoadableRetryCount == ExtractorMediaSource.MIN_RETRY_COUNT_DEFAULT_FOR_MEDIA
@ -436,7 +437,7 @@ import java.util.Arrays;
/* trackFormat= */ null, /* trackFormat= */ null,
C.SELECTION_REASON_UNKNOWN, C.SELECTION_REASON_UNKNOWN,
/* trackSelectionData= */ null, /* trackSelectionData= */ null,
/* mediaStartTimeUs= */ 0, /* mediaStartTimeUs= */ loadable.seekTimeUs,
durationUs, durationUs,
elapsedRealtimeMs, elapsedRealtimeMs,
loadDurationMs, loadDurationMs,
@ -456,7 +457,7 @@ import java.util.Arrays;
/* trackFormat= */ null, /* trackFormat= */ null,
C.SELECTION_REASON_UNKNOWN, C.SELECTION_REASON_UNKNOWN,
/* trackSelectionData= */ null, /* trackSelectionData= */ null,
/* mediaStartTimeUs= */ 0, /* mediaStartTimeUs= */ loadable.seekTimeUs,
durationUs, durationUs,
elapsedRealtimeMs, elapsedRealtimeMs,
loadDurationMs, loadDurationMs,
@ -483,7 +484,7 @@ import java.util.Arrays;
/* trackFormat= */ null, /* trackFormat= */ null,
C.SELECTION_REASON_UNKNOWN, C.SELECTION_REASON_UNKNOWN,
/* trackSelectionData= */ null, /* trackSelectionData= */ null,
/* mediaStartTimeUs= */ 0, /* mediaStartTimeUs= */ loadable.seekTimeUs,
durationUs, durationUs,
elapsedRealtimeMs, elapsedRealtimeMs,
loadDurationMs, loadDurationMs,
@ -595,7 +596,17 @@ import java.util.Arrays;
pendingResetPositionUs = C.TIME_UNSET; pendingResetPositionUs = C.TIME_UNSET;
} }
extractedSamplesCountAtStartOfLoad = getExtractedSamplesCount(); 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) { 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 * @param mediaStartTimeMs The start time of the media being loaded, or {@link C#TIME_UNSET} if
* the load is not for media data. * the load is not for media data.
* @param mediaEndTimeMs The end time of the media being loaded, or {@link C#TIME_UNSET} if the * @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. * @param elapsedRealtimeMs The value of {@link SystemClock#elapsedRealtime} when the load began.
*/ */
void onLoadStarted( void onLoadStarted(

View File

@ -133,10 +133,21 @@ import java.util.Arrays;
if (loadingFinished || loader.isLoading()) { if (loadingFinished || loader.isLoading()) {
return false; return false;
} }
long elapsedRealtimeMs =
loader.startLoading( loader.startLoading(
new SourceLoadable(dataSpec, dataSourceFactory.createDataSource()), new SourceLoadable(dataSpec, dataSourceFactory.createDataSource()),
this, this,
minLoadableRetryCount); 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; return true;
} }