#include "third_party/blink/renderer/modules/peerconnection/rtc_rtp_receiver_impl.h"
#include "base/check_op.h"
#include "base/feature_list.h"
#include "base/functional/bind.h"
#include "base/notreached.h"
#include "base/task/single_thread_task_runner.h"
#include "third_party/blink/renderer/platform/peerconnection/rtc_encoded_audio_stream_transformer.h"
#include "third_party/blink/renderer/platform/peerconnection/rtc_encoded_video_stream_transformer.h"
#include "third_party/blink/renderer/platform/peerconnection/rtc_rtp_sender_platform.h"
#include "third_party/blink/renderer/platform/peerconnection/rtc_rtp_source.h"
#include "third_party/blink/renderer/platform/peerconnection/rtc_stats.h"
#include "third_party/blink/renderer/platform/wtf/thread_safe_ref_counted.h"
#include "third_party/webrtc/api/scoped_refptr.h"
namespace blink {
BASE_FEATURE(…);
RtpReceiverState::RtpReceiverState(
scoped_refptr<base::SingleThreadTaskRunner> main_task_runner,
scoped_refptr<base::SingleThreadTaskRunner> signaling_task_runner,
scoped_refptr<webrtc::RtpReceiverInterface> webrtc_receiver,
std::unique_ptr<blink::WebRtcMediaStreamTrackAdapterMap::AdapterRef>
track_ref,
std::vector<std::string> stream_id)
: … { … }
RtpReceiverState::RtpReceiverState(RtpReceiverState&& other)
: … { … }
RtpReceiverState::~RtpReceiverState() { … }
RtpReceiverState& RtpReceiverState::operator=(RtpReceiverState&& other) { … }
bool RtpReceiverState::is_initialized() const { … }
void RtpReceiverState::Initialize() { … }
scoped_refptr<base::SingleThreadTaskRunner> RtpReceiverState::main_task_runner()
const { … }
scoped_refptr<base::SingleThreadTaskRunner>
RtpReceiverState::signaling_task_runner() const { … }
scoped_refptr<webrtc::RtpReceiverInterface> RtpReceiverState::webrtc_receiver()
const { … }
rtc::scoped_refptr<webrtc::DtlsTransportInterface>
RtpReceiverState::webrtc_dtls_transport() const { … }
webrtc::DtlsTransportInformation
RtpReceiverState::webrtc_dtls_transport_information() const { … }
const std::unique_ptr<blink::WebRtcMediaStreamTrackAdapterMap::AdapterRef>&
RtpReceiverState::track_ref() const { … }
const std::vector<std::string>& RtpReceiverState::stream_ids() const { … }
class RTCRtpReceiverImpl::RTCRtpReceiverInternal
: public WTF::ThreadSafeRefCounted<
RTCRtpReceiverImpl::RTCRtpReceiverInternal,
RTCRtpReceiverImpl::RTCRtpReceiverInternalTraits> { … };
struct RTCRtpReceiverImpl::RTCRtpReceiverInternalTraits { … };
uintptr_t RTCRtpReceiverImpl::getId(
const webrtc::RtpReceiverInterface* webrtc_rtp_receiver) { … }
RTCRtpReceiverImpl::RTCRtpReceiverImpl(
rtc::scoped_refptr<webrtc::PeerConnectionInterface> native_peer_connection,
RtpReceiverState state,
bool require_encoded_insertable_streams,
std::unique_ptr<webrtc::Metronome> decode_metronome)
: … { … }
RTCRtpReceiverImpl::RTCRtpReceiverImpl(const RTCRtpReceiverImpl& other)
: … { … }
RTCRtpReceiverImpl::~RTCRtpReceiverImpl() { … }
RTCRtpReceiverImpl& RTCRtpReceiverImpl::operator=(
const RTCRtpReceiverImpl& other) { … }
const RtpReceiverState& RTCRtpReceiverImpl::state() const { … }
void RTCRtpReceiverImpl::set_state(RtpReceiverState state) { … }
std::unique_ptr<RTCRtpReceiverPlatform> RTCRtpReceiverImpl::ShallowCopy()
const { … }
uintptr_t RTCRtpReceiverImpl::Id() const { … }
rtc::scoped_refptr<webrtc::DtlsTransportInterface>
RTCRtpReceiverImpl::DtlsTransport() { … }
webrtc::DtlsTransportInformation
RTCRtpReceiverImpl::DtlsTransportInformation() { … }
MediaStreamComponent* RTCRtpReceiverImpl::Track() const { … }
Vector<String> RTCRtpReceiverImpl::StreamIds() const { … }
Vector<std::unique_ptr<RTCRtpSource>> RTCRtpReceiverImpl::GetSources() { … }
void RTCRtpReceiverImpl::GetStats(RTCStatsReportCallback callback) { … }
std::unique_ptr<webrtc::RtpParameters> RTCRtpReceiverImpl::GetParameters()
const { … }
void RTCRtpReceiverImpl::SetJitterBufferMinimumDelay(
std::optional<double> delay_seconds) { … }
RTCEncodedAudioStreamTransformer*
RTCRtpReceiverImpl::GetEncodedAudioStreamTransformer() const { … }
RTCEncodedVideoStreamTransformer*
RTCRtpReceiverImpl::GetEncodedVideoStreamTransformer() const { … }
}