Surface the SetMetadata() method so that Chromium can use it.

RTPVideoHeader is changed to non-const to allow modifying it. We want
to do this when implementing setMetadata() in JavaScript or when
refactoring clone() as "construct + set bytes + setMetadata".

Unblocks
https://chromium-review.googlesource.com/c/chromium/src/+/4164979.

Bug: webrtc:14709
Change-Id: I6089df9c03e9aa33feeb0830dd240dd456cb565e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290981
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39113}
diff --git a/api/frame_transformer_interface.h b/api/frame_transformer_interface.h
index 5efd3ea..fba09d5 100644
--- a/api/frame_transformer_interface.h
+++ b/api/frame_transformer_interface.h
@@ -62,6 +62,9 @@
   virtual std::vector<uint8_t> GetAdditionalData() const = 0;
 
   virtual const VideoFrameMetadata& GetMetadata() const = 0;
+  // TODO(https://crbug.com/webrtc/14709): Make pure virtual when Chromium MOCK
+  // has implemented this.
+  virtual void SetMetadata(const VideoFrameMetadata&) {}
 };
 
 // Extends the TransformableFrameInterface to expose audio-specific information.