Transform received audio frames in ChannelReceive.

This change is part of the implementation of the Insertable Streams Web
API: https://github.com/alvestrand/webrtc-media-streams/blob/master/explainer.md

Design doc for WebRTC library changes:
http://doc/1eiLkjNUkRy2FssCPLUp6eH08BZuXXoHfbbBP1ZN7EVk

Bug: webrtc:11380
No-Try: True
Change-Id: I1a7ef9fd8130936176b5a4f78ad835cba52666d0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171873
Commit-Queue: Marina Ciocea <marinaciocea@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Per Ã…hgren <peah@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30961}
diff --git a/api/frame_transformer_interface.h b/api/frame_transformer_interface.h
index 615c974..8f772fe 100644
--- a/api/frame_transformer_interface.h
+++ b/api/frame_transformer_interface.h
@@ -50,6 +50,17 @@
   virtual std::vector<uint8_t> GetAdditionalData() const = 0;
 };
 
+// Extends the TransformableFrameInterface to expose audio-specific information.
+class TransformableAudioFrameInterface : public TransformableFrameInterface {
+ public:
+  virtual ~TransformableAudioFrameInterface() = default;
+
+  // Exposes the frame header, enabling the interface clients to use the
+  // information in the header as needed, for example to compile the list of
+  // csrcs.
+  virtual const RTPHeader& GetHeader() const = 0;
+};
+
 // Objects implement this interface to be notified with the transformed frame.
 class TransformedFrameCallback : public rtc::RefCountInterface {
  public: