Log pixel format metric for encoders using surface.

Send pixel format update from GraphicBufferSource to C2OMXNode. CCodec check pixel format with that in C2OMXNode while receiving kWorkDone.

Bug: 270518245
Test: manual

Merged-in: I3b425089bef72e66af69dd4b4fd28211ca41b223
Change-Id: I3b425089bef72e66af69dd4b4fd28211ca41b223
(cherry picked from commit 2a8d88348559a0d5e7232c2d5c507539d8db7675)
diff --git a/media/codec2/sfplugin/CCodec.cpp b/media/codec2/sfplugin/CCodec.cpp
index abfac8b..e2512dc 100644
--- a/media/codec2/sfplugin/CCodec.cpp
+++ b/media/codec2/sfplugin/CCodec.cpp
@@ -431,6 +431,10 @@
         return mNode->getDataspace();
     }
 
+    uint32_t getPixelFormat() override {
+        return mNode->getPixelFormat();
+    }
+
 private:
     sp<HGraphicBufferSource> mSource;
     sp<C2OMXNode> mNode;
@@ -2510,6 +2514,8 @@
                 uint32_t pf = PIXEL_FORMAT_UNKNOWN;
                 if (!config->mInputSurface) {
                     pf = mChannel->getBuffersPixelFormat(config->mDomain & Config::IS_ENCODER);
+                } else {
+                    pf = config->mInputSurface->getPixelFormat();
                 }
                 if (pf != PIXEL_FORMAT_UNKNOWN) {
                     mMetrics->setInt64(kCodecPixelFormat, pf);