Loading media/libmediaplayer2/nuplayer2/NuPlayer2Renderer.cpp +17 −4 Original line number Diff line number Diff line Loading @@ -76,6 +76,10 @@ static const int64_t kMaxAllowedAudioSinkDelayUs = 1500000LL; static const int64_t kMinimumAudioClockUpdatePeriodUs = 20 /* msec */ * 1000; // Default video frame display duration when only video exists. // Used to set max media time in MediaClock. static const int64_t kDefaultVideoFrameIntervalUs = 100000LL; // static const NuPlayer2::Renderer::PcmInfo NuPlayer2::Renderer::AUDIO_PCMINFO_INITIALIZER = { AUDIO_CHANNEL_NONE, Loading Loading @@ -305,11 +309,11 @@ void NuPlayer2::Renderer::flush(bool audio, bool notifyComplete) { mNotifyCompleteVideo |= notifyComplete; ++mVideoQueueGeneration; ++mVideoDrainGeneration; mNextVideoTimeMediaUs = -1; } mMediaClock->clearAnchor(); mVideoLateByUs = 0; mNextVideoTimeMediaUs = -1; mSyncQueues = false; } Loading Loading @@ -1288,7 +1292,7 @@ void NuPlayer2::Renderer::postDrainVideoQueue() { mNextVideoTimeMediaUs = mediaTimeUs; if (!mHasAudio) { // smooth out videos >= 10fps mMediaClock->updateMaxTimeMedia(mediaTimeUs + 100000); mMediaClock->updateMaxTimeMedia(mediaTimeUs + kDefaultVideoFrameIntervalUs); } if (!mVideoSampleReceived || mediaTimeUs < mAudioFirstAnchorTimeMediaUs) { Loading Loading @@ -1355,7 +1359,7 @@ void NuPlayer2::Renderer::onDrainVideoQueue() { && mediaTimeUs > mLastAudioMediaTimeUs) { // If audio ends before video, video continues to drive media clock. // Also smooth out videos >= 10fps. mMediaClock->updateMaxTimeMedia(mediaTimeUs + 100000); mMediaClock->updateMaxTimeMedia(mediaTimeUs + kDefaultVideoFrameIntervalUs); } } } else { Loading Loading @@ -1430,7 +1434,8 @@ void NuPlayer2::Renderer::notifyEOS_l(bool audio, status_t finalResult, int64_t } } else { mMediaClock->updateAnchor( mNextVideoTimeMediaUs, nowUs, mNextVideoTimeMediaUs + 100000); mNextVideoTimeMediaUs, nowUs, mNextVideoTimeMediaUs + kDefaultVideoFrameIntervalUs); } } } Loading Loading @@ -1583,6 +1588,14 @@ void NuPlayer2::Renderer::onFlush(const sp<AMessage> &msg) { notifyComplete = mNotifyCompleteAudio; mNotifyCompleteAudio = false; mLastAudioMediaTimeUs = -1; mHasAudio = false; if (mNextVideoTimeMediaUs >= 0) { int64_t nowUs = ALooper::GetNowUs(); mMediaClock->updateAnchor( mNextVideoTimeMediaUs, nowUs, mNextVideoTimeMediaUs + kDefaultVideoFrameIntervalUs); } } else { notifyComplete = mNotifyCompleteVideo; mNotifyCompleteVideo = false; Loading media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp +17 −4 Original line number Diff line number Diff line Loading @@ -77,6 +77,10 @@ static const int64_t kMaxAllowedAudioSinkDelayUs = 1500000LL; static const int64_t kMinimumAudioClockUpdatePeriodUs = 20 /* msec */ * 1000; // Default video frame display duration when only video exists. // Used to set max media time in MediaClock. static const int64_t kDefaultVideoFrameIntervalUs = 100000LL; // static const NuPlayer::Renderer::PcmInfo NuPlayer::Renderer::AUDIO_PCMINFO_INITIALIZER = { AUDIO_CHANNEL_NONE, Loading Loading @@ -314,11 +318,11 @@ void NuPlayer::Renderer::flush(bool audio, bool notifyComplete) { mNotifyCompleteVideo |= notifyComplete; ++mVideoQueueGeneration; ++mVideoDrainGeneration; mNextVideoTimeMediaUs = -1; } mMediaClock->clearAnchor(); mVideoLateByUs = 0; mNextVideoTimeMediaUs = -1; mSyncQueues = false; } Loading Loading @@ -1302,7 +1306,7 @@ void NuPlayer::Renderer::postDrainVideoQueue() { mNextVideoTimeMediaUs = mediaTimeUs; if (!mHasAudio) { // smooth out videos >= 10fps mMediaClock->updateMaxTimeMedia(mediaTimeUs + 100000); mMediaClock->updateMaxTimeMedia(mediaTimeUs + kDefaultVideoFrameIntervalUs); } if (!mVideoSampleReceived || mediaTimeUs < mAudioFirstAnchorTimeMediaUs) { Loading Loading @@ -1369,7 +1373,7 @@ void NuPlayer::Renderer::onDrainVideoQueue() { && mediaTimeUs > mLastAudioMediaTimeUs) { // If audio ends before video, video continues to drive media clock. // Also smooth out videos >= 10fps. mMediaClock->updateMaxTimeMedia(mediaTimeUs + 100000); mMediaClock->updateMaxTimeMedia(mediaTimeUs + kDefaultVideoFrameIntervalUs); } } } else { Loading Loading @@ -1444,7 +1448,8 @@ void NuPlayer::Renderer::notifyEOS_l(bool audio, status_t finalResult, int64_t d } } else { mMediaClock->updateAnchor( mNextVideoTimeMediaUs, nowUs, mNextVideoTimeMediaUs + 100000); mNextVideoTimeMediaUs, nowUs, mNextVideoTimeMediaUs + kDefaultVideoFrameIntervalUs); } } } Loading Loading @@ -1597,6 +1602,14 @@ void NuPlayer::Renderer::onFlush(const sp<AMessage> &msg) { notifyComplete = mNotifyCompleteAudio; mNotifyCompleteAudio = false; mLastAudioMediaTimeUs = -1; mHasAudio = false; if (mNextVideoTimeMediaUs >= 0) { int64_t nowUs = ALooper::GetNowUs(); mMediaClock->updateAnchor( mNextVideoTimeMediaUs, nowUs, mNextVideoTimeMediaUs + kDefaultVideoFrameIntervalUs); } } else { notifyComplete = mNotifyCompleteVideo; mNotifyCompleteVideo = false; Loading Loading
media/libmediaplayer2/nuplayer2/NuPlayer2Renderer.cpp +17 −4 Original line number Diff line number Diff line Loading @@ -76,6 +76,10 @@ static const int64_t kMaxAllowedAudioSinkDelayUs = 1500000LL; static const int64_t kMinimumAudioClockUpdatePeriodUs = 20 /* msec */ * 1000; // Default video frame display duration when only video exists. // Used to set max media time in MediaClock. static const int64_t kDefaultVideoFrameIntervalUs = 100000LL; // static const NuPlayer2::Renderer::PcmInfo NuPlayer2::Renderer::AUDIO_PCMINFO_INITIALIZER = { AUDIO_CHANNEL_NONE, Loading Loading @@ -305,11 +309,11 @@ void NuPlayer2::Renderer::flush(bool audio, bool notifyComplete) { mNotifyCompleteVideo |= notifyComplete; ++mVideoQueueGeneration; ++mVideoDrainGeneration; mNextVideoTimeMediaUs = -1; } mMediaClock->clearAnchor(); mVideoLateByUs = 0; mNextVideoTimeMediaUs = -1; mSyncQueues = false; } Loading Loading @@ -1288,7 +1292,7 @@ void NuPlayer2::Renderer::postDrainVideoQueue() { mNextVideoTimeMediaUs = mediaTimeUs; if (!mHasAudio) { // smooth out videos >= 10fps mMediaClock->updateMaxTimeMedia(mediaTimeUs + 100000); mMediaClock->updateMaxTimeMedia(mediaTimeUs + kDefaultVideoFrameIntervalUs); } if (!mVideoSampleReceived || mediaTimeUs < mAudioFirstAnchorTimeMediaUs) { Loading Loading @@ -1355,7 +1359,7 @@ void NuPlayer2::Renderer::onDrainVideoQueue() { && mediaTimeUs > mLastAudioMediaTimeUs) { // If audio ends before video, video continues to drive media clock. // Also smooth out videos >= 10fps. mMediaClock->updateMaxTimeMedia(mediaTimeUs + 100000); mMediaClock->updateMaxTimeMedia(mediaTimeUs + kDefaultVideoFrameIntervalUs); } } } else { Loading Loading @@ -1430,7 +1434,8 @@ void NuPlayer2::Renderer::notifyEOS_l(bool audio, status_t finalResult, int64_t } } else { mMediaClock->updateAnchor( mNextVideoTimeMediaUs, nowUs, mNextVideoTimeMediaUs + 100000); mNextVideoTimeMediaUs, nowUs, mNextVideoTimeMediaUs + kDefaultVideoFrameIntervalUs); } } } Loading Loading @@ -1583,6 +1588,14 @@ void NuPlayer2::Renderer::onFlush(const sp<AMessage> &msg) { notifyComplete = mNotifyCompleteAudio; mNotifyCompleteAudio = false; mLastAudioMediaTimeUs = -1; mHasAudio = false; if (mNextVideoTimeMediaUs >= 0) { int64_t nowUs = ALooper::GetNowUs(); mMediaClock->updateAnchor( mNextVideoTimeMediaUs, nowUs, mNextVideoTimeMediaUs + kDefaultVideoFrameIntervalUs); } } else { notifyComplete = mNotifyCompleteVideo; mNotifyCompleteVideo = false; Loading
media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp +17 −4 Original line number Diff line number Diff line Loading @@ -77,6 +77,10 @@ static const int64_t kMaxAllowedAudioSinkDelayUs = 1500000LL; static const int64_t kMinimumAudioClockUpdatePeriodUs = 20 /* msec */ * 1000; // Default video frame display duration when only video exists. // Used to set max media time in MediaClock. static const int64_t kDefaultVideoFrameIntervalUs = 100000LL; // static const NuPlayer::Renderer::PcmInfo NuPlayer::Renderer::AUDIO_PCMINFO_INITIALIZER = { AUDIO_CHANNEL_NONE, Loading Loading @@ -314,11 +318,11 @@ void NuPlayer::Renderer::flush(bool audio, bool notifyComplete) { mNotifyCompleteVideo |= notifyComplete; ++mVideoQueueGeneration; ++mVideoDrainGeneration; mNextVideoTimeMediaUs = -1; } mMediaClock->clearAnchor(); mVideoLateByUs = 0; mNextVideoTimeMediaUs = -1; mSyncQueues = false; } Loading Loading @@ -1302,7 +1306,7 @@ void NuPlayer::Renderer::postDrainVideoQueue() { mNextVideoTimeMediaUs = mediaTimeUs; if (!mHasAudio) { // smooth out videos >= 10fps mMediaClock->updateMaxTimeMedia(mediaTimeUs + 100000); mMediaClock->updateMaxTimeMedia(mediaTimeUs + kDefaultVideoFrameIntervalUs); } if (!mVideoSampleReceived || mediaTimeUs < mAudioFirstAnchorTimeMediaUs) { Loading Loading @@ -1369,7 +1373,7 @@ void NuPlayer::Renderer::onDrainVideoQueue() { && mediaTimeUs > mLastAudioMediaTimeUs) { // If audio ends before video, video continues to drive media clock. // Also smooth out videos >= 10fps. mMediaClock->updateMaxTimeMedia(mediaTimeUs + 100000); mMediaClock->updateMaxTimeMedia(mediaTimeUs + kDefaultVideoFrameIntervalUs); } } } else { Loading Loading @@ -1444,7 +1448,8 @@ void NuPlayer::Renderer::notifyEOS_l(bool audio, status_t finalResult, int64_t d } } else { mMediaClock->updateAnchor( mNextVideoTimeMediaUs, nowUs, mNextVideoTimeMediaUs + 100000); mNextVideoTimeMediaUs, nowUs, mNextVideoTimeMediaUs + kDefaultVideoFrameIntervalUs); } } } Loading Loading @@ -1597,6 +1602,14 @@ void NuPlayer::Renderer::onFlush(const sp<AMessage> &msg) { notifyComplete = mNotifyCompleteAudio; mNotifyCompleteAudio = false; mLastAudioMediaTimeUs = -1; mHasAudio = false; if (mNextVideoTimeMediaUs >= 0) { int64_t nowUs = ALooper::GetNowUs(); mMediaClock->updateAnchor( mNextVideoTimeMediaUs, nowUs, mNextVideoTimeMediaUs + kDefaultVideoFrameIntervalUs); } } else { notifyComplete = mNotifyCompleteVideo; mNotifyCompleteVideo = false; Loading