Remove transitional shim classes
Bug: webrtc:13931 Change-Id: Iaeb0b892aca4b4d64d13a025adc7564e572e0f26 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/307940 Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Commit-Queue: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/main@{#40232}
This commit is contained in:
parent
ade07ca45e
commit
847208e9d6
@ -388,455 +388,6 @@ class VoiceMediaChannel : public MediaChannel,
|
||||
}
|
||||
};
|
||||
|
||||
// The externally exposed objects that support the Send and Receive interfaces.
|
||||
// These dispatch their functions to the underlying MediaChannel objects.
|
||||
|
||||
class VoiceMediaSendChannel : public VoiceMediaSendChannelInterface {
|
||||
public:
|
||||
explicit VoiceMediaSendChannel(VoiceMediaChannel* impl) : impl_(impl) {}
|
||||
virtual ~VoiceMediaSendChannel() {}
|
||||
VoiceMediaSendChannelInterface* AsVoiceSendChannel() override { return this; }
|
||||
VideoMediaSendChannelInterface* AsVideoSendChannel() override {
|
||||
RTC_CHECK_NOTREACHED();
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
// Implementation of MediaBaseChannelInterface
|
||||
cricket::MediaType media_type() const override { return MEDIA_TYPE_AUDIO; }
|
||||
void OnPacketSent(const rtc::SentPacket& sent_packet) override {
|
||||
impl()->OnPacketSent(sent_packet);
|
||||
}
|
||||
void OnReadyToSend(bool ready) override { impl()->OnReadyToSend(ready); }
|
||||
void OnNetworkRouteChanged(absl::string_view transport_name,
|
||||
const rtc::NetworkRoute& network_route) override {
|
||||
impl()->OnNetworkRouteChanged(transport_name, network_route);
|
||||
}
|
||||
void SetExtmapAllowMixed(bool extmap_allow_mixed) override {
|
||||
impl()->SetExtmapAllowMixed(extmap_allow_mixed);
|
||||
}
|
||||
bool ExtmapAllowMixed() const override { return impl()->ExtmapAllowMixed(); }
|
||||
void SetInterface(MediaChannelNetworkInterface* iface) override {
|
||||
return impl()->SetInterface(iface);
|
||||
}
|
||||
bool HasNetworkInterface() const override {
|
||||
return impl()->HasNetworkInterface();
|
||||
}
|
||||
// Implementation of MediaSendChannelInterface
|
||||
bool AddSendStream(const StreamParams& sp) override {
|
||||
return impl()->AddSendStream(sp);
|
||||
}
|
||||
bool RemoveSendStream(uint32_t ssrc) override {
|
||||
return impl()->RemoveSendStream(ssrc);
|
||||
}
|
||||
void SetFrameEncryptor(uint32_t ssrc,
|
||||
rtc::scoped_refptr<webrtc::FrameEncryptorInterface>
|
||||
frame_encryptor) override {
|
||||
impl()->SetFrameEncryptor(ssrc, frame_encryptor);
|
||||
}
|
||||
webrtc::RTCError SetRtpSendParameters(
|
||||
uint32_t ssrc,
|
||||
const webrtc::RtpParameters& parameters,
|
||||
webrtc::SetParametersCallback callback = nullptr) override {
|
||||
return impl()->SetRtpSendParameters(ssrc, parameters, std::move(callback));
|
||||
}
|
||||
|
||||
void SetEncoderToPacketizerFrameTransformer(
|
||||
uint32_t ssrc,
|
||||
rtc::scoped_refptr<webrtc::FrameTransformerInterface> frame_transformer)
|
||||
override {
|
||||
return impl()->SetEncoderToPacketizerFrameTransformer(ssrc,
|
||||
frame_transformer);
|
||||
}
|
||||
void SetEncoderSelector(uint32_t ssrc,
|
||||
webrtc::VideoEncoderFactory::EncoderSelectorInterface*
|
||||
encoder_selector) override {
|
||||
impl()->SetEncoderSelector(ssrc, encoder_selector);
|
||||
}
|
||||
webrtc::RtpParameters GetRtpSendParameters(uint32_t ssrc) const override {
|
||||
return impl()->GetRtpSendParameters(ssrc);
|
||||
}
|
||||
void SetSsrcListChangedCallback(
|
||||
absl::AnyInvocable<void(const std::set<uint32_t>&)> callback) override {
|
||||
impl()->SetSsrcListChangedCallback(std::move(callback));
|
||||
}
|
||||
// Implementation of VoiceMediaSendChannel
|
||||
bool SetSendParameters(const AudioSendParameters& params) override {
|
||||
return impl()->SetSendParameters(params);
|
||||
}
|
||||
void SetSend(bool send) override { return impl()->SetSend(send); }
|
||||
bool SetAudioSend(uint32_t ssrc,
|
||||
bool enable,
|
||||
const AudioOptions* options,
|
||||
AudioSource* source) override {
|
||||
return impl()->SetAudioSend(ssrc, enable, options, source);
|
||||
}
|
||||
bool CanInsertDtmf() override { return impl()->CanInsertDtmf(); }
|
||||
bool InsertDtmf(uint32_t ssrc, int event, int duration) override {
|
||||
return impl()->InsertDtmf(ssrc, event, duration);
|
||||
}
|
||||
bool GetStats(VoiceMediaSendInfo* info) override {
|
||||
return impl_->GetSendStats(info);
|
||||
}
|
||||
bool SenderNackEnabled() const override { return impl_->SenderNackEnabled(); }
|
||||
bool SenderNonSenderRttEnabled() const override {
|
||||
return impl_->SenderNonSenderRttEnabled();
|
||||
}
|
||||
bool SendCodecHasNack() const override { return impl()->SendCodecHasNack(); }
|
||||
void SetSendCodecChangedCallback(
|
||||
absl::AnyInvocable<void()> callback) override {
|
||||
impl()->SetSendCodecChangedCallback(std::move(callback));
|
||||
}
|
||||
MediaChannel* ImplForTesting() override { return impl_; }
|
||||
|
||||
private:
|
||||
VoiceMediaSendChannelInterface* impl() { return impl_; }
|
||||
const VoiceMediaSendChannelInterface* impl() const { return impl_; }
|
||||
VoiceMediaChannel* impl_;
|
||||
};
|
||||
|
||||
class VoiceMediaReceiveChannel : public VoiceMediaReceiveChannelInterface {
|
||||
public:
|
||||
explicit VoiceMediaReceiveChannel(VoiceMediaChannel* impl) : impl_(impl) {}
|
||||
virtual ~VoiceMediaReceiveChannel() {}
|
||||
|
||||
VoiceMediaReceiveChannelInterface* AsVoiceReceiveChannel() override {
|
||||
return this;
|
||||
}
|
||||
VideoMediaReceiveChannelInterface* AsVideoReceiveChannel() override {
|
||||
RTC_DCHECK_NOTREACHED();
|
||||
return nullptr;
|
||||
}
|
||||
// Implementation of MediaBaseChannelInterface
|
||||
cricket::MediaType media_type() const override { return MEDIA_TYPE_AUDIO; }
|
||||
void OnPacketReceived(const webrtc::RtpPacketReceived& packet) override {
|
||||
impl()->OnPacketReceived(packet);
|
||||
}
|
||||
void SetInterface(MediaChannelNetworkInterface* iface) override {
|
||||
return impl()->SetInterface(iface);
|
||||
}
|
||||
// Implementation of Delayable
|
||||
bool SetBaseMinimumPlayoutDelayMs(uint32_t ssrc, int delay_ms) override {
|
||||
return impl()->SetBaseMinimumPlayoutDelayMs(ssrc, delay_ms);
|
||||
}
|
||||
absl::optional<int> GetBaseMinimumPlayoutDelayMs(
|
||||
uint32_t ssrc) const override {
|
||||
return impl()->GetBaseMinimumPlayoutDelayMs(ssrc);
|
||||
}
|
||||
// Implementation of MediaReceiveChannelInterface
|
||||
bool AddRecvStream(const StreamParams& sp) override {
|
||||
return impl()->AddRecvStream(sp);
|
||||
}
|
||||
bool RemoveRecvStream(uint32_t ssrc) override {
|
||||
return impl()->RemoveRecvStream(ssrc);
|
||||
}
|
||||
void ResetUnsignaledRecvStream() override {
|
||||
return impl()->ResetUnsignaledRecvStream();
|
||||
}
|
||||
void ChooseReceiverReportSsrc(const std::set<uint32_t>& choices) override {
|
||||
return impl()->ChooseReceiverReportSsrc(choices);
|
||||
}
|
||||
absl::optional<uint32_t> GetUnsignaledSsrc() const override {
|
||||
return impl()->GetUnsignaledSsrc();
|
||||
}
|
||||
void OnDemuxerCriteriaUpdatePending() override {
|
||||
impl()->OnDemuxerCriteriaUpdatePending();
|
||||
}
|
||||
void OnDemuxerCriteriaUpdateComplete() override {
|
||||
impl()->OnDemuxerCriteriaUpdateComplete();
|
||||
}
|
||||
void SetFrameDecryptor(uint32_t ssrc,
|
||||
rtc::scoped_refptr<webrtc::FrameDecryptorInterface>
|
||||
frame_decryptor) override {
|
||||
impl()->SetFrameDecryptor(ssrc, frame_decryptor);
|
||||
}
|
||||
void SetDepacketizerToDecoderFrameTransformer(
|
||||
uint32_t ssrc,
|
||||
rtc::scoped_refptr<webrtc::FrameTransformerInterface> frame_transformer)
|
||||
override {
|
||||
impl()->SetDepacketizerToDecoderFrameTransformer(ssrc, frame_transformer);
|
||||
}
|
||||
// Implementation of VoiceMediaReceiveChannelInterface
|
||||
bool SetRecvParameters(const AudioRecvParameters& params) override {
|
||||
return impl()->SetRecvParameters(params);
|
||||
}
|
||||
webrtc::RtpParameters GetRtpReceiveParameters(uint32_t ssrc) const override {
|
||||
return impl()->GetRtpReceiveParameters(ssrc);
|
||||
}
|
||||
std::vector<webrtc::RtpSource> GetSources(uint32_t ssrc) const override {
|
||||
return impl()->GetSources(ssrc);
|
||||
}
|
||||
webrtc::RtpParameters GetDefaultRtpReceiveParameters() const override {
|
||||
return impl()->GetDefaultRtpReceiveParameters();
|
||||
}
|
||||
void SetPlayout(bool playout) override { return impl()->SetPlayout(playout); }
|
||||
bool SetOutputVolume(uint32_t ssrc, double volume) override {
|
||||
return impl()->SetOutputVolume(ssrc, volume);
|
||||
}
|
||||
bool SetDefaultOutputVolume(double volume) override {
|
||||
return impl()->SetDefaultOutputVolume(volume);
|
||||
}
|
||||
void SetRawAudioSink(
|
||||
uint32_t ssrc,
|
||||
std::unique_ptr<webrtc::AudioSinkInterface> sink) override {
|
||||
return impl()->SetRawAudioSink(ssrc, std::move(sink));
|
||||
}
|
||||
void SetDefaultRawAudioSink(
|
||||
std::unique_ptr<webrtc::AudioSinkInterface> sink) override {
|
||||
return impl()->SetDefaultRawAudioSink(std::move(sink));
|
||||
}
|
||||
bool GetStats(VoiceMediaReceiveInfo* info, bool reset_legacy) override {
|
||||
return impl_->GetReceiveStats(info, reset_legacy);
|
||||
}
|
||||
void SetReceiveNackEnabled(bool enabled) override {
|
||||
impl_->SetReceiveNackEnabled(enabled);
|
||||
}
|
||||
void SetReceiveNonSenderRttEnabled(bool enabled) override {
|
||||
impl_->SetReceiveNonSenderRttEnabled(enabled);
|
||||
}
|
||||
MediaChannel* ImplForTesting() override { return impl_; }
|
||||
|
||||
private:
|
||||
VoiceMediaReceiveChannelInterface* impl() { return impl_; }
|
||||
const VoiceMediaReceiveChannelInterface* impl() const { return impl_; }
|
||||
VoiceMediaChannel* impl_;
|
||||
};
|
||||
|
||||
class VideoMediaSendChannel : public VideoMediaSendChannelInterface {
|
||||
public:
|
||||
explicit VideoMediaSendChannel(VideoMediaChannel* impl) : impl_(impl) {}
|
||||
|
||||
VideoMediaSendChannelInterface* AsVideoSendChannel() override { return this; }
|
||||
VoiceMediaSendChannelInterface* AsVoiceSendChannel() override {
|
||||
RTC_CHECK_NOTREACHED();
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
// Implementation of MediaBaseChannelInterface
|
||||
cricket::MediaType media_type() const override { return MEDIA_TYPE_VIDEO; }
|
||||
void OnPacketSent(const rtc::SentPacket& sent_packet) override {
|
||||
impl()->OnPacketSent(sent_packet);
|
||||
}
|
||||
void OnReadyToSend(bool ready) override { impl()->OnReadyToSend(ready); }
|
||||
void OnNetworkRouteChanged(absl::string_view transport_name,
|
||||
const rtc::NetworkRoute& network_route) override {
|
||||
impl()->OnNetworkRouteChanged(transport_name, network_route);
|
||||
}
|
||||
void SetExtmapAllowMixed(bool extmap_allow_mixed) override {
|
||||
impl()->SetExtmapAllowMixed(extmap_allow_mixed);
|
||||
}
|
||||
bool HasNetworkInterface() const override {
|
||||
return impl()->HasNetworkInterface();
|
||||
}
|
||||
bool ExtmapAllowMixed() const override { return impl()->ExtmapAllowMixed(); }
|
||||
void SetInterface(MediaChannelNetworkInterface* iface) override {
|
||||
return impl()->SetInterface(iface);
|
||||
}
|
||||
// Implementation of MediaSendChannelInterface
|
||||
bool AddSendStream(const StreamParams& sp) override {
|
||||
return impl()->AddSendStream(sp);
|
||||
}
|
||||
bool RemoveSendStream(uint32_t ssrc) override {
|
||||
return impl()->RemoveSendStream(ssrc);
|
||||
}
|
||||
void SetFrameEncryptor(uint32_t ssrc,
|
||||
rtc::scoped_refptr<webrtc::FrameEncryptorInterface>
|
||||
frame_encryptor) override {
|
||||
impl()->SetFrameEncryptor(ssrc, frame_encryptor);
|
||||
}
|
||||
webrtc::RTCError SetRtpSendParameters(
|
||||
uint32_t ssrc,
|
||||
const webrtc::RtpParameters& parameters,
|
||||
webrtc::SetParametersCallback callback = nullptr) override {
|
||||
return impl()->SetRtpSendParameters(ssrc, parameters, std::move(callback));
|
||||
}
|
||||
|
||||
void SetEncoderToPacketizerFrameTransformer(
|
||||
uint32_t ssrc,
|
||||
rtc::scoped_refptr<webrtc::FrameTransformerInterface> frame_transformer)
|
||||
override {
|
||||
return impl()->SetEncoderToPacketizerFrameTransformer(ssrc,
|
||||
frame_transformer);
|
||||
}
|
||||
void SetEncoderSelector(uint32_t ssrc,
|
||||
webrtc::VideoEncoderFactory::EncoderSelectorInterface*
|
||||
encoder_selector) override {
|
||||
impl()->SetEncoderSelector(ssrc, encoder_selector);
|
||||
}
|
||||
webrtc::RtpParameters GetRtpSendParameters(uint32_t ssrc) const override {
|
||||
return impl()->GetRtpSendParameters(ssrc);
|
||||
}
|
||||
// Implementation of VideoMediaSendChannelInterface
|
||||
bool SetSendParameters(const VideoSendParameters& params) override {
|
||||
return impl()->SetSendParameters(params);
|
||||
}
|
||||
absl::optional<VideoCodec> GetSendCodec() override {
|
||||
return impl()->GetSendCodec();
|
||||
}
|
||||
bool SetSend(bool send) override { return impl()->SetSend(send); }
|
||||
bool SetVideoSend(
|
||||
uint32_t ssrc,
|
||||
const VideoOptions* options,
|
||||
rtc::VideoSourceInterface<webrtc::VideoFrame>* source) override {
|
||||
return impl()->SetVideoSend(ssrc, options, source);
|
||||
}
|
||||
void GenerateSendKeyFrame(uint32_t ssrc,
|
||||
const std::vector<std::string>& rids) override {
|
||||
return impl()->GenerateSendKeyFrame(ssrc, rids);
|
||||
}
|
||||
void SetVideoCodecSwitchingEnabled(bool enabled) override {
|
||||
return impl()->SetVideoCodecSwitchingEnabled(enabled);
|
||||
}
|
||||
bool GetStats(VideoMediaSendInfo* info) override {
|
||||
return impl_->GetSendStats(info);
|
||||
}
|
||||
void FillBitrateInfo(BandwidthEstimationInfo* bwe_info) override {
|
||||
return impl_->FillBitrateInfo(bwe_info);
|
||||
}
|
||||
// Information queries to support SetReceiverFeedbackParameters
|
||||
webrtc::RtcpMode SendCodecRtcpMode() const override {
|
||||
return impl()->SendCodecRtcpMode();
|
||||
}
|
||||
bool SendCodecHasLntf() const override { return impl()->SendCodecHasLntf(); }
|
||||
bool SendCodecHasNack() const override { return impl()->SendCodecHasNack(); }
|
||||
absl::optional<int> SendCodecRtxTime() const override {
|
||||
return impl()->SendCodecRtxTime();
|
||||
}
|
||||
void SetSsrcListChangedCallback(
|
||||
absl::AnyInvocable<void(const std::set<uint32_t>&)> callback) override {
|
||||
impl()->SetSsrcListChangedCallback(std::move(callback));
|
||||
}
|
||||
void SetSendCodecChangedCallback(
|
||||
absl::AnyInvocable<void()> callback) override {
|
||||
impl()->SetSendCodecChangedCallback(std::move(callback));
|
||||
}
|
||||
|
||||
MediaChannel* ImplForTesting() override { return impl_; }
|
||||
|
||||
private:
|
||||
VideoMediaSendChannelInterface* impl() { return impl_; }
|
||||
const VideoMediaSendChannelInterface* impl() const { return impl_; }
|
||||
VideoMediaChannel* const impl_;
|
||||
};
|
||||
|
||||
class VideoMediaReceiveChannel : public VideoMediaReceiveChannelInterface {
|
||||
public:
|
||||
explicit VideoMediaReceiveChannel(VideoMediaChannel* impl) : impl_(impl) {}
|
||||
|
||||
VideoMediaReceiveChannelInterface* AsVideoReceiveChannel() override {
|
||||
return this;
|
||||
}
|
||||
VoiceMediaReceiveChannelInterface* AsVoiceReceiveChannel() override {
|
||||
RTC_DCHECK_NOTREACHED();
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
// Implementation of MediaBaseChannelInterface
|
||||
cricket::MediaType media_type() const override { return MEDIA_TYPE_VIDEO; }
|
||||
void OnPacketReceived(const webrtc::RtpPacketReceived& packet) override {
|
||||
impl()->OnPacketReceived(packet);
|
||||
}
|
||||
// Implementation of Delayable
|
||||
bool SetBaseMinimumPlayoutDelayMs(uint32_t ssrc, int delay_ms) override {
|
||||
return impl()->SetBaseMinimumPlayoutDelayMs(ssrc, delay_ms);
|
||||
}
|
||||
absl::optional<int> GetBaseMinimumPlayoutDelayMs(
|
||||
uint32_t ssrc) const override {
|
||||
return impl()->GetBaseMinimumPlayoutDelayMs(ssrc);
|
||||
}
|
||||
// Implementation of MediaReceiveChannelInterface
|
||||
void SetInterface(MediaChannelNetworkInterface* iface) override {
|
||||
return impl()->SetInterface(iface);
|
||||
}
|
||||
bool AddRecvStream(const StreamParams& sp) override {
|
||||
return impl()->AddRecvStream(sp);
|
||||
}
|
||||
bool RemoveRecvStream(uint32_t ssrc) override {
|
||||
return impl()->RemoveRecvStream(ssrc);
|
||||
}
|
||||
void ResetUnsignaledRecvStream() override {
|
||||
return impl()->ResetUnsignaledRecvStream();
|
||||
}
|
||||
absl::optional<uint32_t> GetUnsignaledSsrc() const override {
|
||||
return impl()->GetUnsignaledSsrc();
|
||||
}
|
||||
void ChooseReceiverReportSsrc(const std::set<uint32_t>& choices) override {
|
||||
return impl()->ChooseReceiverReportSsrc(choices);
|
||||
}
|
||||
void OnDemuxerCriteriaUpdatePending() override {
|
||||
impl()->OnDemuxerCriteriaUpdatePending();
|
||||
}
|
||||
void OnDemuxerCriteriaUpdateComplete() override {
|
||||
impl()->OnDemuxerCriteriaUpdateComplete();
|
||||
}
|
||||
void SetFrameDecryptor(uint32_t ssrc,
|
||||
rtc::scoped_refptr<webrtc::FrameDecryptorInterface>
|
||||
frame_decryptor) override {
|
||||
impl()->SetFrameDecryptor(ssrc, frame_decryptor);
|
||||
}
|
||||
void SetDepacketizerToDecoderFrameTransformer(
|
||||
uint32_t ssrc,
|
||||
rtc::scoped_refptr<webrtc::FrameTransformerInterface> frame_transformer)
|
||||
override {
|
||||
impl()->SetDepacketizerToDecoderFrameTransformer(ssrc, frame_transformer);
|
||||
}
|
||||
// Implementation of VideoMediaReceiveChannelInterface
|
||||
bool SetRecvParameters(const VideoRecvParameters& params) override {
|
||||
return impl()->SetRecvParameters(params);
|
||||
}
|
||||
webrtc::RtpParameters GetRtpReceiveParameters(uint32_t ssrc) const override {
|
||||
return impl()->GetRtpReceiveParameters(ssrc);
|
||||
}
|
||||
webrtc::RtpParameters GetDefaultRtpReceiveParameters() const override {
|
||||
return impl()->GetDefaultRtpReceiveParameters();
|
||||
}
|
||||
bool SetSink(uint32_t ssrc,
|
||||
rtc::VideoSinkInterface<webrtc::VideoFrame>* sink) override {
|
||||
return impl()->SetSink(ssrc, sink);
|
||||
}
|
||||
void SetDefaultSink(
|
||||
rtc::VideoSinkInterface<webrtc::VideoFrame>* sink) override {
|
||||
return impl()->SetDefaultSink(sink);
|
||||
}
|
||||
void RequestRecvKeyFrame(uint32_t ssrc) override {
|
||||
return impl()->RequestRecvKeyFrame(ssrc);
|
||||
}
|
||||
std::vector<webrtc::RtpSource> GetSources(uint32_t ssrc) const override {
|
||||
return impl()->GetSources(ssrc);
|
||||
}
|
||||
// Set recordable encoded frame callback for `ssrc`
|
||||
void SetRecordableEncodedFrameCallback(
|
||||
uint32_t ssrc,
|
||||
std::function<void(const webrtc::RecordableEncodedFrame&)> callback)
|
||||
override {
|
||||
return impl()->SetRecordableEncodedFrameCallback(ssrc, std::move(callback));
|
||||
}
|
||||
// Clear recordable encoded frame callback for `ssrc`
|
||||
void ClearRecordableEncodedFrameCallback(uint32_t ssrc) override {
|
||||
impl()->ClearRecordableEncodedFrameCallback(ssrc);
|
||||
}
|
||||
bool GetStats(VideoMediaReceiveInfo* info) override {
|
||||
return impl_->GetReceiveStats(info);
|
||||
}
|
||||
void SetReceiverFeedbackParameters(bool lntf_enabled,
|
||||
bool nack_enabled,
|
||||
webrtc::RtcpMode rtcp_mode,
|
||||
absl::optional<int> rtx_time) override {
|
||||
impl()->SetReceiverFeedbackParameters(lntf_enabled, nack_enabled, rtcp_mode,
|
||||
rtx_time);
|
||||
}
|
||||
void SetReceive(bool receive) override { impl()->SetReceive(receive); }
|
||||
|
||||
MediaChannel* ImplForTesting() override { return impl_; }
|
||||
bool AddDefaultRecvStreamForTesting(const StreamParams& sp) override {
|
||||
return impl()->AddDefaultRecvStreamForTesting(sp);
|
||||
}
|
||||
|
||||
private:
|
||||
VideoMediaReceiveChannelInterface* impl() { return impl_; }
|
||||
const VideoMediaReceiveChannelInterface* impl() const { return impl_; }
|
||||
VideoMediaChannel* const impl_;
|
||||
};
|
||||
|
||||
} // namespace cricket
|
||||
|
||||
#endif // MEDIA_BASE_MEDIA_CHANNEL_IMPL_H_
|
||||
|
||||
@ -90,7 +90,7 @@ class VoiceMediaShimChannel : public VoiceMediaChannel {
|
||||
}
|
||||
|
||||
// Implementation of MediaBaseChannelInterface
|
||||
cricket::MediaType media_type() const override { return MEDIA_TYPE_VIDEO; }
|
||||
cricket::MediaType media_type() const override { return MEDIA_TYPE_AUDIO; }
|
||||
|
||||
// Implementation of MediaSendChannelInterface
|
||||
void OnPacketSent(const rtc::SentPacket& sent_packet) override {
|
||||
|
||||
@ -520,7 +520,7 @@ TEST_F(WebRtcVideoEngineTest, CVOSetHeaderExtensionBeforeCapturer) {
|
||||
|
||||
std::unique_ptr<VideoMediaChannel> channel(
|
||||
SetSendParamsWithAllSupportedCodecs());
|
||||
auto send_channel = std::make_unique<VideoMediaSendChannel>(channel.get());
|
||||
auto send_channel = channel->AsVideoSendChannel();
|
||||
EXPECT_TRUE(send_channel->AddSendStream(StreamParams::CreateLegacy(kSsrc)));
|
||||
|
||||
// Add CVO extension.
|
||||
@ -558,7 +558,7 @@ TEST_F(WebRtcVideoEngineTest, CVOSetHeaderExtensionBeforeAddSendStream) {
|
||||
|
||||
std::unique_ptr<VideoMediaChannel> channel(
|
||||
SetSendParamsWithAllSupportedCodecs());
|
||||
auto send_channel = std::make_unique<VideoMediaSendChannel>(channel.get());
|
||||
auto send_channel = channel->AsVideoSendChannel();
|
||||
// Add CVO extension.
|
||||
const int id = 1;
|
||||
cricket::VideoSendParameters parameters;
|
||||
@ -583,7 +583,7 @@ TEST_F(WebRtcVideoEngineTest, CVOSetHeaderExtensionAfterCapturer) {
|
||||
|
||||
std::unique_ptr<VideoMediaChannel> channel(
|
||||
SetSendParamsWithAllSupportedCodecs());
|
||||
auto send_channel = std::make_unique<VideoMediaSendChannel>(channel.get());
|
||||
auto send_channel = channel->AsVideoSendChannel();
|
||||
|
||||
EXPECT_TRUE(send_channel->AddSendStream(StreamParams::CreateLegacy(kSsrc)));
|
||||
|
||||
@ -628,7 +628,7 @@ TEST_F(WebRtcVideoEngineTest, SetSendFailsBeforeSettingCodecs) {
|
||||
cricket::MediaChannel::Role::kBoth, call_.get(), GetMediaConfig(),
|
||||
VideoOptions(), webrtc::CryptoOptions(),
|
||||
video_bitrate_allocator_factory_.get()));
|
||||
auto send_channel = std::make_unique<VideoMediaSendChannel>(channel.get());
|
||||
auto send_channel = channel->AsVideoSendChannel();
|
||||
|
||||
EXPECT_TRUE(send_channel->AddSendStream(StreamParams::CreateLegacy(123)));
|
||||
|
||||
@ -645,7 +645,7 @@ TEST_F(WebRtcVideoEngineTest, GetStatsWithoutSendCodecsSetDoesNotCrash) {
|
||||
cricket::MediaChannel::Role::kBoth, call_.get(), GetMediaConfig(),
|
||||
VideoOptions(), webrtc::CryptoOptions(),
|
||||
video_bitrate_allocator_factory_.get()));
|
||||
auto send_channel = std::make_unique<VideoMediaSendChannel>(channel.get());
|
||||
auto send_channel = channel->AsVideoSendChannel();
|
||||
|
||||
EXPECT_TRUE(send_channel->AddSendStream(StreamParams::CreateLegacy(123)));
|
||||
VideoMediaSendInfo send_info;
|
||||
@ -659,7 +659,7 @@ TEST_F(WebRtcVideoEngineTest, UseFactoryForVp8WhenSupported) {
|
||||
|
||||
std::unique_ptr<VideoMediaChannel> channel(
|
||||
SetSendParamsWithAllSupportedCodecs());
|
||||
auto send_channel = std::make_unique<VideoMediaSendChannel>(channel.get());
|
||||
auto send_channel = channel->AsVideoSendChannel();
|
||||
|
||||
send_channel->OnReadyToSend(true);
|
||||
|
||||
@ -740,8 +740,7 @@ TEST_F(WebRtcVideoEngineTest, CanConstructDecoderForVp9EncoderFactory) {
|
||||
|
||||
std::unique_ptr<VideoMediaChannel> channel(
|
||||
SetSendParamsWithAllSupportedCodecs());
|
||||
auto receive_channel =
|
||||
std::make_unique<VideoMediaReceiveChannel>(channel.get());
|
||||
auto receive_channel = channel->AsVideoReceiveChannel();
|
||||
|
||||
EXPECT_TRUE(receive_channel->AddRecvStream(
|
||||
cricket::StreamParams::CreateLegacy(kSsrc)));
|
||||
@ -754,7 +753,7 @@ TEST_F(WebRtcVideoEngineTest, PropagatesInputFrameTimestamp) {
|
||||
call_.reset(fake_call);
|
||||
std::unique_ptr<VideoMediaChannel> channel(
|
||||
SetSendParamsWithAllSupportedCodecs());
|
||||
auto send_channel = std::make_unique<VideoMediaSendChannel>(channel.get());
|
||||
auto send_channel = channel->AsVideoSendChannel();
|
||||
|
||||
EXPECT_TRUE(
|
||||
send_channel->AddSendStream(cricket::StreamParams::CreateLegacy(kSsrc)));
|
||||
@ -1008,7 +1007,7 @@ TEST_F(WebRtcVideoEngineTest, UsesSimulcastAdapterForVp8Factories) {
|
||||
|
||||
std::unique_ptr<VideoMediaChannel> channel(
|
||||
SetSendParamsWithAllSupportedCodecs());
|
||||
auto send_channel = std::make_unique<VideoMediaSendChannel>(channel.get());
|
||||
auto send_channel = channel->AsVideoSendChannel();
|
||||
|
||||
std::vector<uint32_t> ssrcs = MAKE_VECTOR(kSsrcs3);
|
||||
|
||||
@ -1055,7 +1054,7 @@ TEST_F(WebRtcVideoEngineTest, ChannelWithH264CanChangeToVp8) {
|
||||
cricket::MediaChannel::Role::kBoth, call_.get(), GetMediaConfig(),
|
||||
VideoOptions(), webrtc::CryptoOptions(),
|
||||
video_bitrate_allocator_factory_.get()));
|
||||
auto send_channel = std::make_unique<VideoMediaSendChannel>(channel.get());
|
||||
auto send_channel = channel->AsVideoSendChannel();
|
||||
cricket::VideoSendParameters parameters;
|
||||
parameters.codecs.push_back(GetEngineCodec("H264"));
|
||||
EXPECT_TRUE(channel->SetSendParameters(parameters));
|
||||
@ -1089,7 +1088,7 @@ TEST_F(WebRtcVideoEngineTest,
|
||||
cricket::MediaChannel::Role::kBoth, call_.get(), GetMediaConfig(),
|
||||
VideoOptions(), webrtc::CryptoOptions(),
|
||||
video_bitrate_allocator_factory_.get()));
|
||||
auto send_channel = std::make_unique<VideoMediaSendChannel>(channel.get());
|
||||
auto send_channel = channel->AsVideoSendChannel();
|
||||
cricket::VideoSendParameters parameters;
|
||||
parameters.codecs.push_back(GetEngineCodec("VP8"));
|
||||
EXPECT_TRUE(channel->SetSendParameters(parameters));
|
||||
@ -1129,7 +1128,7 @@ TEST_F(WebRtcVideoEngineTest,
|
||||
cricket::MediaChannel::Role::kBoth, call_.get(), GetMediaConfig(),
|
||||
VideoOptions(), webrtc::CryptoOptions(),
|
||||
video_bitrate_allocator_factory_.get()));
|
||||
auto send_channel = std::make_unique<VideoMediaSendChannel>(channel.get());
|
||||
auto send_channel = channel->AsVideoSendChannel();
|
||||
cricket::VideoSendParameters parameters;
|
||||
parameters.codecs.push_back(GetEngineCodec("H264"));
|
||||
EXPECT_TRUE(channel->SetSendParameters(parameters));
|
||||
@ -1162,7 +1161,7 @@ TEST_F(WebRtcVideoEngineTest, SimulcastEnabledForH264) {
|
||||
cricket::MediaChannel::Role::kBoth, call_.get(), GetMediaConfig(),
|
||||
VideoOptions(), webrtc::CryptoOptions(),
|
||||
video_bitrate_allocator_factory_.get()));
|
||||
auto send_channel = std::make_unique<VideoMediaSendChannel>(channel.get());
|
||||
auto send_channel = channel->AsVideoSendChannel();
|
||||
|
||||
cricket::VideoSendParameters parameters;
|
||||
parameters.codecs.push_back(GetEngineCodec("H264"));
|
||||
@ -1287,8 +1286,7 @@ TEST_F(WebRtcVideoEngineTest, RegisterDecodersIfSupported) {
|
||||
|
||||
std::unique_ptr<VideoMediaChannel> channel(
|
||||
SetRecvParamsWithSupportedCodecs(parameters.codecs));
|
||||
auto receive_channel =
|
||||
std::make_unique<VideoMediaReceiveChannel>(channel.get());
|
||||
auto receive_channel = channel->AsVideoReceiveChannel();
|
||||
|
||||
EXPECT_TRUE(receive_channel->AddRecvStream(
|
||||
cricket::StreamParams::CreateLegacy(kSsrc)));
|
||||
@ -1317,8 +1315,7 @@ TEST_F(WebRtcVideoEngineTest, RegisterH264DecoderIfSupported) {
|
||||
|
||||
std::unique_ptr<VideoMediaChannel> channel(
|
||||
SetRecvParamsWithSupportedCodecs(codecs));
|
||||
auto receive_channel =
|
||||
std::make_unique<VideoMediaReceiveChannel>(channel.get());
|
||||
auto receive_channel = channel->AsVideoReceiveChannel();
|
||||
|
||||
EXPECT_TRUE(receive_channel->AddRecvStream(
|
||||
cricket::StreamParams::CreateLegacy(kSsrc)));
|
||||
@ -1336,8 +1333,7 @@ TEST_F(WebRtcVideoEngineTest, GetSourcesWithNonExistingSsrc) {
|
||||
parameters.codecs.push_back(GetEngineCodec("VP8"));
|
||||
std::unique_ptr<VideoMediaChannel> channel(
|
||||
SetRecvParamsWithSupportedCodecs(parameters.codecs));
|
||||
auto receive_channel =
|
||||
std::make_unique<VideoMediaReceiveChannel>(channel.get());
|
||||
auto receive_channel = channel->AsVideoReceiveChannel();
|
||||
|
||||
EXPECT_TRUE(receive_channel->AddRecvStream(
|
||||
cricket::StreamParams::CreateLegacy(kSsrc)));
|
||||
@ -1463,8 +1459,7 @@ TEST(WebRtcVideoEngineNewVideoCodecFactoryTest, Vp8) {
|
||||
std::unique_ptr<VideoMediaChannel> send_channel(engine.CreateMediaChannel(
|
||||
cricket::MediaChannel::Role::kBoth, call.get(), GetMediaConfig(),
|
||||
VideoOptions(), webrtc::CryptoOptions(), rate_allocator_factory.get()));
|
||||
auto send_send_channel =
|
||||
std::make_unique<VideoMediaSendChannel>(send_channel.get());
|
||||
auto send_send_channel = send_channel->AsVideoSendChannel();
|
||||
|
||||
cricket::VideoSendParameters send_parameters;
|
||||
send_parameters.codecs.push_back(engine_codecs.at(0));
|
||||
@ -1488,8 +1483,7 @@ TEST(WebRtcVideoEngineNewVideoCodecFactoryTest, Vp8) {
|
||||
std::unique_ptr<VideoMediaChannel> recv_channel(engine.CreateMediaChannel(
|
||||
cricket::MediaChannel::Role::kBoth, call.get(), GetMediaConfig(),
|
||||
VideoOptions(), webrtc::CryptoOptions(), rate_allocator_factory.get()));
|
||||
auto receive_channel =
|
||||
std::make_unique<VideoMediaReceiveChannel>(recv_channel.get());
|
||||
auto receive_channel = recv_channel->AsVideoReceiveChannel();
|
||||
|
||||
cricket::VideoRecvParameters recv_parameters;
|
||||
recv_parameters.codecs.push_back(engine_codecs.at(0));
|
||||
@ -1510,7 +1504,7 @@ TEST_F(WebRtcVideoEngineTest, DISABLED_RecreatesEncoderOnContentTypeChange) {
|
||||
std::unique_ptr<FakeCall> fake_call(new FakeCall());
|
||||
std::unique_ptr<VideoMediaChannel> channel(
|
||||
SetSendParamsWithAllSupportedCodecs());
|
||||
auto send_channel = std::make_unique<VideoMediaSendChannel>(channel.get());
|
||||
auto send_channel = channel->AsVideoSendChannel();
|
||||
|
||||
ASSERT_TRUE(
|
||||
send_channel->AddSendStream(cricket::StreamParams::CreateLegacy(kSsrc)));
|
||||
@ -1621,9 +1615,8 @@ class WebRtcVideoChannelEncodedFrameCallbackTest : public ::testing::Test {
|
||||
cricket::VideoOptions(),
|
||||
webrtc::CryptoOptions(),
|
||||
video_bitrate_allocator_factory_.get()))) {
|
||||
send_channel_ = std::make_unique<VideoMediaSendChannel>(channel_.get());
|
||||
receive_channel_ =
|
||||
std::make_unique<VideoMediaReceiveChannel>(channel_.get());
|
||||
send_channel_ = channel_->AsVideoSendChannel();
|
||||
receive_channel_ = channel_->AsVideoReceiveChannel();
|
||||
|
||||
network_interface_.SetDestination(channel_.get());
|
||||
channel_->SetInterface(&network_interface_);
|
||||
@ -1658,8 +1651,8 @@ class WebRtcVideoChannelEncodedFrameCallbackTest : public ::testing::Test {
|
||||
video_bitrate_allocator_factory_;
|
||||
WebRtcVideoEngine engine_;
|
||||
std::unique_ptr<VideoMediaChannel> channel_;
|
||||
std::unique_ptr<VideoMediaSendChannel> send_channel_;
|
||||
std::unique_ptr<VideoMediaReceiveChannel> receive_channel_;
|
||||
VideoMediaSendChannelInterface* send_channel_;
|
||||
VideoMediaReceiveChannelInterface* receive_channel_;
|
||||
cricket::FakeNetworkInterface network_interface_;
|
||||
cricket::FakeVideoRenderer renderer_;
|
||||
};
|
||||
@ -1802,9 +1795,8 @@ class WebRtcVideoChannelBaseTest : public ::testing::Test {
|
||||
cricket::MediaChannel::Role::kBoth, call_.get(), media_config,
|
||||
cricket::VideoOptions(), webrtc::CryptoOptions(),
|
||||
video_bitrate_allocator_factory_.get()));
|
||||
send_channel_ = std::make_unique<VideoMediaSendChannel>(channel_.get());
|
||||
receive_channel_ =
|
||||
std::make_unique<VideoMediaReceiveChannel>(channel_.get());
|
||||
send_channel_ = channel_->AsVideoSendChannel();
|
||||
receive_channel_ = channel_->AsVideoReceiveChannel();
|
||||
send_channel_->OnReadyToSend(true);
|
||||
receive_channel_->SetReceive(true);
|
||||
EXPECT_TRUE(channel_.get() != NULL);
|
||||
@ -2002,8 +1994,8 @@ class WebRtcVideoChannelBaseTest : public ::testing::Test {
|
||||
std::unique_ptr<webrtc::test::FrameForwarder> frame_forwarder_2_;
|
||||
|
||||
std::unique_ptr<VideoMediaChannel> channel_;
|
||||
std::unique_ptr<VideoMediaSendChannel> send_channel_;
|
||||
std::unique_ptr<VideoMediaReceiveChannel> receive_channel_;
|
||||
VideoMediaSendChannelInterface* send_channel_;
|
||||
VideoMediaReceiveChannelInterface* receive_channel_;
|
||||
cricket::FakeNetworkInterface network_interface_;
|
||||
cricket::FakeVideoRenderer renderer_;
|
||||
|
||||
@ -2667,10 +2659,8 @@ class WebRtcVideoChannelTest : public WebRtcVideoEngineTest {
|
||||
cricket::MediaChannel::Role::kBoth, fake_call_.get(), GetMediaConfig(),
|
||||
VideoOptions(), webrtc::CryptoOptions(),
|
||||
video_bitrate_allocator_factory_.get()));
|
||||
send_channel_ =
|
||||
std::make_unique<cricket::VideoMediaSendChannel>(channel_.get());
|
||||
receive_channel_ =
|
||||
std::make_unique<cricket::VideoMediaReceiveChannel>(channel_.get());
|
||||
send_channel_ = channel_->AsVideoSendChannel();
|
||||
receive_channel_ = channel_->AsVideoReceiveChannel();
|
||||
send_channel_->OnReadyToSend(true);
|
||||
receive_channel_->SetReceive(true);
|
||||
last_ssrc_ = 123;
|
||||
@ -3009,8 +2999,8 @@ class WebRtcVideoChannelTest : public WebRtcVideoEngineTest {
|
||||
cricket::FakeFrameSource frame_source_;
|
||||
std::unique_ptr<FakeCall> fake_call_;
|
||||
std::unique_ptr<VideoMediaChannel> channel_;
|
||||
std::unique_ptr<VideoMediaSendChannel> send_channel_;
|
||||
std::unique_ptr<VideoMediaReceiveChannel> receive_channel_;
|
||||
VideoMediaSendChannelInterface* send_channel_;
|
||||
VideoMediaReceiveChannelInterface* receive_channel_;
|
||||
cricket::VideoSendParameters send_parameters_;
|
||||
cricket::VideoRecvParameters recv_parameters_;
|
||||
uint32_t last_ssrc_;
|
||||
@ -3564,9 +3554,8 @@ TEST_F(WebRtcVideoChannelTest, SetMediaConfigSuspendBelowMinBitrate) {
|
||||
cricket::MediaChannel::Role::kBoth, fake_call_.get(), media_config,
|
||||
VideoOptions(), webrtc::CryptoOptions(),
|
||||
video_bitrate_allocator_factory_.get()));
|
||||
send_channel_.reset(new VideoMediaSendChannel(channel_.get()));
|
||||
receive_channel_ =
|
||||
std::make_unique<cricket::VideoMediaReceiveChannel>(channel_.get());
|
||||
send_channel_ = channel_->AsVideoSendChannel();
|
||||
receive_channel_ = channel_->AsVideoReceiveChannel();
|
||||
send_channel_->OnReadyToSend(true);
|
||||
|
||||
channel_->SetSendParameters(send_parameters_);
|
||||
@ -3579,9 +3568,8 @@ TEST_F(WebRtcVideoChannelTest, SetMediaConfigSuspendBelowMinBitrate) {
|
||||
cricket::MediaChannel::Role::kBoth, fake_call_.get(), media_config,
|
||||
VideoOptions(), webrtc::CryptoOptions(),
|
||||
video_bitrate_allocator_factory_.get()));
|
||||
send_channel_.reset(new VideoMediaSendChannel(channel_.get()));
|
||||
receive_channel_ =
|
||||
std::make_unique<cricket::VideoMediaReceiveChannel>(channel_.get());
|
||||
send_channel_ = channel_->AsVideoSendChannel();
|
||||
receive_channel_ = channel_->AsVideoReceiveChannel();
|
||||
send_channel_->OnReadyToSend(true);
|
||||
|
||||
channel_->SetSendParameters(send_parameters_);
|
||||
@ -4124,9 +4112,8 @@ TEST_F(WebRtcVideoChannelTest, PreviousAdaptationDoesNotApplyToScreenshare) {
|
||||
cricket::MediaChannel::Role::kBoth, fake_call_.get(), media_config,
|
||||
VideoOptions(), webrtc::CryptoOptions(),
|
||||
video_bitrate_allocator_factory_.get()));
|
||||
send_channel_.reset(new VideoMediaSendChannel(channel_.get()));
|
||||
receive_channel_ =
|
||||
std::make_unique<cricket::VideoMediaReceiveChannel>(channel_.get());
|
||||
send_channel_ = channel_->AsVideoSendChannel();
|
||||
receive_channel_ = channel_->AsVideoReceiveChannel();
|
||||
|
||||
send_channel_->OnReadyToSend(true);
|
||||
ASSERT_TRUE(channel_->SetSendParameters(parameters));
|
||||
@ -4179,9 +4166,8 @@ void WebRtcVideoChannelTest::TestDegradationPreference(
|
||||
cricket::MediaChannel::Role::kBoth, fake_call_.get(), media_config,
|
||||
VideoOptions(), webrtc::CryptoOptions(),
|
||||
video_bitrate_allocator_factory_.get()));
|
||||
send_channel_.reset(new VideoMediaSendChannel(channel_.get()));
|
||||
receive_channel_ =
|
||||
std::make_unique<cricket::VideoMediaReceiveChannel>(channel_.get());
|
||||
send_channel_ = channel_->AsVideoSendChannel();
|
||||
receive_channel_ = channel_->AsVideoReceiveChannel();
|
||||
send_channel_->OnReadyToSend(true);
|
||||
|
||||
EXPECT_TRUE(channel_->SetSendParameters(parameters));
|
||||
@ -4216,9 +4202,8 @@ void WebRtcVideoChannelTest::TestCpuAdaptation(bool enable_overuse,
|
||||
cricket::MediaChannel::Role::kBoth, fake_call_.get(), media_config,
|
||||
VideoOptions(), webrtc::CryptoOptions(),
|
||||
video_bitrate_allocator_factory_.get()));
|
||||
send_channel_.reset(new VideoMediaSendChannel(channel_.get()));
|
||||
receive_channel_ =
|
||||
std::make_unique<cricket::VideoMediaReceiveChannel>(channel_.get());
|
||||
send_channel_ = channel_->AsVideoSendChannel();
|
||||
receive_channel_ = channel_->AsVideoReceiveChannel();
|
||||
send_channel_->OnReadyToSend(true);
|
||||
|
||||
EXPECT_TRUE(channel_->SetSendParameters(parameters));
|
||||
@ -5549,13 +5534,13 @@ TEST_F(WebRtcVideoChannelTest, TestSetDscpOptions) {
|
||||
new cricket::FakeNetworkInterface);
|
||||
MediaConfig config;
|
||||
std::unique_ptr<cricket::VideoMediaChannel> channel;
|
||||
std::unique_ptr<cricket::VideoMediaSendChannel> send_channel;
|
||||
cricket::VideoMediaSendChannelInterface* send_channel;
|
||||
webrtc::RtpParameters parameters;
|
||||
|
||||
channel.reset(engine_.CreateMediaChannel(
|
||||
cricket::MediaChannel::Role::kBoth, call_.get(), config, VideoOptions(),
|
||||
webrtc::CryptoOptions(), video_bitrate_allocator_factory_.get()));
|
||||
send_channel.reset(new VideoMediaSendChannel(channel_.get()));
|
||||
send_channel = channel->AsVideoSendChannel();
|
||||
|
||||
channel->SetInterface(network_interface.get());
|
||||
// Default value when DSCP is disabled should be DSCP_DEFAULT.
|
||||
@ -5568,7 +5553,7 @@ TEST_F(WebRtcVideoChannelTest, TestSetDscpOptions) {
|
||||
channel.reset(engine_.CreateMediaChannel(
|
||||
cricket::MediaChannel::Role::kBoth, call_.get(), config, VideoOptions(),
|
||||
webrtc::CryptoOptions(), video_bitrate_allocator_factory_.get()));
|
||||
send_channel.reset(new VideoMediaSendChannel(channel.get()));
|
||||
send_channel = channel->AsVideoSendChannel();
|
||||
channel->SetInterface(network_interface.get());
|
||||
EXPECT_EQ(rtc::DSCP_DEFAULT, network_interface->dscp());
|
||||
|
||||
@ -9511,9 +9496,8 @@ class WebRtcVideoChannelSimulcastTest : public ::testing::Test {
|
||||
cricket::MediaChannel::Role::kBoth, &fake_call_, GetMediaConfig(),
|
||||
VideoOptions(), webrtc::CryptoOptions(),
|
||||
mock_rate_allocator_factory_.get()));
|
||||
send_channel_ = std::make_unique<VideoMediaSendChannel>(channel_.get());
|
||||
receive_channel_ =
|
||||
std::make_unique<VideoMediaReceiveChannel>(channel_.get());
|
||||
send_channel_ = channel_->AsVideoSendChannel();
|
||||
receive_channel_ = channel_->AsVideoReceiveChannel();
|
||||
send_channel_->OnReadyToSend(true);
|
||||
receive_channel_->SetReceive(true);
|
||||
last_ssrc_ = 123;
|
||||
@ -9663,8 +9647,8 @@ class WebRtcVideoChannelSimulcastTest : public ::testing::Test {
|
||||
mock_rate_allocator_factory_;
|
||||
WebRtcVideoEngine engine_;
|
||||
std::unique_ptr<VideoMediaChannel> channel_;
|
||||
std::unique_ptr<VideoMediaSendChannel> send_channel_;
|
||||
std::unique_ptr<VideoMediaReceiveChannel> receive_channel_;
|
||||
VideoMediaSendChannelInterface* send_channel_;
|
||||
VideoMediaReceiveChannelInterface* receive_channel_;
|
||||
uint32_t last_ssrc_;
|
||||
};
|
||||
|
||||
|
||||
@ -237,9 +237,8 @@ class WebRtcVoiceEngineTestFake : public ::testing::TestWithParam<bool> {
|
||||
cricket::MediaChannel::Role::kBoth, &call_, cricket::MediaConfig(),
|
||||
cricket::AudioOptions(), webrtc::CryptoOptions(),
|
||||
webrtc::AudioCodecPairId::Create());
|
||||
send_channel_ = std::make_unique<cricket::VoiceMediaSendChannel>(channel_);
|
||||
receive_channel_ =
|
||||
std::make_unique<cricket::VoiceMediaReceiveChannel>(channel_);
|
||||
send_channel_ = channel_->AsVoiceSendChannel();
|
||||
receive_channel_ = channel_->AsVoiceReceiveChannel();
|
||||
return (channel_ != nullptr);
|
||||
}
|
||||
|
||||
@ -832,8 +831,8 @@ class WebRtcVoiceEngineTestFake : public ::testing::TestWithParam<bool> {
|
||||
cricket::FakeCall call_;
|
||||
std::unique_ptr<cricket::WebRtcVoiceEngine> engine_;
|
||||
cricket::VoiceMediaChannel* channel_ = nullptr;
|
||||
std::unique_ptr<cricket::VoiceMediaSendChannel> send_channel_;
|
||||
std::unique_ptr<cricket::VoiceMediaReceiveChannel> receive_channel_;
|
||||
cricket::VoiceMediaSendChannelInterface* send_channel_;
|
||||
cricket::VoiceMediaReceiveChannelInterface* receive_channel_;
|
||||
cricket::AudioSendParameters send_parameters_;
|
||||
cricket::AudioRecvParameters recv_parameters_;
|
||||
FakeAudioSource fake_source_;
|
||||
|
||||
@ -114,14 +114,14 @@ BaseChannel::BaseChannel(
|
||||
rtc::Thread* worker_thread,
|
||||
rtc::Thread* network_thread,
|
||||
rtc::Thread* signaling_thread,
|
||||
std::unique_ptr<MediaChannel> send_media_channel_impl,
|
||||
std::unique_ptr<MediaChannel> receive_media_channel_impl,
|
||||
std::unique_ptr<MediaSendChannelInterface> send_media_channel_impl,
|
||||
std::unique_ptr<MediaReceiveChannelInterface> receive_media_channel_impl,
|
||||
absl::string_view mid,
|
||||
bool srtp_required,
|
||||
webrtc::CryptoOptions crypto_options,
|
||||
UniqueRandomIdGenerator* ssrc_generator)
|
||||
: media_send_channel_impl_(std::move(send_media_channel_impl)),
|
||||
media_receive_channel_impl_(std::move(receive_media_channel_impl)),
|
||||
: media_send_channel_(std::move(send_media_channel_impl)),
|
||||
media_receive_channel_(std::move(receive_media_channel_impl)),
|
||||
worker_thread_(worker_thread),
|
||||
network_thread_(network_thread),
|
||||
signaling_thread_(signaling_thread),
|
||||
@ -134,8 +134,8 @@ BaseChannel::BaseChannel(
|
||||
demuxer_criteria_(mid),
|
||||
ssrc_generator_(ssrc_generator) {
|
||||
RTC_DCHECK_RUN_ON(worker_thread_);
|
||||
RTC_DCHECK(media_send_channel_impl_);
|
||||
RTC_DCHECK(media_receive_channel_impl_);
|
||||
RTC_DCHECK(media_send_channel_);
|
||||
RTC_DCHECK(media_receive_channel_);
|
||||
RTC_DCHECK(ssrc_generator_);
|
||||
RTC_DLOG(LS_INFO) << "Created channel: " << ToString();
|
||||
}
|
||||
@ -143,12 +143,12 @@ BaseChannel::BaseChannel(
|
||||
BaseChannel::BaseChannel(rtc::Thread* worker_thread,
|
||||
rtc::Thread* network_thread,
|
||||
rtc::Thread* signaling_thread,
|
||||
std::unique_ptr<MediaChannel> media_channel_impl,
|
||||
std::unique_ptr<MediaChannel> media_channel,
|
||||
absl::string_view mid,
|
||||
bool srtp_required,
|
||||
webrtc::CryptoOptions crypto_options,
|
||||
UniqueRandomIdGenerator* ssrc_generator)
|
||||
: media_channel_impl_(std::move(media_channel_impl)),
|
||||
: media_channel_(std::move(media_channel)),
|
||||
worker_thread_(worker_thread),
|
||||
network_thread_(network_thread),
|
||||
signaling_thread_(signaling_thread),
|
||||
@ -161,7 +161,7 @@ BaseChannel::BaseChannel(rtc::Thread* worker_thread,
|
||||
demuxer_criteria_(mid),
|
||||
ssrc_generator_(ssrc_generator) {
|
||||
RTC_DCHECK_RUN_ON(worker_thread_);
|
||||
RTC_DCHECK(media_channel_impl_);
|
||||
RTC_DCHECK(media_channel_);
|
||||
RTC_DCHECK(ssrc_generator_);
|
||||
RTC_DLOG(LS_INFO) << "Created channel: " << ToString();
|
||||
}
|
||||
@ -178,14 +178,14 @@ BaseChannel::~BaseChannel() {
|
||||
}
|
||||
|
||||
std::string BaseChannel::ToString() const {
|
||||
if (media_send_channel_impl_) {
|
||||
if (media_send_channel_) {
|
||||
return StringFormat(
|
||||
"{mid: %s, media_type: %s}", mid().c_str(),
|
||||
MediaTypeToString(media_send_channel_impl_->media_type()).c_str());
|
||||
MediaTypeToString(media_send_channel_->media_type()).c_str());
|
||||
} else {
|
||||
return StringFormat(
|
||||
"{mid: %s, media_type: %s}", mid().c_str(),
|
||||
MediaTypeToString(media_channel_impl_->media_type()).c_str());
|
||||
MediaTypeToString(media_channel_->media_type()).c_str());
|
||||
}
|
||||
}
|
||||
|
||||
@ -850,8 +850,8 @@ VoiceChannel::VoiceChannel(
|
||||
rtc::Thread* worker_thread,
|
||||
rtc::Thread* network_thread,
|
||||
rtc::Thread* signaling_thread,
|
||||
std::unique_ptr<VoiceMediaChannel> media_send_channel_impl,
|
||||
std::unique_ptr<VoiceMediaChannel> media_receive_channel_impl,
|
||||
std::unique_ptr<VoiceMediaSendChannelInterface> media_send_channel,
|
||||
std::unique_ptr<VoiceMediaReceiveChannelInterface> media_receive_channel,
|
||||
absl::string_view mid,
|
||||
bool srtp_required,
|
||||
webrtc::CryptoOptions crypto_options,
|
||||
@ -859,14 +859,12 @@ VoiceChannel::VoiceChannel(
|
||||
: BaseChannel(worker_thread,
|
||||
network_thread,
|
||||
signaling_thread,
|
||||
std::move(media_send_channel_impl),
|
||||
std::move(media_receive_channel_impl),
|
||||
std::move(media_send_channel),
|
||||
std::move(media_receive_channel),
|
||||
mid,
|
||||
srtp_required,
|
||||
crypto_options,
|
||||
ssrc_generator),
|
||||
send_channel_(media_send_channel_impl_->AsVoiceChannel()),
|
||||
receive_channel_(media_receive_channel_impl_->AsVoiceChannel()) {}
|
||||
ssrc_generator) {}
|
||||
|
||||
VoiceChannel::VoiceChannel(
|
||||
rtc::Thread* worker_thread,
|
||||
@ -884,9 +882,7 @@ VoiceChannel::VoiceChannel(
|
||||
mid,
|
||||
srtp_required,
|
||||
crypto_options,
|
||||
ssrc_generator),
|
||||
send_channel_(media_channel_impl_->AsVoiceChannel()),
|
||||
receive_channel_(media_channel_impl_->AsVoiceChannel()) {
|
||||
ssrc_generator) {
|
||||
InitCallback();
|
||||
}
|
||||
|
||||
@ -900,12 +896,13 @@ void VoiceChannel::InitCallback() {
|
||||
RTC_DCHECK_RUN_ON(worker_thread());
|
||||
// TODO(bugs.webrtc.org/13931): Remove when values are set
|
||||
// in a more sensible fashion
|
||||
send_channel_.SetSendCodecChangedCallback([this]() {
|
||||
send_channel()->SetSendCodecChangedCallback([this]() {
|
||||
RTC_DCHECK_RUN_ON(worker_thread());
|
||||
// Adjust receive streams based on send codec.
|
||||
receive_channel_.SetReceiveNackEnabled(send_channel_.SendCodecHasNack());
|
||||
receive_channel_.SetReceiveNonSenderRttEnabled(
|
||||
send_channel_.SenderNonSenderRttEnabled());
|
||||
receive_channel()->SetReceiveNackEnabled(
|
||||
send_channel()->SendCodecHasNack());
|
||||
receive_channel()->SetReceiveNonSenderRttEnabled(
|
||||
send_channel()->SenderNonSenderRttEnabled());
|
||||
});
|
||||
}
|
||||
void VoiceChannel::UpdateMediaSendRecvState_w() {
|
||||
@ -1019,8 +1016,8 @@ VideoChannel::VideoChannel(
|
||||
rtc::Thread* worker_thread,
|
||||
rtc::Thread* network_thread,
|
||||
rtc::Thread* signaling_thread,
|
||||
std::unique_ptr<VideoMediaChannel> media_send_channel_impl,
|
||||
std::unique_ptr<VideoMediaChannel> media_receive_channel_impl,
|
||||
std::unique_ptr<VideoMediaSendChannelInterface> media_send_channel,
|
||||
std::unique_ptr<VideoMediaReceiveChannelInterface> media_receive_channel,
|
||||
absl::string_view mid,
|
||||
bool srtp_required,
|
||||
webrtc::CryptoOptions crypto_options,
|
||||
@ -1028,25 +1025,21 @@ VideoChannel::VideoChannel(
|
||||
: BaseChannel(worker_thread,
|
||||
network_thread,
|
||||
signaling_thread,
|
||||
std::move(media_send_channel_impl),
|
||||
std::move(media_receive_channel_impl),
|
||||
std::move(media_send_channel),
|
||||
std::move(media_receive_channel),
|
||||
mid,
|
||||
srtp_required,
|
||||
crypto_options,
|
||||
ssrc_generator),
|
||||
send_channel_(media_send_channel_impl_->AsVideoChannel()),
|
||||
receive_channel_(media_receive_channel_impl_->AsVideoChannel()) {
|
||||
ssrc_generator) {
|
||||
// TODO(bugs.webrtc.org/13931): Remove when values are set
|
||||
// in a more sensible fashion
|
||||
media_send_channel_impl_->AsVideoChannel()->SetSendCodecChangedCallback(
|
||||
[this]() {
|
||||
// Adjust receive streams based on send codec.
|
||||
media_receive_channel()->SetReceiverFeedbackParameters(
|
||||
media_send_channel()->SendCodecHasLntf(),
|
||||
media_send_channel()->SendCodecHasNack(),
|
||||
media_send_channel()->SendCodecRtcpMode(),
|
||||
media_send_channel()->SendCodecRtxTime());
|
||||
});
|
||||
send_channel()->SetSendCodecChangedCallback([this]() {
|
||||
// Adjust receive streams based on send codec.
|
||||
receive_channel()->SetReceiverFeedbackParameters(
|
||||
send_channel()->SendCodecHasLntf(), send_channel()->SendCodecHasNack(),
|
||||
send_channel()->SendCodecRtcpMode(),
|
||||
send_channel()->SendCodecRtxTime());
|
||||
});
|
||||
}
|
||||
VideoChannel::VideoChannel(
|
||||
rtc::Thread* worker_thread,
|
||||
@ -1064,9 +1057,7 @@ VideoChannel::VideoChannel(
|
||||
mid,
|
||||
srtp_required,
|
||||
crypto_options,
|
||||
ssrc_generator),
|
||||
send_channel_(media_channel_impl_->AsVideoChannel()),
|
||||
receive_channel_(media_channel_impl_->AsVideoChannel()) {}
|
||||
ssrc_generator) {}
|
||||
|
||||
VideoChannel::~VideoChannel() {
|
||||
TRACE_EVENT0("webrtc", "VideoChannel::~VideoChannel");
|
||||
|
||||
122
pc/channel.h
122
pc/channel.h
@ -84,15 +84,16 @@ class BaseChannel : public ChannelInterface,
|
||||
// which will make it easier to change the constructor.
|
||||
|
||||
// Constructor for use when the MediaChannels are split
|
||||
BaseChannel(rtc::Thread* worker_thread,
|
||||
rtc::Thread* network_thread,
|
||||
rtc::Thread* signaling_thread,
|
||||
std::unique_ptr<MediaChannel> media_send_channel_impl,
|
||||
std::unique_ptr<MediaChannel> media_receive_channel_impl,
|
||||
absl::string_view mid,
|
||||
bool srtp_required,
|
||||
webrtc::CryptoOptions crypto_options,
|
||||
rtc::UniqueRandomIdGenerator* ssrc_generator);
|
||||
BaseChannel(
|
||||
rtc::Thread* worker_thread,
|
||||
rtc::Thread* network_thread,
|
||||
rtc::Thread* signaling_thread,
|
||||
std::unique_ptr<MediaSendChannelInterface> media_send_channel,
|
||||
std::unique_ptr<MediaReceiveChannelInterface> media_receive_channel,
|
||||
absl::string_view mid,
|
||||
bool srtp_required,
|
||||
webrtc::CryptoOptions crypto_options,
|
||||
rtc::UniqueRandomIdGenerator* ssrc_generator);
|
||||
// Constructor for use when the MediaChannel is not split
|
||||
// TODO(bugs.webrtc.org/13931): Delete when split channel project is complete.
|
||||
BaseChannel(rtc::Thread* worker_thread,
|
||||
@ -315,16 +316,15 @@ class BaseChannel : public ChannelInterface,
|
||||
// Return description of media channel to facilitate logging
|
||||
std::string ToString() const;
|
||||
|
||||
// MediaChannel related members that should be accessed from the worker
|
||||
// thread. These are used in initializing the subclasses and deleting
|
||||
// the channels when exiting; they have no accessors.
|
||||
// Either the media_channel_impl_ is set, or the media_send_channel_impl_
|
||||
// and the media_receive_channel_impl_ is set.
|
||||
// TODO(bugs.webrtc.org/13931): Delete when split channel project is complete.
|
||||
const std::unique_ptr<MediaChannel> media_channel_impl_;
|
||||
// MediaChannel implementation pointers.
|
||||
// Either the `media_channel_` is set, or the `media_send_channel_`
|
||||
// and the `media_receive_channel_` is set.
|
||||
// TODO(bugs.webrtc.org/13931): Delete `media_channel_` when split channel
|
||||
// project is complete.
|
||||
const std::unique_ptr<MediaChannel> media_channel_;
|
||||
|
||||
const std::unique_ptr<MediaChannel> media_send_channel_impl_;
|
||||
const std::unique_ptr<MediaChannel> media_receive_channel_impl_;
|
||||
const std::unique_ptr<MediaSendChannelInterface> media_send_channel_;
|
||||
const std::unique_ptr<MediaReceiveChannelInterface> media_receive_channel_;
|
||||
|
||||
private:
|
||||
bool ConnectToRtpTransport_n() RTC_RUN_ON(network_thread());
|
||||
@ -386,15 +386,16 @@ class BaseChannel : public ChannelInterface,
|
||||
// and input/output level monitoring.
|
||||
class VoiceChannel : public BaseChannel {
|
||||
public:
|
||||
VoiceChannel(rtc::Thread* worker_thread,
|
||||
rtc::Thread* network_thread,
|
||||
rtc::Thread* signaling_thread,
|
||||
std::unique_ptr<VoiceMediaChannel> send_channel_impl,
|
||||
std::unique_ptr<VoiceMediaChannel> receive_channel_impl,
|
||||
absl::string_view mid,
|
||||
bool srtp_required,
|
||||
webrtc::CryptoOptions crypto_options,
|
||||
rtc::UniqueRandomIdGenerator* ssrc_generator);
|
||||
VoiceChannel(
|
||||
rtc::Thread* worker_thread,
|
||||
rtc::Thread* network_thread,
|
||||
rtc::Thread* signaling_thread,
|
||||
std::unique_ptr<VoiceMediaSendChannelInterface> send_channel_impl,
|
||||
std::unique_ptr<VoiceMediaReceiveChannelInterface> receive_channel_impl,
|
||||
absl::string_view mid,
|
||||
bool srtp_required,
|
||||
webrtc::CryptoOptions crypto_options,
|
||||
rtc::UniqueRandomIdGenerator* ssrc_generator);
|
||||
// Constructor for use when the MediaChannel is not split
|
||||
// TODO(bugs.webrtc.org/13931): Delete when split channel project is complete.
|
||||
VoiceChannel(rtc::Thread* worker_thread,
|
||||
@ -414,20 +415,34 @@ class VoiceChannel : public BaseChannel {
|
||||
}
|
||||
VoiceChannel* AsVoiceChannel() override { return this; }
|
||||
|
||||
VoiceMediaSendChannelInterface* send_channel() {
|
||||
if (media_send_channel_) {
|
||||
return media_send_channel_->AsVoiceSendChannel();
|
||||
}
|
||||
return media_channel_->AsVoiceSendChannel();
|
||||
}
|
||||
|
||||
VoiceMediaReceiveChannelInterface* receive_channel() {
|
||||
if (media_receive_channel_) {
|
||||
return media_receive_channel_->AsVoiceReceiveChannel();
|
||||
}
|
||||
return media_channel_->AsVoiceReceiveChannel();
|
||||
}
|
||||
|
||||
VoiceMediaSendChannelInterface* media_send_channel() override {
|
||||
return &send_channel_;
|
||||
return send_channel();
|
||||
}
|
||||
|
||||
VoiceMediaSendChannelInterface* voice_media_send_channel() override {
|
||||
return &send_channel_;
|
||||
return send_channel();
|
||||
}
|
||||
|
||||
VoiceMediaReceiveChannelInterface* media_receive_channel() override {
|
||||
return &receive_channel_;
|
||||
return receive_channel();
|
||||
}
|
||||
|
||||
VoiceMediaReceiveChannelInterface* voice_media_receive_channel() override {
|
||||
return &receive_channel_;
|
||||
return receive_channel();
|
||||
}
|
||||
|
||||
cricket::MediaType media_type() const override {
|
||||
@ -447,8 +462,6 @@ class VoiceChannel : public BaseChannel {
|
||||
std::string& error_desc)
|
||||
RTC_RUN_ON(worker_thread()) override;
|
||||
|
||||
VoiceMediaSendChannel send_channel_ RTC_GUARDED_BY(worker_thread());
|
||||
VoiceMediaReceiveChannel receive_channel_ RTC_GUARDED_BY(worker_thread());
|
||||
// Last AudioSendParameters sent down to the media_channel() via
|
||||
// SetSendParameters.
|
||||
AudioSendParameters last_send_params_ RTC_GUARDED_BY(worker_thread());
|
||||
@ -460,15 +473,16 @@ class VoiceChannel : public BaseChannel {
|
||||
// VideoChannel is a specialization for video.
|
||||
class VideoChannel : public BaseChannel {
|
||||
public:
|
||||
VideoChannel(rtc::Thread* worker_thread,
|
||||
rtc::Thread* network_thread,
|
||||
rtc::Thread* signaling_thread,
|
||||
std::unique_ptr<VideoMediaChannel> media_send_channel_impl,
|
||||
std::unique_ptr<VideoMediaChannel> media_receive_channel_impl,
|
||||
absl::string_view mid,
|
||||
bool srtp_required,
|
||||
webrtc::CryptoOptions crypto_options,
|
||||
rtc::UniqueRandomIdGenerator* ssrc_generator);
|
||||
VideoChannel(
|
||||
rtc::Thread* worker_thread,
|
||||
rtc::Thread* network_thread,
|
||||
rtc::Thread* signaling_thread,
|
||||
std::unique_ptr<VideoMediaSendChannelInterface> media_send_channel,
|
||||
std::unique_ptr<VideoMediaReceiveChannelInterface> media_receive_channel,
|
||||
absl::string_view mid,
|
||||
bool srtp_required,
|
||||
webrtc::CryptoOptions crypto_options,
|
||||
rtc::UniqueRandomIdGenerator* ssrc_generator);
|
||||
// Constructor for use when the MediaChannel is not split
|
||||
// TODO(bugs.webrtc.org/13931): Delete when split channel project is complete.
|
||||
VideoChannel(rtc::Thread* worker_thread,
|
||||
@ -487,20 +501,34 @@ class VideoChannel : public BaseChannel {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
VideoMediaSendChannelInterface* send_channel() {
|
||||
if (media_send_channel_) {
|
||||
return media_send_channel_->AsVideoSendChannel();
|
||||
}
|
||||
return media_channel_->AsVideoSendChannel();
|
||||
}
|
||||
|
||||
VideoMediaReceiveChannelInterface* receive_channel() {
|
||||
if (media_receive_channel_) {
|
||||
return media_receive_channel_->AsVideoReceiveChannel();
|
||||
}
|
||||
return media_channel_->AsVideoReceiveChannel();
|
||||
}
|
||||
|
||||
VideoMediaSendChannelInterface* media_send_channel() override {
|
||||
return &send_channel_;
|
||||
return send_channel();
|
||||
}
|
||||
|
||||
VideoMediaSendChannelInterface* video_media_send_channel() override {
|
||||
return &send_channel_;
|
||||
return send_channel();
|
||||
}
|
||||
|
||||
VideoMediaReceiveChannelInterface* media_receive_channel() override {
|
||||
return &receive_channel_;
|
||||
return receive_channel();
|
||||
}
|
||||
|
||||
VideoMediaReceiveChannelInterface* video_media_receive_channel() override {
|
||||
return &receive_channel_;
|
||||
return receive_channel();
|
||||
}
|
||||
|
||||
cricket::MediaType media_type() const override {
|
||||
@ -519,8 +547,6 @@ class VideoChannel : public BaseChannel {
|
||||
std::string& error_desc)
|
||||
RTC_RUN_ON(worker_thread()) override;
|
||||
|
||||
VideoMediaSendChannel send_channel_ RTC_GUARDED_BY(worker_thread());
|
||||
VideoMediaReceiveChannel receive_channel_ RTC_GUARDED_BY(worker_thread());
|
||||
// Last VideoSendParameters sent down to the media_channel() via
|
||||
// SetSendParameters.
|
||||
VideoSendParameters last_send_params_ RTC_GUARDED_BY(worker_thread());
|
||||
|
||||
@ -1476,29 +1476,28 @@ class ChannelTest : public ::testing::Test, public sigslot::has_slots<> {
|
||||
// T::MediaChannel is either FakeVoiceMediaChannel or FakeVideoMediaChannel.
|
||||
typename T::MediaChannel* media_send_channel1_impl() {
|
||||
RTC_DCHECK(channel1_);
|
||||
RTC_DCHECK(channel1_->media_send_channel());
|
||||
return static_cast<typename T::MediaChannel*>(
|
||||
channel1_->media_send_channel()->ImplForTesting());
|
||||
channel1_->media_send_channel());
|
||||
}
|
||||
|
||||
typename T::MediaChannel* media_send_channel2_impl() {
|
||||
RTC_DCHECK(channel2_);
|
||||
RTC_DCHECK(channel2_->media_send_channel());
|
||||
return static_cast<typename T::MediaChannel*>(
|
||||
channel2_->media_send_channel()->ImplForTesting());
|
||||
channel2_->media_send_channel());
|
||||
}
|
||||
typename T::MediaChannel* media_receive_channel1_impl() {
|
||||
RTC_DCHECK(channel1_);
|
||||
RTC_DCHECK(channel1_->media_receive_channel());
|
||||
return static_cast<typename T::MediaChannel*>(
|
||||
channel1_->media_receive_channel()->ImplForTesting());
|
||||
channel1_->media_receive_channel());
|
||||
}
|
||||
|
||||
typename T::MediaChannel* media_receive_channel2_impl() {
|
||||
RTC_DCHECK(channel2_);
|
||||
RTC_DCHECK(channel2_->media_receive_channel());
|
||||
return static_cast<typename T::MediaChannel*>(
|
||||
channel2_->media_receive_channel()->ImplForTesting());
|
||||
channel2_->media_receive_channel());
|
||||
}
|
||||
|
||||
rtc::AutoThread main_thread_;
|
||||
|
||||
@ -149,10 +149,8 @@ class RtpSenderReceiverTest
|
||||
RTC_CHECK(voice_media_receive_channel());
|
||||
RTC_CHECK(video_media_receive_channel());
|
||||
// Create sender channel objects
|
||||
voice_send_channel_ = std::make_unique<cricket::VoiceMediaSendChannel>(
|
||||
voice_media_send_channel());
|
||||
video_send_channel_ = std::make_unique<cricket::VideoMediaSendChannel>(
|
||||
video_media_send_channel());
|
||||
voice_send_channel_ = voice_media_send_channel()->AsVoiceSendChannel();
|
||||
video_send_channel_ = video_media_send_channel()->AsVideoSendChannel();
|
||||
|
||||
// Create streams for predefined SSRCs. Streams need to exist in order
|
||||
// for the senders and receievers to apply parameters to them.
|
||||
@ -227,7 +225,7 @@ class RtpSenderReceiverTest
|
||||
ASSERT_TRUE(audio_rtp_sender_->SetTrack(audio_track_.get()));
|
||||
EXPECT_CALL(*set_streams_observer, OnSetStreams());
|
||||
audio_rtp_sender_->SetStreams({local_stream_->id()});
|
||||
audio_rtp_sender_->SetMediaChannel(voice_send_channel_.get());
|
||||
audio_rtp_sender_->SetMediaChannel(voice_send_channel_);
|
||||
audio_rtp_sender_->SetSsrc(kAudioSsrc);
|
||||
VerifyVoiceChannelInput();
|
||||
}
|
||||
@ -554,8 +552,8 @@ class RtpSenderReceiverTest
|
||||
std::unique_ptr<cricket::FakeVideoMediaChannel> video_media_send_channel_;
|
||||
std::unique_ptr<cricket::FakeVoiceMediaChannel> voice_media_receive_channel_;
|
||||
std::unique_ptr<cricket::FakeVideoMediaChannel> video_media_receive_channel_;
|
||||
std::unique_ptr<cricket::VoiceMediaSendChannel> voice_send_channel_;
|
||||
std::unique_ptr<cricket::VideoMediaSendChannel> video_send_channel_;
|
||||
cricket::VoiceMediaSendChannelInterface* voice_send_channel_;
|
||||
cricket::VideoMediaSendChannelInterface* video_send_channel_;
|
||||
rtc::scoped_refptr<AudioRtpSender> audio_rtp_sender_;
|
||||
rtc::scoped_refptr<VideoRtpSender> video_rtp_sender_;
|
||||
rtc::scoped_refptr<AudioRtpReceiver> audio_rtp_receiver_;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user