diff --git a/src/Rtp/RtpSender.cpp b/src/Rtp/RtpSender.cpp index 087f11fb..6db6c3f5 100644 --- a/src/Rtp/RtpSender.cpp +++ b/src/Rtp/RtpSender.cpp @@ -40,6 +40,15 @@ void RtpSender::startSend(const MediaSource &sender, const MediaSourceEvent::Sen _origin_socket = dynamic_pointer_cast(sender.getOriginSock()); } catch (...) { } + if (!_origin_socket) { + try { + auto process = dynamic_pointer_cast(sender.getOriginSock()); + if (process) { + _origin_socket = process->getSock(); + } + } catch (...) { + } + } _args = args; if (!_interface) { // 重连时不重新创建对象 [AUTO-TRANSLATED:b788cd5d]