From 298378266a20b8684b4269491c8aa288b528d6db Mon Sep 17 00:00:00 2001 From: acgist <289547414@qq.com> Date: Sat, 26 Aug 2023 12:55:25 +0800 Subject: [PATCH] =?UTF-8?q?[*]=20=E6=B7=BB=E5=8A=A0=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../taoyao/media/src/main/cpp/webrtc/Room.cpp | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/taoyao-client-android/taoyao/media/src/main/cpp/webrtc/Room.cpp b/taoyao-client-android/taoyao/media/src/main/cpp/webrtc/Room.cpp index dd9d644..ddeb669 100644 --- a/taoyao-client-android/taoyao/media/src/main/cpp/webrtc/Room.cpp +++ b/taoyao-client-android/taoyao/media/src/main/cpp/webrtc/Room.cpp @@ -306,6 +306,10 @@ namespace acgist { webrtc::PeerConnectionFactoryInterface* factory, webrtc::PeerConnectionInterface::RTCConfiguration& rtcConfiguration ) { + if(this->device->IsLoaded()) { + LOG_W("配置已经加载"); + return; + } this->factory = factory; this->rtcConfiguration = new webrtc::PeerConnectionInterface::RTCConfiguration(rtcConfiguration); mediasoupclient::PeerConnection::Options options; @@ -360,9 +364,14 @@ namespace acgist { { "opusStereo", true }, { "opusDtx", true } }; + rtc::scoped_refptr track = mediaStream->GetAudioTracks()[0]; + if(track->state() == webrtc::MediaStreamTrackInterface::TrackState::kEnded) { + LOG_W("音频媒体状态错误"); + return; + } this->audioProducer = this->sendTransport->Produce( this->producerListener, - mediaStream->GetAudioTracks()[0], + track, nullptr, &codecOptions, nullptr @@ -399,9 +408,14 @@ namespace acgist { // encodings.emplace_back(max); // 强制设置编码器 // nlohmann::json codec = this->device->GetRtpCapabilities()["codec"]; + rtc::scoped_refptr track = mediaStream->GetVideoTracks()[0]; + if(track->state() == webrtc::MediaStreamTrackInterface::TrackState::kEnded) { + LOG_W("视频媒体状态错误"); + return; + } this->videoProducer = this->sendTransport->Produce( this->producerListener, - mediaStream->GetVideoTracks()[0], + track, nullptr, &codecOptions, nullptr