/* * @Author: DI JUNKUN * @Date: 2025-01-03 * Copyright (c) 2025 by DI JUNKUN, All Rights Reserved. */ #ifndef _AUDIO_CHANNEL_RECEIVE_H_ #define _AUDIO_CHANNEL_RECEIVE_H_ #include "ice_agent.h" #include "rtp_audio_receiver.h" #include "rtp_codec.h" class AudioChannelReceive { public: AudioChannelReceive(); AudioChannelReceive( std::shared_ptr ice_agent, std::shared_ptr ice_io_statistics, std::function on_receive_audio); ~AudioChannelReceive(); public: void Initialize(RtpPacket::PAYLOAD_TYPE payload_type); void Destroy(); int OnReceiveRtpPacket(const char *data, size_t size); private: std::shared_ptr ice_agent_ = nullptr; std::shared_ptr ice_io_statistics_ = nullptr; std::unique_ptr audio_rtp_codec_ = nullptr; std::unique_ptr rtp_audio_receiver_ = nullptr; std::function on_receive_audio_ = nullptr; }; #endif