summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice/nuplayer/HTTPLiveSource.cpp
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2011-01-05 12:17:08 -0800
committerAndreas Huber <andih@google.com>2011-01-05 14:48:31 -0800
commit43c3e6ce02215ca99d506458f596cb1211639f29 (patch)
tree52a143f0a92abc9f5050f5c9f44e2e4c087848f3 /media/libmediaplayerservice/nuplayer/HTTPLiveSource.cpp
parent627baacc748c5e2ed68bdb256aea4d70fcfe9ce4 (diff)
downloadframeworks_av-43c3e6ce02215ca99d506458f596cb1211639f29.zip
frameworks_av-43c3e6ce02215ca99d506458f596cb1211639f29.tar.gz
frameworks_av-43c3e6ce02215ca99d506458f596cb1211639f29.tar.bz2
Seek/Duration support for completed http live streams in NuPlayer.
Change-Id: I55bbe75d87140c07b1927d14ad24130fce803463 related-to-bug: 3321475
Diffstat (limited to 'media/libmediaplayerservice/nuplayer/HTTPLiveSource.cpp')
-rw-r--r--media/libmediaplayerservice/nuplayer/HTTPLiveSource.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/media/libmediaplayerservice/nuplayer/HTTPLiveSource.cpp b/media/libmediaplayerservice/nuplayer/HTTPLiveSource.cpp
index 29e4971..b81e0e9 100644
--- a/media/libmediaplayerservice/nuplayer/HTTPLiveSource.cpp
+++ b/media/libmediaplayerservice/nuplayer/HTTPLiveSource.cpp
@@ -128,5 +128,25 @@ status_t NuPlayer::HTTPLiveSource::dequeueAccessUnit(
return source->dequeueAccessUnit(accessUnit);
}
+status_t NuPlayer::HTTPLiveSource::getDuration(int64_t *durationUs) {
+ return mLiveSession->getDuration(durationUs);
+}
+
+status_t NuPlayer::HTTPLiveSource::seekTo(int64_t seekTimeUs) {
+ // We need to make sure we're not seeking until we have seen the very first
+ // PTS timestamp in the whole stream (from the beginning of the stream).
+ while (!mTSParser->PTSTimeDeltaEstablished() && feedMoreTSData()) {
+ usleep(100000);
+ }
+
+ mLiveSession->seekTo(seekTimeUs);
+
+ return OK;
+}
+
+bool NuPlayer::HTTPLiveSource::isSeekable() {
+ return mLiveSession->isSeekable();
+}
+
} // namespace android