添加mk_rtp_server_start接口

This commit is contained in:
xiongziliang 2019-12-18 14:53:42 +08:00
parent d342cc3a76
commit be5d98b968
4 changed files with 36 additions and 2 deletions

View File

@ -102,6 +102,13 @@ API_EXPORT uint16_t API_CALL mk_rtsp_server_start(uint16_t port, int ssl);
*/ */
API_EXPORT uint16_t API_CALL mk_rtmp_server_start(uint16_t port, int ssl); API_EXPORT uint16_t API_CALL mk_rtmp_server_start(uint16_t port, int ssl);
/**
* rtp服务器
* @param port rtp监听端口(udp/tcp)
* @return 0:,0:
*/
API_EXPORT uint16_t API_CALL mk_rtp_server_start(uint16_t port);
/** /**
* *
* @param level ,0~4 * @param level ,0~4

View File

@ -65,7 +65,6 @@ API_EXPORT void API_CALL mk_http_downloader_release(mk_http_downloader ctx);
*/ */
API_EXPORT void API_CALL mk_http_downloader_start(mk_http_downloader ctx, const char *url, const char *file, on_mk_download_complete cb, void *user_data); API_EXPORT void API_CALL mk_http_downloader_start(mk_http_downloader ctx, const char *url, const char *file, on_mk_download_complete cb, void *user_data);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif

View File

@ -53,7 +53,6 @@ API_EXPORT mk_proxy_player API_CALL mk_proxy_player_create(const char *vhost, co
*/ */
API_EXPORT void API_CALL mk_proxy_player_release(mk_proxy_player ctx); API_EXPORT void API_CALL mk_proxy_player_release(mk_proxy_player ctx);
/** /**
* *
* @param ctx * @param ctx

View File

@ -43,6 +43,13 @@ static TcpServer::Ptr rtsp_server[2];
static TcpServer::Ptr rtmp_server[2]; static TcpServer::Ptr rtmp_server[2];
static TcpServer::Ptr http_server[2]; static TcpServer::Ptr http_server[2];
#ifdef ENABLE_RTPPROXY
#include "Rtp/UdpRecver.h"
#include "Rtp/RtpSession.h"
static std::shared_ptr<UdpRecver> udpRtpServer;
static TcpServer::Ptr tcpRtpServer(new TcpServer());
#endif
//////////////////////////environment init/////////////////////////// //////////////////////////environment init///////////////////////////
API_EXPORT void API_CALL mk_env_init(const config *cfg) { API_EXPORT void API_CALL mk_env_init(const config *cfg) {
assert(cfg); assert(cfg);
@ -129,6 +136,28 @@ API_EXPORT uint16_t API_CALL mk_rtmp_server_start(uint16_t port, int ssl) {
} }
} }
API_EXPORT uint16_t API_CALL mk_rtp_server_start(uint16_t port){
#ifdef ENABLE_RTPPROXY
try {
//创建rtp tcp服务器
tcpRtpServer->start<RtpSession>(port);
auto ret = tcpRtpServer->getPort();
udpRtpServer = std::make_shared<UdpRecver>();
//创建rtp udp服务器
udpRtpServer->initSock(port);
return ret;
} catch (std::exception &ex) {
tcpRtpServer.reset();
udpRtpServer.reset();
WarnL << ex.what();
return 0;
}
#else
WarnL << "未启用该功能!";
return 0;
#endif
}
API_EXPORT void API_CALL mk_log_printf(int level, const char *file, const char *function, int line, const char *fmt, ...) { API_EXPORT void API_CALL mk_log_printf(int level, const char *file, const char *function, int line, const char *fmt, ...) {
assert(file && function && fmt); assert(file && function && fmt);
LogContextCapturer info(Logger::Instance(), (LogLevel) level, file, function, line); LogContextCapturer info(Logger::Instance(), (LogLevel) level, file, function, line);