OSDN Git Service

GenericSource: reset timed text/subtitle after seek
authorRobert Shih <robertshih@google.com>
Mon, 31 Jul 2017 23:44:39 +0000 (16:44 -0700)
committerRobert Shih <robertshih@google.com>
Tue, 1 Aug 2017 00:31:24 +0000 (17:31 -0700)
Bug: 62071488
Test: MediaPlayerTest#testSeekWithTimedText
Change-Id: I789c22d186a601d57b4d5ad0d7945590714796a3

media/libmediaplayerservice/nuplayer/GenericSource.cpp

index d83c406..aa21fff 100644 (file)
@@ -1242,6 +1242,16 @@ status_t NuPlayer::GenericSource::doSeek(int64_t seekTimeUs, MediaPlayerSeekMode
         mAudioLastDequeueTimeUs = seekTimeUs;
     }
 
+    if (mSubtitleTrack.mSource != NULL) {
+        mSubtitleTrack.mPackets->clear();
+        mFetchSubtitleDataGeneration++;
+    }
+
+    if (mTimedTextTrack.mSource != NULL) {
+        mTimedTextTrack.mPackets->clear();
+        mFetchTimedTextDataGeneration++;
+    }
+
     // If currently buffering, post kWhatBufferingEnd first, so that
     // NuPlayer resumes. Otherwise, if cache hits high watermark
     // before new polling happens, no one will resume the playback.