Loading media/libmediaplayerservice/nuplayer/NuPlayer.cpp +2 −0 Original line number Diff line number Diff line Loading @@ -500,6 +500,8 @@ void NuPlayer::onMessageReceived(const sp<AMessage> &msg) { CHECK(msg->findInt32("audio", &audio)); ALOGV("renderer %s flush completed.", audio ? "audio" : "video"); } else if (what == Renderer::kWhatVideoRenderingStart) { notifyListener(MEDIA_INFO, MEDIA_INFO_RENDERING_START, 0); } break; } Loading media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp +12 −0 Original line number Diff line number Diff line Loading @@ -47,6 +47,7 @@ NuPlayer::Renderer::Renderer( mHasVideo(false), mSyncQueues(false), mPaused(false), mVideoRenderingStarted(false), mLastPositionUpdateUs(-1ll), mVideoLateByUs(0ll) { } Loading Loading @@ -387,9 +388,20 @@ void NuPlayer::Renderer::onDrainVideoQueue() { mVideoQueue.erase(mVideoQueue.begin()); entry = NULL; if (!mVideoRenderingStarted) { mVideoRenderingStarted = true; notifyVideoRenderingStart(); } notifyPosition(); } void NuPlayer::Renderer::notifyVideoRenderingStart() { sp<AMessage> notify = mNotify->dup(); notify->setInt32("what", kWhatVideoRenderingStart); notify->post(); } void NuPlayer::Renderer::notifyEOS(bool audio, status_t finalResult) { sp<AMessage> notify = mNotify->dup(); notify->setInt32("what", kWhatEOS); Loading media/libmediaplayerservice/nuplayer/NuPlayerRenderer.h +6 −3 Original line number Diff line number Diff line Loading @@ -48,6 +48,7 @@ struct NuPlayer::Renderer : public AHandler { kWhatEOS = 'eos ', kWhatFlushComplete = 'fluC', kWhatPosition = 'posi', kWhatVideoRenderingStart = 'vdrd', }; protected: Loading Loading @@ -99,6 +100,7 @@ private: bool mSyncQueues; bool mPaused; bool mVideoRenderingStarted; int64_t mLastPositionUpdateUs; int64_t mVideoLateByUs; Loading @@ -120,6 +122,7 @@ private: void notifyFlushComplete(bool audio); void notifyPosition(); void notifyVideoLateBy(int64_t lateByUs); void notifyVideoRenderingStart(); void flushQueue(List<QueueEntry> *queue); bool dropBufferWhileFlushing(bool audio, const sp<AMessage> &msg); Loading Loading
media/libmediaplayerservice/nuplayer/NuPlayer.cpp +2 −0 Original line number Diff line number Diff line Loading @@ -500,6 +500,8 @@ void NuPlayer::onMessageReceived(const sp<AMessage> &msg) { CHECK(msg->findInt32("audio", &audio)); ALOGV("renderer %s flush completed.", audio ? "audio" : "video"); } else if (what == Renderer::kWhatVideoRenderingStart) { notifyListener(MEDIA_INFO, MEDIA_INFO_RENDERING_START, 0); } break; } Loading
media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp +12 −0 Original line number Diff line number Diff line Loading @@ -47,6 +47,7 @@ NuPlayer::Renderer::Renderer( mHasVideo(false), mSyncQueues(false), mPaused(false), mVideoRenderingStarted(false), mLastPositionUpdateUs(-1ll), mVideoLateByUs(0ll) { } Loading Loading @@ -387,9 +388,20 @@ void NuPlayer::Renderer::onDrainVideoQueue() { mVideoQueue.erase(mVideoQueue.begin()); entry = NULL; if (!mVideoRenderingStarted) { mVideoRenderingStarted = true; notifyVideoRenderingStart(); } notifyPosition(); } void NuPlayer::Renderer::notifyVideoRenderingStart() { sp<AMessage> notify = mNotify->dup(); notify->setInt32("what", kWhatVideoRenderingStart); notify->post(); } void NuPlayer::Renderer::notifyEOS(bool audio, status_t finalResult) { sp<AMessage> notify = mNotify->dup(); notify->setInt32("what", kWhatEOS); Loading
media/libmediaplayerservice/nuplayer/NuPlayerRenderer.h +6 −3 Original line number Diff line number Diff line Loading @@ -48,6 +48,7 @@ struct NuPlayer::Renderer : public AHandler { kWhatEOS = 'eos ', kWhatFlushComplete = 'fluC', kWhatPosition = 'posi', kWhatVideoRenderingStart = 'vdrd', }; protected: Loading Loading @@ -99,6 +100,7 @@ private: bool mSyncQueues; bool mPaused; bool mVideoRenderingStarted; int64_t mLastPositionUpdateUs; int64_t mVideoLateByUs; Loading @@ -120,6 +122,7 @@ private: void notifyFlushComplete(bool audio); void notifyPosition(); void notifyVideoLateBy(int64_t lateByUs); void notifyVideoRenderingStart(); void flushQueue(List<QueueEntry> *queue); bool dropBufferWhileFlushing(bool audio, const sp<AMessage> &msg); Loading