#include "audio/channel_receive_frame_transformer_delegate.h"
#include <cstdint>
#include <memory>
#include <string>
#include <utility>
#include "absl/types/optional.h"
#include "api/array_view.h"
#include "api/frame_transformer_interface.h"
#include "api/rtp_headers.h"
#include "api/scoped_refptr.h"
#include "api/sequence_checker.h"
#include "api/task_queue/task_queue_base.h"
#include "api/units/timestamp.h"
#include "rtc_base/buffer.h"
#include "rtc_base/string_encode.h"
namespace webrtc {
class TransformableIncomingAudioFrame
: public TransformableAudioFrameInterface { … };
ChannelReceiveFrameTransformerDelegate::ChannelReceiveFrameTransformerDelegate(
ReceiveFrameCallback receive_frame_callback,
rtc::scoped_refptr<FrameTransformerInterface> frame_transformer,
TaskQueueBase* channel_receive_thread)
: … { … }
void ChannelReceiveFrameTransformerDelegate::Init() { … }
void ChannelReceiveFrameTransformerDelegate::Reset() { … }
void ChannelReceiveFrameTransformerDelegate::Transform(
rtc::ArrayView<const uint8_t> packet,
const RTPHeader& header,
uint32_t ssrc,
const std::string& codec_mime_type,
Timestamp receive_time) { … }
void ChannelReceiveFrameTransformerDelegate::OnTransformedFrame(
std::unique_ptr<TransformableFrameInterface> frame) { … }
void ChannelReceiveFrameTransformerDelegate::StartShortCircuiting() { … }
void ChannelReceiveFrameTransformerDelegate::ReceiveFrame(
std::unique_ptr<TransformableFrameInterface> frame) const { … }
rtc::scoped_refptr<FrameTransformerInterface>
ChannelReceiveFrameTransformerDelegate::FrameTransformer() { … }
std::unique_ptr<TransformableAudioFrameInterface> CloneReceiverAudioFrame(
TransformableAudioFrameInterface* original) { … }
}