summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2013-04-15 15:16:02 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-04-15 15:16:02 +0000
commit5ce9c299a64a1568165fc66adb2cf68d89198a90 (patch)
treef4d92dfd643f05f5cd49e15eb530783eeeb13d5f
parent7455393a82bea99b88740365bc6612cbcac1a14a (diff)
parentd85929f6086e050d7cb33bfe0d29f339ad7279e5 (diff)
downloadframeworks_av-5ce9c299a64a1568165fc66adb2cf68d89198a90.zip
frameworks_av-5ce9c299a64a1568165fc66adb2cf68d89198a90.tar.gz
frameworks_av-5ce9c299a64a1568165fc66adb2cf68d89198a90.tar.bz2
Merge "Instead of returning an error, return an invalid duration (-1 ms)" into jb-mr2-dev
-rw-r--r--media/libmedia/mediaplayer.cpp7
-rw-r--r--media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp6
2 files changed, 10 insertions, 3 deletions
diff --git a/media/libmedia/mediaplayer.cpp b/media/libmedia/mediaplayer.cpp
index 3defec3..ecae3d3 100644
--- a/media/libmedia/mediaplayer.cpp
+++ b/media/libmedia/mediaplayer.cpp
@@ -398,6 +398,13 @@ status_t MediaPlayer::getDuration_l(int *msec)
if (mPlayer != 0 && isValidState) {
int durationMs;
status_t ret = mPlayer->getDuration(&durationMs);
+
+ if (ret != OK) {
+ // Do not enter error state just because no duration was available.
+ durationMs = -1;
+ ret = OK;
+ }
+
if (msec) {
*msec = durationMs;
}
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp
index 723af09..bdafb29 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp
+++ b/media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp
@@ -314,11 +314,11 @@ status_t NuPlayerDriver::getDuration(int *msec) {
Mutex::Autolock autoLock(mLock);
if (mDurationUs < 0) {
- *msec = 0;
- } else {
- *msec = (mDurationUs + 500ll) / 1000;
+ return UNKNOWN_ERROR;
}
+ *msec = (mDurationUs + 500ll) / 1000;
+
return OK;
}