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; }