Loading media/codec2/sfplugin/CCodecBufferChannel.cpp +2 −1 Original line number Diff line number Diff line Loading @@ -1586,7 +1586,8 @@ status_t CCodecBufferChannel::start( watcher->inputDelay(inputDelayValue) .pipelineDelay(pipelineDelayValue) .outputDelay(outputDelayValue) .smoothnessFactor(kSmoothnessFactor); .smoothnessFactor(kSmoothnessFactor) .tunneled(mTunneled); watcher->flush(); } Loading media/codec2/sfplugin/PipelineWatcher.cpp +12 −2 Original line number Diff line number Diff line Loading @@ -45,6 +45,11 @@ PipelineWatcher &PipelineWatcher::smoothnessFactor(uint32_t value) { return *this; } PipelineWatcher &PipelineWatcher::tunneled(bool value) { mTunneled = value; return *this; } void PipelineWatcher::onWorkQueued( uint64_t frameIndex, std::vector<std::shared_ptr<C2Buffer>> &&buffers, Loading Loading @@ -87,8 +92,13 @@ void PipelineWatcher::onWorkDone(uint64_t frameIndex) { ALOGV("onWorkDone(frameIndex=%llu)", (unsigned long long)frameIndex); auto it = mFramesInPipeline.find(frameIndex); if (it == mFramesInPipeline.end()) { if (!mTunneled) { ALOGD("onWorkDone: frameIndex not found (%llu); ignored", (unsigned long long)frameIndex); } else { ALOGV("onWorkDone: frameIndex not found (%llu); ignored", (unsigned long long)frameIndex); } return; } (void)mFramesInPipeline.erase(it); Loading media/codec2/sfplugin/PipelineWatcher.h +9 −1 Original line number Diff line number Diff line Loading @@ -37,7 +37,8 @@ public: : mInputDelay(0), mPipelineDelay(0), mOutputDelay(0), mSmoothnessFactor(0) {} mSmoothnessFactor(0), mTunneled(false) {} ~PipelineWatcher() = default; /** Loading @@ -64,6 +65,12 @@ public: */ PipelineWatcher &smoothnessFactor(uint32_t value); /** * \param value the new tunneled value * \return this object */ PipelineWatcher &tunneled(bool value); /** * Client queued a work item to the component. * Loading Loading @@ -122,6 +129,7 @@ private: uint32_t mPipelineDelay; uint32_t mOutputDelay; uint32_t mSmoothnessFactor; bool mTunneled; struct Frame { Frame(std::vector<std::shared_ptr<C2Buffer>> &&b, Loading Loading
media/codec2/sfplugin/CCodecBufferChannel.cpp +2 −1 Original line number Diff line number Diff line Loading @@ -1586,7 +1586,8 @@ status_t CCodecBufferChannel::start( watcher->inputDelay(inputDelayValue) .pipelineDelay(pipelineDelayValue) .outputDelay(outputDelayValue) .smoothnessFactor(kSmoothnessFactor); .smoothnessFactor(kSmoothnessFactor) .tunneled(mTunneled); watcher->flush(); } Loading
media/codec2/sfplugin/PipelineWatcher.cpp +12 −2 Original line number Diff line number Diff line Loading @@ -45,6 +45,11 @@ PipelineWatcher &PipelineWatcher::smoothnessFactor(uint32_t value) { return *this; } PipelineWatcher &PipelineWatcher::tunneled(bool value) { mTunneled = value; return *this; } void PipelineWatcher::onWorkQueued( uint64_t frameIndex, std::vector<std::shared_ptr<C2Buffer>> &&buffers, Loading Loading @@ -87,8 +92,13 @@ void PipelineWatcher::onWorkDone(uint64_t frameIndex) { ALOGV("onWorkDone(frameIndex=%llu)", (unsigned long long)frameIndex); auto it = mFramesInPipeline.find(frameIndex); if (it == mFramesInPipeline.end()) { if (!mTunneled) { ALOGD("onWorkDone: frameIndex not found (%llu); ignored", (unsigned long long)frameIndex); } else { ALOGV("onWorkDone: frameIndex not found (%llu); ignored", (unsigned long long)frameIndex); } return; } (void)mFramesInPipeline.erase(it); Loading
media/codec2/sfplugin/PipelineWatcher.h +9 −1 Original line number Diff line number Diff line Loading @@ -37,7 +37,8 @@ public: : mInputDelay(0), mPipelineDelay(0), mOutputDelay(0), mSmoothnessFactor(0) {} mSmoothnessFactor(0), mTunneled(false) {} ~PipelineWatcher() = default; /** Loading @@ -64,6 +65,12 @@ public: */ PipelineWatcher &smoothnessFactor(uint32_t value); /** * \param value the new tunneled value * \return this object */ PipelineWatcher &tunneled(bool value); /** * Client queued a work item to the component. * Loading Loading @@ -122,6 +129,7 @@ private: uint32_t mPipelineDelay; uint32_t mOutputDelay; uint32_t mSmoothnessFactor; bool mTunneled; struct Frame { Frame(std::vector<std::shared_ptr<C2Buffer>> &&b, Loading