From fc260a18786eb54300b05a4bcb389b23d69fb9df Mon Sep 17 00:00:00 2001 From: Palak Agarwal Date: Wed, 7 Jun 2023 16:17:49 +0200 Subject: [PATCH] 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 Reviewed-by: Harald Alvestrand Commit-Queue: Palak Agarwal Cr-Commit-Position: refs/heads/main@{#40238} --- api/frame_transformer_interface.h | 1 + api/test/mock_transformable_audio_frame.h | 1 + audio/channel_receive_frame_transformer_delegate.cc | 4 ++++ 3 files changed, 6 insertions(+) diff --git a/api/frame_transformer_interface.h b/api/frame_transformer_interface.h index 2f7b139f9f..bfe3b0235b 100644 --- a/api/frame_transformer_interface.h +++ b/api/frame_transformer_interface.h @@ -72,6 +72,7 @@ class TransformableAudioFrameInterface : public TransformableFrameInterface { // 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 GetContributingSources() const = 0; }; diff --git a/api/test/mock_transformable_audio_frame.h b/api/test/mock_transformable_audio_frame.h index 7a31ecd5a0..c8d24f079d 100644 --- a/api/test/mock_transformable_audio_frame.h +++ b/api/test/mock_transformable_audio_frame.h @@ -24,6 +24,7 @@ class MockTransformableAudioFrame : public TransformableAudioFrameInterface { 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, GetContributingSources, (), diff --git a/audio/channel_receive_frame_transformer_delegate.cc b/audio/channel_receive_frame_transformer_delegate.cc index e8ba6ded47..1cb08f0680 100644 --- a/audio/channel_receive_frame_transformer_delegate.cc +++ b/audio/channel_receive_frame_transformer_delegate.cc @@ -33,6 +33,10 @@ class TransformableIncomingAudioFrame 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; }