am b83e7ca1: Merge "Fix pause at end of movie." into jb-dev

* commit 'b83e7ca14ab7241c1bbfb50dd6d97edf160f2b74':
  Fix pause at end of movie.
This commit is contained in:
Fred Gylys-Colwell
2012-05-31 16:38:21 -07:00
committed by Android Git Automerger
4 changed files with 35 additions and 12 deletions

View File

@@ -36,6 +36,7 @@ WVMMediaSource::WVMMediaSource(WVSession *session, WVEsSelector esSelector,
mNewSegment(false),
mCryptoInitialized(false),
mGroup(NULL),
mKeyTime(0),
mDts(0),
mPts(0)
{
@@ -264,7 +265,6 @@ status_t WVMMediaSource::read(MediaBuffer **buffer, const ReadOptions *options)
size_t bytesRead;
bool auEnd;
size_t offset = 0;
int64_t keyTime;
bool syncFrame;
int retryCount = 0;
@@ -339,9 +339,9 @@ status_t WVMMediaSource::read(MediaBuffer **buffer, const ReadOptions *options)
}
#define PCR_HZ 90000
keyTime = (int64_t)mPts * 1000000 / PCR_HZ;
mKeyTime = (int64_t)mPts * 1000000 / PCR_HZ;
if (seekNextSync && ((keyTime < seekTimeUs) || !syncFrame)) {
if (seekNextSync && ((mKeyTime < seekTimeUs) || !syncFrame)) {
// drop frames up to next sync if requested
usleep(10000);
#ifdef REQUIRE_SECURE_BUFFERS
@@ -381,7 +381,7 @@ status_t WVMMediaSource::read(MediaBuffer **buffer, const ReadOptions *options)
}
mediaBuf->meta_data()->clear();
mediaBuf->meta_data()->setInt64(kKeyTime, keyTime);
mediaBuf->meta_data()->setInt64(kKeyTime, mKeyTime);
mediaBuf->set_range(0, bytesRead + offset);
@@ -415,7 +415,7 @@ status_t WVMMediaSource::read(MediaBuffer **buffer, const ReadOptions *options)
#if 0
ALOGD("[%p] %s packet length=%d kKeyTime=%lld %s\n", mediaBuf,
(mESSelector == WV_EsSelector_Video ? "video" : "audio"),
bytesRead + offset, keyTime, syncFrame ? "sync" : "");
bytesRead + offset, mKeyTime, syncFrame ? "sync" : "");
#endif
*buffer = mediaBuf;