c sdk支持webrtc tcp
This commit is contained in:
parent
82b72fe718
commit
eef2b1fb7a
|
|
@ -37,7 +37,8 @@ static std::shared_ptr<RtpServer> rtpServer;
|
|||
|
||||
#ifdef ENABLE_WEBRTC
|
||||
#include "../webrtc/WebRtcSession.h"
|
||||
static std::shared_ptr<UdpServer> rtcServer;
|
||||
static std::shared_ptr<UdpServer> rtcServer_udp;
|
||||
static std::shared_ptr<TcpServer> rtcServer_tcp;
|
||||
#endif
|
||||
|
||||
#if defined(ENABLE_SRT)
|
||||
|
|
@ -72,7 +73,8 @@ API_EXPORT void API_CALL mk_stop_all_server(){
|
|||
rtpServer = nullptr;
|
||||
#endif
|
||||
#ifdef ENABLE_WEBRTC
|
||||
rtcServer = nullptr;
|
||||
rtcServer_udp = nullptr;
|
||||
rtcServer_tcp = nullptr;
|
||||
#endif
|
||||
#ifdef ENABLE_SRT
|
||||
srtServer = nullptr;
|
||||
|
|
@ -178,7 +180,7 @@ API_EXPORT uint16_t API_CALL mk_http_server_start(uint16_t port, int ssl) {
|
|||
}
|
||||
return http_server[ssl]->getPort();
|
||||
} catch (std::exception &ex) {
|
||||
http_server[ssl].reset();
|
||||
http_server[ssl] = nullptr;;
|
||||
WarnL << ex.what();
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -195,7 +197,7 @@ API_EXPORT uint16_t API_CALL mk_rtsp_server_start(uint16_t port, int ssl) {
|
|||
}
|
||||
return rtsp_server[ssl]->getPort();
|
||||
} catch (std::exception &ex) {
|
||||
rtsp_server[ssl].reset();
|
||||
rtsp_server[ssl] = nullptr;;
|
||||
WarnL << ex.what();
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -212,7 +214,7 @@ API_EXPORT uint16_t API_CALL mk_rtmp_server_start(uint16_t port, int ssl) {
|
|||
}
|
||||
return rtmp_server[ssl]->getPort();
|
||||
} catch (std::exception &ex) {
|
||||
rtmp_server[ssl].reset();
|
||||
rtmp_server[ssl] = nullptr;;
|
||||
WarnL << ex.what();
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -226,7 +228,7 @@ API_EXPORT uint16_t API_CALL mk_rtp_server_start(uint16_t port){
|
|||
rtpServer->start(port);
|
||||
return rtpServer->getPort();
|
||||
} catch (std::exception &ex) {
|
||||
rtpServer.reset();
|
||||
rtpServer = nullptr;;
|
||||
WarnL << ex.what();
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -239,9 +241,9 @@ API_EXPORT uint16_t API_CALL mk_rtp_server_start(uint16_t port){
|
|||
API_EXPORT uint16_t API_CALL mk_rtc_server_start(uint16_t port) {
|
||||
#ifdef ENABLE_WEBRTC
|
||||
try {
|
||||
//创建rtc服务器
|
||||
rtcServer = std::make_shared<UdpServer>();
|
||||
rtcServer->setOnCreateSocket([](const EventPoller::Ptr &poller, const Buffer::Ptr &buf, struct sockaddr *, int) {
|
||||
//创建rtc udp服务器
|
||||
rtcServer_udp = std::make_shared<UdpServer>();
|
||||
rtcServer_udp->setOnCreateSocket([](const EventPoller::Ptr &poller, const Buffer::Ptr &buf, struct sockaddr *, int) {
|
||||
if (!buf) {
|
||||
return Socket::createSocket(poller, false);
|
||||
}
|
||||
|
|
@ -252,11 +254,15 @@ API_EXPORT uint16_t API_CALL mk_rtc_server_start(uint16_t port) {
|
|||
}
|
||||
return Socket::createSocket(new_poller, false);
|
||||
});
|
||||
rtcServer->start<WebRtcSession>(port);
|
||||
return rtcServer->getPort();
|
||||
rtcServer_udp->start<WebRtcSession>(port);
|
||||
//创建rtc tcp服务器
|
||||
rtcServer_tcp = std::make_shared<TcpServer>();
|
||||
rtcServer_tcp->start<WebRtcSession>(rtcServer_udp->getPort());
|
||||
return rtcServer_udp->getPort();
|
||||
|
||||
} catch (std::exception &ex) {
|
||||
rtcServer.reset();
|
||||
rtcServer_udp = nullptr;
|
||||
rtcServer_tcp = nullptr;
|
||||
WarnL << ex.what();
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -323,7 +329,7 @@ API_EXPORT uint16_t API_CALL mk_srt_server_start(uint16_t port) {
|
|||
return srtServer->getPort();
|
||||
|
||||
} catch (std::exception &ex) {
|
||||
srtServer.reset();
|
||||
srtServer = nullptr;;
|
||||
WarnL << ex.what();
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -339,7 +345,7 @@ API_EXPORT uint16_t API_CALL mk_shell_server_start(uint16_t port){
|
|||
shell_server->start<ShellSession>(port);
|
||||
return shell_server->getPort();
|
||||
} catch (std::exception &ex) {
|
||||
shell_server.reset();
|
||||
shell_server = nullptr;;
|
||||
WarnL << ex.what();
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue