diff options
author | Andreas Huber <andih@google.com> | 2011-01-05 12:17:08 -0800 |
---|---|---|
committer | Andreas Huber <andih@google.com> | 2011-01-05 14:48:31 -0800 |
commit | 43c3e6ce02215ca99d506458f596cb1211639f29 (patch) | |
tree | 52a143f0a92abc9f5050f5c9f44e2e4c087848f3 /media/libmediaplayerservice/nuplayer/HTTPLiveSource.cpp | |
parent | 627baacc748c5e2ed68bdb256aea4d70fcfe9ce4 (diff) | |
download | frameworks_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.cpp | 20 |
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 |