补充C API拉流代理缺少retry_count重试次数配置 (#3584)

Co-authored-by: 李道甫 <lidf@ahtelit.com>
This commit is contained in:
Lidaofu 2024-05-30 10:49:05 +08:00 committed by GitHub
parent 3a50c6e06d
commit 49dfccd56f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 48 additions and 10 deletions

View File

@ -51,6 +51,9 @@ extern "C" {
//输出日志到回调函数(mk_events::on_mk_log) //输出日志到回调函数(mk_events::on_mk_log)
#define LOG_CALLBACK (1 << 2) #define LOG_CALLBACK (1 << 2)
//向下兼容
#define mk_env_init1 mk_env_init2
//回调user_data回调函数 //回调user_data回调函数
typedef void(API_CALL *on_user_data_free)(void *user_data); typedef void(API_CALL *on_user_data_free)(void *user_data);
@ -104,7 +107,7 @@ API_EXPORT void API_CALL mk_stop_all_server();
* @param ssl ssl证书内容或路径NULL * @param ssl ssl证书内容或路径NULL
* @param ssl_pwd NULL * @param ssl_pwd NULL
*/ */
API_EXPORT void API_CALL mk_env_init1(int thread_num, API_EXPORT void API_CALL mk_env_init2(int thread_num,
int log_level, int log_level,
int log_mask, int log_mask,
const char *log_file_path, const char *log_file_path,

View File

@ -32,6 +32,7 @@ typedef struct mk_proxy_player_t *mk_proxy_player;
*/ */
API_EXPORT mk_proxy_player API_CALL mk_proxy_player_create(const char *vhost, const char *app, const char *stream, int hls_enabled, int mp4_enabled); API_EXPORT mk_proxy_player API_CALL mk_proxy_player_create(const char *vhost, const char *app, const char *stream, int hls_enabled, int mp4_enabled);
/** /**
* *
* @param vhost __defaultVhost__ * @param vhost __defaultVhost__
@ -43,6 +44,32 @@ API_EXPORT mk_proxy_player API_CALL mk_proxy_player_create(const char *vhost, co
API_EXPORT mk_proxy_player API_CALL mk_proxy_player_create2(const char *vhost, const char *app, const char *stream, mk_ini option); API_EXPORT mk_proxy_player API_CALL mk_proxy_player_create2(const char *vhost, const char *app, const char *stream, mk_ini option);
/**
*
* @param vhost __defaultVhost__
* @param app
* @param stream
* @param rtp_type rtsp播放方式:RTP_TCP = 0, RTP_UDP = 1, RTP_MULTICAST = 2
* @param hls_enabled hls
* @param mp4_enabled mp4
* @param retry_count <0
* @return
*/
API_EXPORT mk_proxy_player API_CALL mk_proxy_player_create3(const char *vhost, const char *app, const char *stream, int hls_enabled, int mp4_enabled, int retry_count);
/**
*
* @param vhost __defaultVhost__
* @param app
* @param stream
* @param option ProtocolOption相关配置
* @param retry_count <0
* @return
*/
API_EXPORT mk_proxy_player API_CALL mk_proxy_player_create4(const char *vhost, const char *app, const char *stream, mk_ini option, int retry_count);
/** /**
* *
* @param ctx * @param ctx

View File

@ -83,7 +83,7 @@ API_EXPORT void API_CALL mk_stop_all_server(){
stopAllTcpServer(); stopAllTcpServer();
} }
API_EXPORT void API_CALL mk_env_init1(int thread_num, API_EXPORT void API_CALL mk_env_init2(int thread_num,
int log_level, int log_level,
int log_mask, int log_mask,
const char *log_file_path, const char *log_file_path,

View File

@ -16,22 +16,30 @@ using namespace toolkit;
using namespace mediakit; using namespace mediakit;
API_EXPORT mk_proxy_player API_CALL mk_proxy_player_create(const char *vhost, const char *app, const char *stream, int hls_enabled, int mp4_enabled) { API_EXPORT mk_proxy_player API_CALL mk_proxy_player_create(const char *vhost, const char *app, const char *stream, int hls_enabled, int mp4_enabled) {
return mk_proxy_player_create3(vhost, app, stream, hls_enabled, mp4_enabled,-1);
}
API_EXPORT mk_proxy_player API_CALL mk_proxy_player_create2(const char *vhost, const char *app, const char *stream, mk_ini ini) {
return mk_proxy_player_create4(vhost, app, stream, ini, -1);
}
API_EXPORT mk_proxy_player API_CALL mk_proxy_player_create3(const char *vhost, const char *app, const char *stream, int hls_enabled, int mp4_enabled, int retry_count) {
assert(vhost && app && stream); assert(vhost && app && stream);
ProtocolOption option; ProtocolOption option;
option.enable_hls = hls_enabled; option.enable_hls = hls_enabled;
option.enable_mp4 = mp4_enabled; option.enable_mp4 = mp4_enabled;
PlayerProxy::Ptr *obj(new PlayerProxy::Ptr(new PlayerProxy(vhost, app, stream, option))); PlayerProxy::Ptr *obj(new PlayerProxy::Ptr(new PlayerProxy(vhost, app, stream, option, retry_count)));
return (mk_proxy_player) obj;
}
API_EXPORT mk_proxy_player API_CALL mk_proxy_player_create2(const char *vhost, const char *app, const char *stream, mk_ini ini) {
assert(vhost && app && stream);
ProtocolOption option(*((mINI *)ini));
PlayerProxy::Ptr *obj(new PlayerProxy::Ptr(new PlayerProxy(vhost, app, stream, option)));
return (mk_proxy_player)obj; return (mk_proxy_player)obj;
} }
API_EXPORT mk_proxy_player API_CALL mk_proxy_player_create4(const char *vhost, const char *app, const char *stream, mk_ini ini, int retry_count) {
assert(vhost && app && stream);
ProtocolOption option(*((mINI *)ini));
PlayerProxy::Ptr *obj(new PlayerProxy::Ptr(new PlayerProxy(vhost, app, stream, option, retry_count)));
return (mk_proxy_player)obj;
}
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) {
assert(ctx); assert(ctx);
PlayerProxy::Ptr *obj = (PlayerProxy::Ptr *) ctx; PlayerProxy::Ptr *obj = (PlayerProxy::Ptr *) ctx;