#include "audio/channel_send_frame_transformer_delegate.h"
#include <utility>
#include <vector>
namespace webrtc {
namespace {
IfaceFrameType;
IfaceFrameType InternalFrameTypeToInterfaceFrameType(
const AudioFrameType frame_type) { … }
AudioFrameType InterfaceFrameTypeToInternalFrameType(
const IfaceFrameType frame_type) { … }
}
class TransformableOutgoingAudioFrame
: public TransformableAudioFrameInterface { … };
ChannelSendFrameTransformerDelegate::ChannelSendFrameTransformerDelegate(
SendFrameCallback send_frame_callback,
rtc::scoped_refptr<FrameTransformerInterface> frame_transformer,
TaskQueueBase* encoder_queue)
: … { … }
void ChannelSendFrameTransformerDelegate::Init() { … }
void ChannelSendFrameTransformerDelegate::Reset() { … }
void ChannelSendFrameTransformerDelegate::Transform(
AudioFrameType frame_type,
uint8_t payload_type,
uint32_t rtp_timestamp,
const uint8_t* payload_data,
size_t payload_size,
int64_t absolute_capture_timestamp_ms,
uint32_t ssrc,
const std::string& codec_mimetype,
absl::optional<uint8_t> audio_level_dbov) { … }
void ChannelSendFrameTransformerDelegate::OnTransformedFrame(
std::unique_ptr<TransformableFrameInterface> frame) { … }
void ChannelSendFrameTransformerDelegate::StartShortCircuiting() { … }
void ChannelSendFrameTransformerDelegate::SendFrame(
std::unique_ptr<TransformableFrameInterface> frame) const { … }
std::unique_ptr<TransformableAudioFrameInterface> CloneSenderAudioFrame(
TransformableAudioFrameInterface* original) { … }
}