diff --git a/util/RTCContext.cpp b/util/RTCContext.cpp index cb90eab..9a4c427 100644 --- a/util/RTCContext.cpp +++ b/util/RTCContext.cpp @@ -515,6 +515,7 @@ bool RTCContext::initSend(const char* srcRoomId, const char* destRoomId, const i sleep(3); } if (std::string(srcRoomId) != std::string(destRoomId)) { + isMultiRoom_ = true; std::cout << "join multi room" << std::endl; int16_t ret1 = rtcEngine_->joinMultiRoom(destRoomId); if (ret1 != 0) @@ -522,6 +523,8 @@ bool RTCContext::initSend(const char* srcRoomId, const char* destRoomId, const i std::cout << "joinMultiRoom fail, ret:" << ret1; return false; } + } else { + isMultiRoom_ = false; } mrtc::MRTCAudioOption option; @@ -554,7 +557,7 @@ int16_t RTCContext::sendAudioData(uint8_t channelIndex, const void* pData, int32 int16_t RTCContext::sendCustomAudioData(const int16_t channelIndex, void* customData, int32_t sampleRate, uint64_t channelNum, uint64_t dataLen) { - while(!isOnRoom_ || !isJoinMultiRoom_) { + while(!isOnRoom_ || (isMultiRoom_ && !isJoinMultiRoom_)) { std::cout << "wait for room and multi room before send" << std::endl; sleep(3); } diff --git a/util/RTCContext.h b/util/RTCContext.h index 5e1e27d..fc428c0 100644 --- a/util/RTCContext.h +++ b/util/RTCContext.h @@ -105,6 +105,7 @@ private: bool isOnRoom_ = false; bool isOnConsumer_ = false; bool isJoinMultiRoom_ = false; + bool isMultiRoom_ = false; boost::python::object pyCallback_; void ** numpyApi_; void onRoom(uint32_t typeId, RTCENGINE_NAMESPACE::MRTCRoomInfo& roomInfo);