diff options
Diffstat (limited to 'media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp')
| -rw-r--r-- | media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp | 7 | 
1 files changed, 6 insertions, 1 deletions
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp index 2314d39..9a33eb5 100644 --- a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp +++ b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp @@ -102,6 +102,7 @@ NuPlayer::Renderer::Renderer(        mVideoLateByUs(0ll),        mHasAudio(false),        mHasVideo(false), +      mFoundAudioEOS(false),        mNotifyCompleteAudio(false),        mNotifyCompleteVideo(false),        mSyncQueues(false), @@ -311,7 +312,8 @@ void NuPlayer::Renderer::setVideoFrameRate(float fps) {  // Called on any threads.  status_t NuPlayer::Renderer::getCurrentPosition(int64_t *mediaUs) { -    return mMediaClock->getMediaTime(ALooper::GetNowUs(), mediaUs); +    return mMediaClock->getMediaTime( +            ALooper::GetNowUs(), mediaUs, (mHasAudio && mFoundAudioEOS));  }  void NuPlayer::Renderer::clearAudioFirstAnchorTime_l() { @@ -1145,6 +1147,9 @@ void NuPlayer::Renderer::notifyVideoRenderingStart() {  }  void NuPlayer::Renderer::notifyEOS(bool audio, status_t finalResult, int64_t delayUs) { +    if (audio) { +        mFoundAudioEOS = true; +    }      sp<AMessage> notify = mNotify->dup();      notify->setInt32("what", kWhatEOS);      notify->setInt32("audio", static_cast<int32_t>(audio));  | 
