summaryrefslogtreecommitdiffstats
path: root/third_party/libwebrtc/audio/channel_receive_frame_transformer_delegate.h
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/libwebrtc/audio/channel_receive_frame_transformer_delegate.h')
-rw-r--r--third_party/libwebrtc/audio/channel_receive_frame_transformer_delegate.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/third_party/libwebrtc/audio/channel_receive_frame_transformer_delegate.h b/third_party/libwebrtc/audio/channel_receive_frame_transformer_delegate.h
index 04ad7c4695..37ff75c2e9 100644
--- a/third_party/libwebrtc/audio/channel_receive_frame_transformer_delegate.h
+++ b/third_party/libwebrtc/audio/channel_receive_frame_transformer_delegate.h
@@ -12,6 +12,7 @@
#define AUDIO_CHANNEL_RECEIVE_FRAME_TRANSFORMER_DELEGATE_H_
#include <memory>
+#include <string>
#include "api/frame_transformer_interface.h"
#include "api/sequence_checker.h"
@@ -48,16 +49,21 @@ class ChannelReceiveFrameTransformerDelegate : public TransformedFrameCallback {
// the frame asynchronously.
void Transform(rtc::ArrayView<const uint8_t> packet,
const RTPHeader& header,
- uint32_t ssrc);
+ uint32_t ssrc,
+ const std::string& codec_mime_type);
// Implements TransformedFrameCallback. Can be called on any thread.
void OnTransformedFrame(
std::unique_ptr<TransformableFrameInterface> frame) override;
+ void StartShortCircuiting() override;
+
// Delegates the call to ChannelReceive::OnReceivedPayloadData on the
// `channel_receive_thread_`, by calling `receive_frame_callback_`.
void ReceiveFrame(std::unique_ptr<TransformableFrameInterface> frame) const;
+ rtc::scoped_refptr<FrameTransformerInterface> FrameTransformer();
+
protected:
~ChannelReceiveFrameTransformerDelegate() override = default;
@@ -68,6 +74,7 @@ class ChannelReceiveFrameTransformerDelegate : public TransformedFrameCallback {
rtc::scoped_refptr<FrameTransformerInterface> frame_transformer_
RTC_GUARDED_BY(sequence_checker_);
TaskQueueBase* const channel_receive_thread_;
+ bool short_circuit_ RTC_GUARDED_BY(sequence_checker_) = false;
};
} // namespace webrtc