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
commit474c6539e3592aece37616d0b39ef008b61260a0 (patch)
tree40d30d43701892049b3196efb88896eadbf5535d
parent1821b0a4eb7a78d2744801b1f863455fd384e283 (diff)
parent2070254f241f52cadb69bc2323f56df72704f1ca (diff)
downloadframeworks_av-474c6539e3592aece37616d0b39ef008b61260a0.zip
frameworks_av-474c6539e3592aece37616d0b39ef008b61260a0.tar.gz
frameworks_av-474c6539e3592aece37616d0b39ef008b61260a0.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;
}