Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d85929f6 authored by Andreas Huber's avatar Andreas Huber
Browse files

Instead of returning an error, return an invalid duration (-1 ms)

if no duration information was available. This prevents us from
entering ERROR state, effectively rendering the player instance useless.

Change-Id: I602d2661ae8b8633360306c0ea9208fb11e2bf17
related-to-bug: 8596285
parent da0dc0af
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -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;
        }
+3 −3
Original line number Diff line number Diff line
@@ -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;
}