CCodec: don't update pipeline watcher if using input surface
Bug: 127911646
Test: atest CtsMediaTestCases -- --module-arg CtsMediaTestCases:size:small
Change-Id: I0b562e518bc7991a6483fcbde8bfbc9f4774881d
diff --git a/media/codec2/sfplugin/CCodecBufferChannel.cpp b/media/codec2/sfplugin/CCodecBufferChannel.cpp
index fb6af93..9c30818 100644
--- a/media/codec2/sfplugin/CCodecBufferChannel.cpp
+++ b/media/codec2/sfplugin/CCodecBufferChannel.cpp
@@ -2593,9 +2593,9 @@
return false;
}
- if (work->worklets.size() != 1u
+ if (mInputSurface == nullptr && (work->worklets.size() != 1u
|| !work->worklets.front()
- || !(work->worklets.front()->output.flags & C2FrameData::FLAG_INCOMPLETE)) {
+ || !(work->worklets.front()->output.flags & C2FrameData::FLAG_INCOMPLETE))) {
mPipelineWatcher.lock()->onWorkDone(work->input.ordinal.frameIndex.peeku());
}