Add method SetTimestamp in TransformableAudioFrameInterface
This change will make it possible to let us modify timestamp in
RTCEncodedAudioFrame.
Change-Id: I97e9571c258fd718d6c211014f1476ca46c78097
Bug: webrtc:14709
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/307501
Reviewed-by: Tony Herre <herre@google.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Palak Agarwal <agpalak@google.com>
Cr-Commit-Position: refs/heads/main@{#40238}
diff --git a/api/frame_transformer_interface.h b/api/frame_transformer_interface.h
index 2f7b139..bfe3b02 100644
--- a/api/frame_transformer_interface.h
+++ b/api/frame_transformer_interface.h
@@ -72,6 +72,7 @@
// information in the header as needed, for example to compile the list of
// csrcs.
virtual const RTPHeader& GetHeader() const = 0;
+ virtual void SetRTPTimestamp(uint32_t timestamp) { RTC_CHECK_NOTREACHED(); }
virtual rtc::ArrayView<const uint32_t> GetContributingSources() const = 0;
};
diff --git a/api/test/mock_transformable_audio_frame.h b/api/test/mock_transformable_audio_frame.h
index 7a31ecd..c8d24f0 100644
--- a/api/test/mock_transformable_audio_frame.h
+++ b/api/test/mock_transformable_audio_frame.h
@@ -24,6 +24,7 @@
MOCK_METHOD(uint32_t, GetSsrc, (), (const, override));
MOCK_METHOD(uint32_t, GetTimestamp, (), (const, override));
MOCK_METHOD(RTPHeader&, GetHeader, (), (const override));
+ MOCK_METHOD(void, SetRTPTimestamp, (uint32_t), (override));
MOCK_METHOD(rtc::ArrayView<const uint32_t>,
GetContributingSources,
(),
diff --git a/audio/channel_receive_frame_transformer_delegate.cc b/audio/channel_receive_frame_transformer_delegate.cc
index e8ba6de..1cb08f0 100644
--- a/audio/channel_receive_frame_transformer_delegate.cc
+++ b/audio/channel_receive_frame_transformer_delegate.cc
@@ -33,6 +33,10 @@
payload_.SetData(data.data(), data.size());
}
+ void SetRTPTimestamp(uint32_t timestamp) override {
+ header_.timestamp = timestamp;
+ }
+
uint8_t GetPayloadType() const override { return header_.payloadType; }
uint32_t GetSsrc() const override { return ssrc_; }
uint32_t GetTimestamp() const override { return header_.timestamp; }