Ignore channel's onInputBufferDone while using input surface
Test: Record a video while running logcat
Test: atest CtsMediaTestCases -- --module-arg CtsMediaTestCases:size:small
Bug: 132461433
Change-Id: I996fa9d469bc395afb2589c6c0d9e43c8f4b0d69
diff --git a/media/codec2/sfplugin/CCodecBufferChannel.cpp b/media/codec2/sfplugin/CCodecBufferChannel.cpp
index 715e78b..7669421 100644
--- a/media/codec2/sfplugin/CCodecBufferChannel.cpp
+++ b/media/codec2/sfplugin/CCodecBufferChannel.cpp
@@ -1203,6 +1203,9 @@
void CCodecBufferChannel::onInputBufferDone(
uint64_t frameIndex, size_t arrayIndex) {
+ if (mInputSurface) {
+ return;
+ }
std::shared_ptr<C2Buffer> buffer =
mPipelineWatcher.lock()->onInputBufferReleased(frameIndex, arrayIndex);
bool newInputSlotAvailable;