Skip to content

Commit b9b30c4

Browse files
Do not send content complete if any midroll is skipped
1 parent ab4d37f commit b9b30c4

File tree

1 file changed

+11
-6
lines changed
  • extensions/ima/src/main/java/com/google/android/exoplayer2/ext/ima

1 file changed

+11
-6
lines changed

extensions/ima/src/main/java/com/google/android/exoplayer2/ext/ima/AdTagLoader.java

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1122,12 +1122,17 @@ private void handleAdPrepareError(int adGroupIndex, int adIndexInAdGroup, Except
11221122
}
11231123

11241124
private void ensureSentContentCompleteIfAtEndOfStream() {
1125-
if (!sentContentComplete
1126-
&& contentDurationMs != C.TIME_UNSET
1127-
&& pendingContentPositionMs == C.TIME_UNSET
1128-
&& getContentPeriodPositionMs(checkNotNull(player), timeline, period)
1129-
+ THRESHOLD_END_OF_CONTENT_MS
1130-
>= contentDurationMs) {
1125+
1126+
if (sentContentComplete
1127+
|| contentDurationMs == C.TIME_UNSET
1128+
|| pendingContentPositionMs != C.TIME_UNSET) {
1129+
return;
1130+
}
1131+
1132+
long contentPeriodPositionMs = getContentPeriodPositionMs(checkNotNull(player), timeline, period);
1133+
int pendingAdGroupIndex = adPlaybackState.getAdGroupIndexAfterPositionUs(contentPeriodPositionMs, contentDurationMs);
1134+
if (!adPlaybackState.getAdGroup(pendingAdGroupIndex).shouldPlayAdGroup()
1135+
&& contentPeriodPositionMs + THRESHOLD_END_OF_CONTENT_MS >= contentDurationMs) {
11311136
sendContentComplete();
11321137
}
11331138
}

0 commit comments

Comments
 (0)