diff options
author | Wei Jia <wjia@google.com> | 2014-12-10 17:31:52 -0800 |
---|---|---|
committer | Wei Jia <wjia@google.com> | 2014-12-12 14:34:50 -0800 |
commit | 895651b07fec30b0f9b0d2499599a179d95c9be4 (patch) | |
tree | bd1a9d42072c8db53dcd72aa3f7392f520b1f4fe /media | |
parent | 82a69ea8b090d57bff5e02774688b546a711bbb8 (diff) | |
download | frameworks_av-895651b07fec30b0f9b0d2499599a179d95c9be4.zip frameworks_av-895651b07fec30b0f9b0d2499599a179d95c9be4.tar.gz frameworks_av-895651b07fec30b0f9b0d2499599a179d95c9be4.tar.bz2 |
NuPlayer: send NOT_SEEKABLE media info to client when the source is not seekable.
LiveSession: return -1 for duration when it's not available.
Bug: 18599325
Change-Id: Iecd040f48750806f98d1799e2aaab2f90c6f3887
Diffstat (limited to 'media')
-rw-r--r-- | media/libmediaplayerservice/nuplayer/NuPlayer.cpp | 4 | ||||
-rw-r--r-- | media/libstagefright/httplive/LiveSession.cpp | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayer.cpp b/media/libmediaplayerservice/nuplayer/NuPlayer.cpp index d433a4d..82d0d5b 100644 --- a/media/libmediaplayerservice/nuplayer/NuPlayer.cpp +++ b/media/libmediaplayerservice/nuplayer/NuPlayer.cpp @@ -1667,6 +1667,10 @@ void NuPlayer::onSourceNotify(const sp<AMessage> &msg) { sp<NuPlayerDriver> driver = mDriver.promote(); if (driver != NULL) { + if ((flags & NuPlayer::Source::FLAG_CAN_SEEK) == 0) { + driver->notifyListener( + MEDIA_INFO, MEDIA_INFO_NOT_SEEKABLE, 0); + } driver->notifyFlagsChanged(flags); } diff --git a/media/libstagefright/httplive/LiveSession.cpp b/media/libstagefright/httplive/LiveSession.cpp index 5eb4652..0b18666 100644 --- a/media/libstagefright/httplive/LiveSession.cpp +++ b/media/libstagefright/httplive/LiveSession.cpp @@ -1109,11 +1109,11 @@ status_t LiveSession::onSeek(const sp<AMessage> &msg) { } status_t LiveSession::getDuration(int64_t *durationUs) const { - int64_t maxDurationUs = 0ll; + int64_t maxDurationUs = -1ll; for (size_t i = 0; i < mFetcherInfos.size(); ++i) { int64_t fetcherDurationUs = mFetcherInfos.valueAt(i).mDurationUs; - if (fetcherDurationUs >= 0ll && fetcherDurationUs > maxDurationUs) { + if (fetcherDurationUs > maxDurationUs) { maxDurationUs = fetcherDurationUs; } } |