C2VpxEnc: Handle empty input buffers with EOS

In case of empty input buffers with EOS set, signal EOS on output

Bug: 110053856
Test: cts -m CtsMediaTestCases -t android.media.cts.EncodeDecodeTest
Test: cts -m CtsMediaTestCases -t android.media.cts.VideoEncoderTest
Change-Id: If092542d46985eb8a60c4a746ad7cfffb3dfddf6
diff --git a/media/codecs/vpx/C2SoftVpxEnc.cpp b/media/codecs/vpx/C2SoftVpxEnc.cpp
index f26a348..591a21b 100644
--- a/media/codecs/vpx/C2SoftVpxEnc.cpp
+++ b/media/codecs/vpx/C2SoftVpxEnc.cpp
@@ -424,6 +424,13 @@
             work->result = C2_CORRUPTED;
             return;
         }
+    } else if (work->input.flags & C2FrameData::FLAG_END_OF_STREAM) {
+        ALOGV("Empty input Buffer with EOS");
+        work->worklets.front()->output.flags = C2FrameData::FLAG_END_OF_STREAM;
+        work->worklets.front()->output.buffers.clear();
+        work->worklets.front()->output.ordinal = work->input.ordinal;
+        work->workletsProcessed = 1u;
+        return;
     } else {
         ALOGE("Empty input Buffer");
         work->result = C2_BAD_VALUE;