mirror of
https://github.com/ZLMediaKit/ZLMediaKit.git
synced 2024-11-23 03:10:04 +08:00
startSendRtp接口udp发送不指定端口时,从端口池获取端口
This commit is contained in:
parent
a6e82799f5
commit
a1b350c9f0
@ -31,7 +31,15 @@ void RtpSender::startSend(const MediaSourceEvent::SendRtpArgs &args, const funct
|
|||||||
_socket = Socket::createSocket(_poller, false);
|
_socket = Socket::createSocket(_poller, false);
|
||||||
weak_ptr<RtpSender> weak_self = shared_from_this();
|
weak_ptr<RtpSender> weak_self = shared_from_this();
|
||||||
if (args.is_udp) {
|
if (args.is_udp) {
|
||||||
|
if (args.src_port) {
|
||||||
|
//指定端口
|
||||||
_socket->bindUdpSock(args.src_port);
|
_socket->bindUdpSock(args.src_port);
|
||||||
|
} else {
|
||||||
|
auto pr = std::make_pair(std::move(_socket), Socket::createSocket(_poller, false));
|
||||||
|
//从端口池获取随机端口
|
||||||
|
makeSockPair(pr, "0.0.0.0", true);
|
||||||
|
_socket = std::move(pr.first);
|
||||||
|
}
|
||||||
auto poller = _poller;
|
auto poller = _poller;
|
||||||
auto local_port = _socket->get_local_port();
|
auto local_port = _socket->get_local_port();
|
||||||
WorkThreadPool::Instance().getPoller()->async([cb, args, weak_self, poller, local_port]() {
|
WorkThreadPool::Instance().getPoller()->async([cb, args, weak_self, poller, local_port]() {
|
||||||
|
Loading…
Reference in New Issue
Block a user