diff options
author | Marco Nelissen <marcone@google.com> | 2015-04-09 19:57:44 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2015-04-09 19:57:44 +0000 |
commit | fdbafc0728380645ee2194e2ccfe72b12c65fccf (patch) | |
tree | 60253b6cc470543d58a7fa6982cacb5f39d9b2ca /media/libstagefright/mpeg2ts | |
parent | 8910d4af8b55adbdd30325b1d29fb38aa59c045e (diff) | |
parent | da589e3d95e84e28387a5b1aa613730bd205b6ba (diff) | |
download | frameworks_av-fdbafc0728380645ee2194e2ccfe72b12c65fccf.zip frameworks_av-fdbafc0728380645ee2194e2ccfe72b12c65fccf.tar.gz frameworks_av-fdbafc0728380645ee2194e2ccfe72b12c65fccf.tar.bz2 |
am da589e3d: am fc33bb3f: am e686cc09: Merge "Don\'t fail read when "seeking" to current position"
* commit 'da589e3d95e84e28387a5b1aa613730bd205b6ba':
Don't fail read when "seeking" to current position
Diffstat (limited to 'media/libstagefright/mpeg2ts')
-rw-r--r-- | media/libstagefright/mpeg2ts/MPEG2TSExtractor.cpp | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/media/libstagefright/mpeg2ts/MPEG2TSExtractor.cpp b/media/libstagefright/mpeg2ts/MPEG2TSExtractor.cpp index 1f43d6d..33cfd1d 100644 --- a/media/libstagefright/mpeg2ts/MPEG2TSExtractor.cpp +++ b/media/libstagefright/mpeg2ts/MPEG2TSExtractor.cpp @@ -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); } |