From e9ab71a28060e152e2d900956b155a69dfa619be Mon Sep 17 00:00:00 2001 From: cdrolle Date: Wed, 25 Jan 2017 08:36:36 -0800 Subject: [PATCH] Modified CeaDecoder and CeaSubtitle so that it's correctly setting the subsampleOffset and making proper use of it. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=145552166 --- .../google/android/exoplayer2/text/cea/CeaDecoder.java | 3 ++- .../google/android/exoplayer2/text/cea/CeaSubtitle.java | 8 ++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/library/src/main/java/com/google/android/exoplayer2/text/cea/CeaDecoder.java b/library/src/main/java/com/google/android/exoplayer2/text/cea/CeaDecoder.java index ae92d7fab8..f479050d57 100644 --- a/library/src/main/java/com/google/android/exoplayer2/text/cea/CeaDecoder.java +++ b/library/src/main/java/com/google/android/exoplayer2/text/cea/CeaDecoder.java @@ -16,6 +16,7 @@ package com.google.android.exoplayer2.text.cea; import com.google.android.exoplayer2.C; +import com.google.android.exoplayer2.Format; import com.google.android.exoplayer2.text.Subtitle; import com.google.android.exoplayer2.text.SubtitleDecoder; import com.google.android.exoplayer2.text.SubtitleDecoderException; @@ -109,7 +110,7 @@ import java.util.TreeSet; Subtitle subtitle = createSubtitle(); if (!inputBuffer.isDecodeOnly()) { SubtitleOutputBuffer outputBuffer = availableOutputBuffers.pollFirst(); - outputBuffer.setContent(inputBuffer.timeUs, subtitle, 0); + outputBuffer.setContent(inputBuffer.timeUs, subtitle, Format.OFFSET_SAMPLE_RELATIVE); releaseInputBuffer(inputBuffer); return outputBuffer; } diff --git a/library/src/main/java/com/google/android/exoplayer2/text/cea/CeaSubtitle.java b/library/src/main/java/com/google/android/exoplayer2/text/cea/CeaSubtitle.java index 620b2c7d80..7da2054a08 100644 --- a/library/src/main/java/com/google/android/exoplayer2/text/cea/CeaSubtitle.java +++ b/library/src/main/java/com/google/android/exoplayer2/text/cea/CeaSubtitle.java @@ -15,8 +15,11 @@ */ package com.google.android.exoplayer2.text.cea; +import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.text.Cue; import com.google.android.exoplayer2.text.Subtitle; +import com.google.android.exoplayer2.util.Assertions; +import java.util.Collections; import java.util.List; /** @@ -35,7 +38,7 @@ import java.util.List; @Override public int getNextEventTimeIndex(long timeUs) { - return 0; + return timeUs < 0 ? 0 : C.INDEX_UNSET; } @Override @@ -45,12 +48,13 @@ import java.util.List; @Override public long getEventTime(int index) { + Assertions.checkArgument(index == 0); return 0; } @Override public List getCues(long timeUs) { - return cues; + return timeUs >= 0 ? cues : Collections.emptyList(); } }