Loading media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp +4 −1 Original line number Diff line number Diff line Loading @@ -132,6 +132,7 @@ NuPlayer::Renderer::Renderer( mMediaClock(mediaClock), mPlaybackSettings(AUDIO_PLAYBACK_RATE_DEFAULT), mAudioFirstAnchorTimeMediaUs(-1), mAudioAnchorTimeMediaUs(-1), mAnchorTimeMediaUs(-1), mAnchorNumFramesWritten(-1), mVideoLateByUs(0LL), Loading Loading @@ -433,6 +434,7 @@ void NuPlayer::Renderer::setAudioFirstAnchorTimeIfNeeded_l(int64_t mediaUs) { // Called on renderer looper. void NuPlayer::Renderer::clearAnchorTime() { mMediaClock->clearAnchor(); mAudioAnchorTimeMediaUs = -1; mAnchorTimeMediaUs = -1; mAnchorNumFramesWritten = -1; } Loading Loading @@ -1261,7 +1263,7 @@ void NuPlayer::Renderer::onNewAudioMediaTime(int64_t mediaTimeUs) { Mutex::Autolock autoLock(mLock); // TRICKY: vorbis decoder generates multiple frames with the same // timestamp, so only update on the first frame with a given timestamp if (mediaTimeUs == mAnchorTimeMediaUs) { if (mediaTimeUs == mAudioAnchorTimeMediaUs) { return; } setAudioFirstAnchorTimeIfNeeded_l(mediaTimeUs); Loading Loading @@ -1299,6 +1301,7 @@ void NuPlayer::Renderer::onNewAudioMediaTime(int64_t mediaTimeUs) { } } mAnchorNumFramesWritten = mNumFramesWritten; mAudioAnchorTimeMediaUs = mediaTimeUs; mAnchorTimeMediaUs = mediaTimeUs; } Loading media/libmediaplayerservice/nuplayer/include/nuplayer/NuPlayerRenderer.h +3 −0 Original line number Diff line number Diff line Loading @@ -177,6 +177,9 @@ private: float mVideoFpsHint; int64_t mAudioFirstAnchorTimeMediaUs; // previous audio anchor timestamp, in media time base. int64_t mAudioAnchorTimeMediaUs; // previous anchor timestamp (audio or video), in media time base. int64_t mAnchorTimeMediaUs; int64_t mAnchorNumFramesWritten; int64_t mVideoLateByUs; Loading Loading
media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp +4 −1 Original line number Diff line number Diff line Loading @@ -132,6 +132,7 @@ NuPlayer::Renderer::Renderer( mMediaClock(mediaClock), mPlaybackSettings(AUDIO_PLAYBACK_RATE_DEFAULT), mAudioFirstAnchorTimeMediaUs(-1), mAudioAnchorTimeMediaUs(-1), mAnchorTimeMediaUs(-1), mAnchorNumFramesWritten(-1), mVideoLateByUs(0LL), Loading Loading @@ -433,6 +434,7 @@ void NuPlayer::Renderer::setAudioFirstAnchorTimeIfNeeded_l(int64_t mediaUs) { // Called on renderer looper. void NuPlayer::Renderer::clearAnchorTime() { mMediaClock->clearAnchor(); mAudioAnchorTimeMediaUs = -1; mAnchorTimeMediaUs = -1; mAnchorNumFramesWritten = -1; } Loading Loading @@ -1261,7 +1263,7 @@ void NuPlayer::Renderer::onNewAudioMediaTime(int64_t mediaTimeUs) { Mutex::Autolock autoLock(mLock); // TRICKY: vorbis decoder generates multiple frames with the same // timestamp, so only update on the first frame with a given timestamp if (mediaTimeUs == mAnchorTimeMediaUs) { if (mediaTimeUs == mAudioAnchorTimeMediaUs) { return; } setAudioFirstAnchorTimeIfNeeded_l(mediaTimeUs); Loading Loading @@ -1299,6 +1301,7 @@ void NuPlayer::Renderer::onNewAudioMediaTime(int64_t mediaTimeUs) { } } mAnchorNumFramesWritten = mNumFramesWritten; mAudioAnchorTimeMediaUs = mediaTimeUs; mAnchorTimeMediaUs = mediaTimeUs; } Loading
media/libmediaplayerservice/nuplayer/include/nuplayer/NuPlayerRenderer.h +3 −0 Original line number Diff line number Diff line Loading @@ -177,6 +177,9 @@ private: float mVideoFpsHint; int64_t mAudioFirstAnchorTimeMediaUs; // previous audio anchor timestamp, in media time base. int64_t mAudioAnchorTimeMediaUs; // previous anchor timestamp (audio or video), in media time base. int64_t mAnchorTimeMediaUs; int64_t mAnchorNumFramesWritten; int64_t mVideoLateByUs; Loading