Skip to content

Commit aaa17b2

Browse files
committed
added:m3u8 file record supported
1 parent 76418b8 commit aaa17b2

File tree

16 files changed

+503
-16
lines changed

16 files changed

+503
-16
lines changed

XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Define.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ typedef struct tag_XEngine_ServiceConfig
6767
struct
6868
{
6969
bool bEnable;
70+
XCHAR tszHLSPath[MAX_PATH];
7071
}st_PullHls;
7172
struct
7273
{

XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,8 @@ bool CModuleConfigure_Json::ModuleConfigure_Json_File(LPCXSTR lpszConfigFile, XE
146146
pSt_ServerConfig->st_XPull.st_PullRtsp.nARTPPort = st_PullRtsp["nARTPPort"].asInt();
147147
pSt_ServerConfig->st_XPull.st_PullRtsp.nARTCPPort = st_PullRtsp["nARTCPPort"].asInt();
148148

149+
_tcsxcpy(pSt_ServerConfig->st_XPull.st_PullHls.tszHLSPath, st_PullHls["tszHLSPath"].asCString());
150+
149151
pSt_ServerConfig->st_XPull.st_PullWebRtc.nSTUNPort = st_PullWebRtc["nSTUNPort"].asInt();
150152
//日志配置
151153
if (st_JsonRoot["XLog"].empty() || (3 != st_JsonRoot["XLog"].size()))

XEngine_Source/XEngine_ModuleSession/ModuleSession_Define.h

Lines changed: 106 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -370,4 +370,109 @@ extern "C" bool ModuleSession_PushStream_GetAVInfo(LPCXSTR lpszClientAddr, XENGI
370370
意思:是否成功
371371
备注:
372372
*********************************************************************/
373-
extern "C" bool ModuleSession_PushStream_GetInfo(STREAMMEDIA_PUBLISHINFO*** pppSt_ProtocolStream, int* pInt_ListCount);
373+
extern "C" bool ModuleSession_PushStream_GetInfo(STREAMMEDIA_PUBLISHINFO*** pppSt_ProtocolStream, int* pInt_ListCount);
374+
/********************************************************************
375+
函数名称:ModuleSession_PushStream_HLSInsert
376+
函数功能:插入创建一个HLS文件
377+
参数.一:lpszClientAddr
378+
In/Out:In
379+
类型:常量字符指针
380+
可空:N
381+
意思:输入客户端地址
382+
参数.二:lpszTSFile
383+
In/Out:In
384+
类型:常量字符指针
385+
可空:N
386+
意思:输入路径
387+
参数.三:xhToken
388+
In/Out:In
389+
类型:句柄
390+
可空:N
391+
意思:输入HLS文件句柄
392+
返回值
393+
类型:逻辑型
394+
意思:是否成功
395+
备注:
396+
*********************************************************************/
397+
extern "C" bool ModuleSession_PushStream_HLSInsert(LPCXSTR lpszClientAddr, LPCXSTR lpszTSFile, XNETHANDLE xhToken);
398+
/********************************************************************
399+
函数名称:ModuleSession_PushStream_HLSWrite
400+
函数功能:HLS写入数据
401+
参数.一:lpszClientAddr
402+
In/Out:In
403+
类型:常量字符指针
404+
可空:N
405+
意思:输入客户端地址
406+
参数.二:lpszMSGBuffer
407+
In/Out:In
408+
类型:常量字符指针
409+
可空:N
410+
意思:输入要写入的缓冲区数据
411+
参数.三:nMSGLen
412+
In/Out:In
413+
类型:整数型
414+
可空:N
415+
意思:输入缓冲区大小
416+
返回值
417+
类型:逻辑型
418+
意思:是否成功
419+
备注:
420+
*********************************************************************/
421+
extern "C" bool ModuleSession_PushStream_HLSWrite(LPCXSTR lpszClientAddr, LPCXSTR lpszMSGBuffer, int nMSGLen);
422+
/********************************************************************
423+
函数名称:ModuleSession_PushStream_HLSClose
424+
函数功能:关闭一个HLS文件
425+
参数.一:lpszClientAddr
426+
In/Out:In
427+
类型:常量字符指针
428+
可空:N
429+
意思:输入客户端地址
430+
参数.二:pxhToken
431+
In/Out:Out
432+
类型:句柄
433+
可空:N
434+
意思:输出HLS文件句柄
435+
返回值
436+
类型:逻辑型
437+
意思:是否成功
438+
备注:
439+
*********************************************************************/
440+
extern "C" bool ModuleSession_PushStream_HLSClose(LPCXSTR lpszClientAddr, XNETHANDLE* pxhToken);
441+
/********************************************************************
442+
函数名称:ModuleSession_PushStream_HLSTimeSet
443+
函数功能:设置一个时间戳
444+
参数.一:lpszClientAddr
445+
In/Out:In
446+
类型:常量字符指针
447+
可空:N
448+
意思:输入客户端地址
449+
参数.二:nTime
450+
In/Out:In
451+
类型:整数型
452+
可空:N
453+
意思:输入要设置的时间戳
454+
返回值
455+
类型:逻辑型
456+
意思:是否成功
457+
备注:
458+
*********************************************************************/
459+
extern "C" bool ModuleSession_PushStream_HLSTimeSet(LPCXSTR lpszClientAddr, __int64u nTime);
460+
/********************************************************************
461+
函数名称:ModuleSession_PushStream_HLSTimeGet
462+
函数功能:获取一个时间戳
463+
参数.一:lpszClientAddr
464+
In/Out:In
465+
类型:常量字符指针
466+
可空:N
467+
意思:输入客户端地址
468+
参数.二:pInt_Time
469+
In/Out:Out
470+
类型:整数型指针
471+
可空:N
472+
意思:输出获取到的时间戳
473+
返回值
474+
类型:逻辑型
475+
意思:是否成功
476+
备注:
477+
*********************************************************************/
478+
extern "C" bool ModuleSession_PushStream_HLSTimeGet(LPCXSTR lpszClientAddr, __int64u* pInt_Time);

XEngine_Source/XEngine_ModuleSession/ModuleSession_Error.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,5 @@
2323
#define ERROR_STREAMMEDIA_MODULE_SESSION_NOTLIVE 0xE0008 //没有找到属性
2424
#define ERROR_STREAMMEDIA_MODULE_SESSION_EMPTY 0xE0009 //空的列表
2525
#define ERROR_STREAMMEDIA_MODULE_SESSION_NOTFOUND 0xE000A //没有找到
26-
#define ERROR_STREAMMEDIA_MODULE_SESSION_NOTSUPPORT 0xE000B //不支持的类型
26+
#define ERROR_STREAMMEDIA_MODULE_SESSION_NOTSUPPORT 0xE000B //不支持的类型
27+
#define ERROR_STREAMMEDIA_MODULE_SESSION_FILE 0xE000C //文件操作失败

0 commit comments

Comments
 (0)