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

Commit e686cc09 authored by Marco Nelissen's avatar Marco Nelissen Committed by Gerrit Code Review
Browse files

Merge "Don't fail read when "seeking" to current position"

parents 38c9d6cf 5d7c3eef
Loading
Loading
Loading
Loading
+11 −6
Original line number Diff line number Diff line
@@ -85,12 +85,6 @@ status_t MPEG2TSSource::read(
        MediaBuffer **out, const ReadOptions *options) {
    *out = NULL;

    int64_t seekTimeUs;
    ReadOptions::SeekMode seekMode;
    if (mSeekable && options && options->getSeekTo(&seekTimeUs, &seekMode)) {
        return ERROR_UNSUPPORTED;
    }

    status_t finalResult;
    while (!mImpl->hasBufferAvailable(&finalResult)) {
        if (finalResult != OK) {
@@ -103,6 +97,17 @@ status_t MPEG2TSSource::read(
        }
    }

    int64_t seekTimeUs;
    ReadOptions::SeekMode seekMode;
    if (mSeekable && options && options->getSeekTo(&seekTimeUs, &seekMode)) {
        // A seek was requested, but we don't actually support seeking and so can only "seek" to
        // the current position
        int64_t nextBufTimeUs;
        if (mImpl->nextBufferTime(&nextBufTimeUs) != OK || seekTimeUs != nextBufTimeUs) {
            return ERROR_UNSUPPORTED;
        }
    }

    return mImpl->read(out, options);
}