From 6999891855b8c7c2b38aa37e732dc98dbf185604 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Tue, 19 Aug 2025 16:04:38 +0800 Subject: [PATCH 01/19] fixed:build failure --- XEngine_Source/XEngine_DependLibrary | 2 +- .../XEngine_StreamMediaApp/XEngine_AVPacket.cpp | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/XEngine_Source/XEngine_DependLibrary b/XEngine_Source/XEngine_DependLibrary index 269830b..8970bcc 160000 --- a/XEngine_Source/XEngine_DependLibrary +++ b/XEngine_Source/XEngine_DependLibrary @@ -1 +1 @@ -Subproject commit 269830be96d7e95646ce43533294156063178509 +Subproject commit 8970bcc172a44e943e01921ffd398594e58c8d6f diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/XEngine_AVPacket.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/XEngine_AVPacket.cpp index bb9da3b..5dd17ed 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/XEngine_AVPacket.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/XEngine_AVPacket.cpp @@ -561,7 +561,7 @@ bool XEngine_AVPacket_AVFrame(XCHAR* ptszSDBuffer, int* pInt_SDLen, XCHAR* ptszR if (ENUM_XENGINE_STREAMMEDIA_CLIENT_TYPE_PULL_RTSP == stl_ListIteratorClient->enClientType) { int nPacketCount = 0; - STREAMMEDIA_RTPPROTOCOL_PACKET** ppSt_RTPPacket; + XENGINE_MSGBUFFER** ppSt_RTPPacket; XCHAR tszSSCRStr[XPATH_MAX] = {}; XCHAR tszADDRStr[128] = {}; @@ -573,7 +573,7 @@ bool XEngine_AVPacket_AVFrame(XCHAR* ptszSDBuffer, int* pInt_SDLen, XCHAR* ptszR //发送数据,RTSP使用UDP发送 for (int i = 0; i < nPacketCount; i++) { - NetCore_UDPXCore_SendEx(xhVRTPSocket, tszADDRStr, ppSt_RTPPacket[i]->tszMsgBuffer, ppSt_RTPPacket[i]->nMsgLen); + NetCore_UDPXCore_SendEx(xhVRTPSocket, tszADDRStr, ppSt_RTPPacket[i]->unData.tszMSGBuffer, ppSt_RTPPacket[i]->nMSGLen); } } else @@ -584,7 +584,7 @@ bool XEngine_AVPacket_AVFrame(XCHAR* ptszSDBuffer, int* pInt_SDLen, XCHAR* ptszR //发送数据,RTSP使用UDP发送 for (int i = 0; i < nPacketCount; i++) { - NetCore_UDPXCore_SendEx(xhARTPSocket, tszADDRStr, ppSt_RTPPacket[i]->tszMsgBuffer, ppSt_RTPPacket[i]->nMsgLen); + NetCore_UDPXCore_SendEx(xhARTPSocket, tszADDRStr, ppSt_RTPPacket[i]->unData.tszMSGBuffer, ppSt_RTPPacket[i]->nMSGLen); } } BaseLib_Memory_Free((XPPPMEM)&ppSt_RTPPacket, nPacketCount); @@ -601,7 +601,7 @@ bool XEngine_AVPacket_AVFrame(XCHAR* ptszSDBuffer, int* pInt_SDLen, XCHAR* ptszR if (ENUM_XENGINE_STREAMMEDIA_CLIENT_TYPE_PULL_RTC == stl_ListIteratorClient->enClientType) { int nPacketCount = 0; - STREAMMEDIA_RTPPROTOCOL_PACKET** ppSt_RTPPacket; + XENGINE_MSGBUFFER** ppSt_RTPPacket; XCHAR tszSSCRStr[XPATH_MAX] = {}; if (0 == byAVType) @@ -611,8 +611,8 @@ bool XEngine_AVPacket_AVFrame(XCHAR* ptszSDBuffer, int* pInt_SDLen, XCHAR* ptszR //发送数据,RTSP使用UDP发送 for (int i = 0; i < nPacketCount; i++) { - ModuleHelp_SRTPCore_RTPINProtect(ppSt_RTPPacket[i]->tszMsgBuffer, &ppSt_RTPPacket[i]->nMsgLen); - XEngine_Network_Send(stl_ListIteratorClient->tszClientID, ppSt_RTPPacket[i]->tszMsgBuffer, ppSt_RTPPacket[i]->nMsgLen, ENUM_XENGINE_STREAMMEDIA_CLIENT_TYPE_PUSH_RTC); + ModuleHelp_SRTPCore_RTPINProtect(ppSt_RTPPacket[i]->unData.tszMSGBuffer, &ppSt_RTPPacket[i]->nMSGLen); + XEngine_Network_Send(stl_ListIteratorClient->tszClientID, ppSt_RTPPacket[i]->unData.tszMSGBuffer, ppSt_RTPPacket[i]->nMSGLen, ENUM_XENGINE_STREAMMEDIA_CLIENT_TYPE_PUSH_RTC); } } else From 01238f472e4965ab447402897164056e4149b7e6 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Mon, 13 Oct 2025 10:42:13 +0800 Subject: [PATCH 02/19] fixed:sometime configure read memory leak --- .../ModuleConfigure_Json/ModuleConfigure_Json.cpp | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.cpp b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.cpp index ec4e1b2..0121d72 100644 --- a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.cpp +++ b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.cpp @@ -229,21 +229,12 @@ bool CModuleConfigure_Json::ModuleConfigure_Json_Versions(LPCXSTR lpszConfigFile Config_dwErrorCode = ERROR_MODULE_CONFIGURE_JSON_OPENFILE; return false; } - size_t nCount = 0; - XCHAR tszMsgBuffer[4096]; - while (1) - { - size_t nRet = fread(tszMsgBuffer + nCount, 1, 2048, pSt_File); - if (nRet <= 0) - { - break; - } - nCount += nRet; - } + XCHAR tszMsgBuffer[8192] = {}; + size_t nRet = fread(tszMsgBuffer, 1, sizeof(tszMsgBuffer), pSt_File); fclose(pSt_File); //开始解析配置文件 std::unique_ptr const pSt_JsonReader(st_JsonBuilder.newCharReader()); - if (!pSt_JsonReader->parse(tszMsgBuffer, tszMsgBuffer + nCount, &st_JsonRoot, &st_JsonError)) + if (!pSt_JsonReader->parse(tszMsgBuffer, tszMsgBuffer + nRet, &st_JsonRoot, &st_JsonError)) { Config_IsErrorOccur = true; Config_dwErrorCode = ERROR_MODULE_CONFIGURE_JSON_PARSE; From 60808dfdbb1262ac66ade0675b09299f8a310830 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Mon, 13 Oct 2025 10:58:58 +0800 Subject: [PATCH 03/19] update:depend library --- XEngine_Source/XEngine_DependLibrary | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/XEngine_Source/XEngine_DependLibrary b/XEngine_Source/XEngine_DependLibrary index 8970bcc..17ee0da 160000 --- a/XEngine_Source/XEngine_DependLibrary +++ b/XEngine_Source/XEngine_DependLibrary @@ -1 +1 @@ -Subproject commit 8970bcc172a44e943e01921ffd398594e58c8d6f +Subproject commit 17ee0dae1c3ea1d789dc3479f0aaed320f3dfe14 From fe3e6b1a09e09f48820918d328778a8585060fe1 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Mon, 13 Oct 2025 10:59:16 +0800 Subject: [PATCH 04/19] fixed:build failure --- .github/workflows/release.yml | 2 +- .../ModuleSession_Define.h | 4 +- .../ModuleSession_PushStream.cpp | 4 +- .../ModuleSession_PushStream.h | 8 +- XEngine_Source/XEngine_ModuleSession/pch.cpp | 4 +- .../PushStream_ClientWebRtc.cpp | 37 +++++++++- .../XEngine_AVPacket.cpp | 73 ++++++++++++++++--- .../XEngine_StreamMediaApp/XEngine_Hdr.h | 2 +- .../XEngine_Network.cpp | 4 +- .../XEngine_StreamMediaApp.cpp | 2 +- 10 files changed, 114 insertions(+), 26 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a544436..c3021c6 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -85,7 +85,7 @@ jobs: build=$(echo $latest_tag | cut -d '.' -f 4) new_minor=$((minor + 1)) - new_version="$major.$new_minor.0.$build" + new_version="$major.$new_minor.$patch.$build" echo "New version: $new_version" echo "new_tag=$new_version" >> $GITHUB_OUTPUT echo "prev_tag=$latest_tag" >> $GITHUB_OUTPUT diff --git a/XEngine_Source/XEngine_ModuleSession/ModuleSession_Define.h b/XEngine_Source/XEngine_ModuleSession/ModuleSession_Define.h index 0d7e3f5..42689b2 100644 --- a/XEngine_Source/XEngine_ModuleSession/ModuleSession_Define.h +++ b/XEngine_Source/XEngine_ModuleSession/ModuleSession_Define.h @@ -818,7 +818,7 @@ extern "C" bool ModuleSession_PushStream_HLSTimeGet(LPCXSTR lpszClientAddr, __in 意思:是否成功 备注: *********************************************************************/ -extern "C" bool ModuleSession_PushStream_AudioCodecSet(LPCXSTR lpszClientAddr, XNETHANDLE xhAudioDecodec, XNETHANDLE xhAudioEncodec); +extern "C" bool ModuleSession_PushStream_AudioCodecSet(LPCXSTR lpszClientAddr, XHANDLE xhAudioDecodec, XHANDLE xhAudioEncodec); /******************************************************************** 函数名称:ModuleSession_PushStream_AudioCodecGet 函数功能:获取解码器句柄 @@ -842,7 +842,7 @@ extern "C" bool ModuleSession_PushStream_AudioCodecSet(LPCXSTR lpszClientAddr, X 意思:是否成功 备注: *********************************************************************/ -extern "C" bool ModuleSession_PushStream_AudioCodecGet(LPCXSTR lpszClientAddr, XNETHANDLE* pxhAudioDecodec, XNETHANDLE* pxhAudioEncodec); +extern "C" bool ModuleSession_PushStream_AudioCodecGet(LPCXSTR lpszClientAddr, XHANDLE* pxhAudioDecodec, XHANDLE* pxhAudioEncodec); /******************************************************************** 函数名称:ModuleSession_PushStream_RTCConnSet 函数功能:设置RTC连接状态 diff --git a/XEngine_Source/XEngine_ModuleSession/ModuleSession_PushStream/ModuleSession_PushStream.cpp b/XEngine_Source/XEngine_ModuleSession/ModuleSession_PushStream/ModuleSession_PushStream.cpp index bd3f6e5..4444446 100644 --- a/XEngine_Source/XEngine_ModuleSession/ModuleSession_PushStream/ModuleSession_PushStream.cpp +++ b/XEngine_Source/XEngine_ModuleSession/ModuleSession_PushStream/ModuleSession_PushStream.cpp @@ -817,7 +817,7 @@ bool CModuleSession_PushStream::ModuleSession_PushStream_HLSTimeGet(LPCXSTR lpsz 意思:是否成功 备注: *********************************************************************/ -bool CModuleSession_PushStream::ModuleSession_PushStream_AudioCodecSet(LPCXSTR lpszClientAddr, XNETHANDLE xhAudioDecodec, XNETHANDLE xhAudioEncodec) +bool CModuleSession_PushStream::ModuleSession_PushStream_AudioCodecSet(LPCXSTR lpszClientAddr, XHANDLE xhAudioDecodec, XHANDLE xhAudioEncodec) { Session_IsErrorOccur = false; @@ -866,7 +866,7 @@ bool CModuleSession_PushStream::ModuleSession_PushStream_AudioCodecSet(LPCXSTR l 意思:是否成功 备注: *********************************************************************/ -bool CModuleSession_PushStream::ModuleSession_PushStream_AudioCodecGet(LPCXSTR lpszClientAddr, XNETHANDLE* pxhAudioDecodec, XNETHANDLE* pxhAudioEncodec) +bool CModuleSession_PushStream::ModuleSession_PushStream_AudioCodecGet(LPCXSTR lpszClientAddr, XHANDLE* pxhAudioDecodec, XHANDLE* pxhAudioEncodec) { Session_IsErrorOccur = false; diff --git a/XEngine_Source/XEngine_ModuleSession/ModuleSession_PushStream/ModuleSession_PushStream.h b/XEngine_Source/XEngine_ModuleSession/ModuleSession_PushStream/ModuleSession_PushStream.h index f312ba0..46e8013 100644 --- a/XEngine_Source/XEngine_ModuleSession/ModuleSession_PushStream/ModuleSession_PushStream.h +++ b/XEngine_Source/XEngine_ModuleSession/ModuleSession_PushStream/ModuleSession_PushStream.h @@ -29,8 +29,8 @@ typedef struct }st_RTCInfo; struct { - XNETHANDLE xhAudioDecodec; - XNETHANDLE xhAudioEncodec; + XHANDLE xhAudioDecodec; + XHANDLE xhAudioEncodec; }st_AVCodec; XENGINE_PROTOCOL_AVINFO st_AVInfo; XCHAR tszSMSAddr[XPATH_MAX]; @@ -65,8 +65,8 @@ class CModuleSession_PushStream bool ModuleSession_PushStream_HLSTimeSet(LPCXSTR lpszClientAddr, __int64u nTime); bool ModuleSession_PushStream_HLSTimeGet(LPCXSTR lpszClientAddr, __int64u *pInt_Time); public: - bool ModuleSession_PushStream_AudioCodecSet(LPCXSTR lpszClientAddr, XNETHANDLE xhAudioDecodec, XNETHANDLE xhAudioEncodec); - bool ModuleSession_PushStream_AudioCodecGet(LPCXSTR lpszClientAddr, XNETHANDLE* pxhAudioDecodec, XNETHANDLE* pxhAudioEncodec); + bool ModuleSession_PushStream_AudioCodecSet(LPCXSTR lpszClientAddr, XHANDLE xhAudioDecodec, XHANDLE xhAudioEncodec); + bool ModuleSession_PushStream_AudioCodecGet(LPCXSTR lpszClientAddr, XHANDLE* pxhAudioDecodec, XHANDLE* pxhAudioEncodec); public: bool ModuleSession_PushStream_RTCAddrSet(LPCXSTR lpszClientUser, LPCXSTR lpszClientAddr); bool ModuleSession_PushStream_RTCAddrGet(LPCXSTR lpszClientAddr, XCHAR* ptszClientUser); diff --git a/XEngine_Source/XEngine_ModuleSession/pch.cpp b/XEngine_Source/XEngine_ModuleSession/pch.cpp index a01f330..50e6f0e 100644 --- a/XEngine_Source/XEngine_ModuleSession/pch.cpp +++ b/XEngine_Source/XEngine_ModuleSession/pch.cpp @@ -176,11 +176,11 @@ extern "C" bool ModuleSession_PushStream_HLSTimeGet(LPCXSTR lpszClientAddr, __in { return m_PushStream.ModuleSession_PushStream_HLSTimeGet(lpszClientAddr, pInt_Time); } -extern "C" bool ModuleSession_PushStream_AudioCodecSet(LPCXSTR lpszClientAddr, XNETHANDLE xhAudioDecodec, XNETHANDLE xhAudioEncodec) +extern "C" bool ModuleSession_PushStream_AudioCodecSet(LPCXSTR lpszClientAddr, XHANDLE xhAudioDecodec, XHANDLE xhAudioEncodec) { return m_PushStream.ModuleSession_PushStream_AudioCodecSet(lpszClientAddr, xhAudioDecodec, xhAudioEncodec); } -extern "C" bool ModuleSession_PushStream_AudioCodecGet(LPCXSTR lpszClientAddr, XNETHANDLE* pxhAudioDecodec, XNETHANDLE* pxhAudioEncodec) +extern "C" bool ModuleSession_PushStream_AudioCodecGet(LPCXSTR lpszClientAddr, XHANDLE* pxhAudioDecodec, XHANDLE* pxhAudioEncodec) { return m_PushStream.ModuleSession_PushStream_AudioCodecGet(lpszClientAddr, pxhAudioDecodec, pxhAudioEncodec); } diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/StreamMedia_PushStream/PushStream_ClientWebRtc.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/StreamMedia_PushStream/PushStream_ClientWebRtc.cpp index 8c4d629..7042c0b 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/StreamMedia_PushStream/PushStream_ClientWebRtc.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/StreamMedia_PushStream/PushStream_ClientWebRtc.cpp @@ -182,6 +182,11 @@ bool PushStream_ClientProtocol_Thread() { int nVideoIndex = 0; int nAudioIndex = 0; + int nRVLen = 0; + int nSDLen = 0; + XCHAR* ptszRVBuffer = (XCHAR*)ManagePool_Memory_Alloc(xhMemoryPool, XENGINE_MEMORY_SIZE_MAX); + XCHAR* ptszSDBuffer = (XCHAR*)ManagePool_Memory_Alloc(xhMemoryPool, XENGINE_MEMORY_SIZE_MAX); + ModuleSession_PushStream_RTCIndexGet(ppSt_ListAddr[i]->tszClientAddr, &nVideoIndex, &nAudioIndex); while (true) { @@ -193,6 +198,28 @@ bool PushStream_ClientProtocol_Thread() { break; } + + int nPos = 0; + int nNALLen = 0; + int nFIXLen = 0; + XENGINE_AVCODEC_VIDEOFRAMETYPE enFrameType; + + AVHelp_Parse_NaluHdr(ptszMSGBuffer, nMSGLen, &nNALLen, &nFIXLen); + AVHelp_Parse_NaluType(ptszMSGBuffer + nPos, ENUM_XENGINE_AVCODEC_VIDEO_TYPE_H264, &enFrameType); + //如果是AUD单元,跳过AUD + if (ENUM_XENGINE_AVCODEC_VIDEO_FRAMETYPE_AUD == enFrameType) + { + nPos = nNALLen; + //重新获取 + AVHelp_Parse_NaluType(ptszMSGBuffer + nPos, ENUM_XENGINE_AVCODEC_VIDEO_TYPE_H264, &enFrameType); + } + //如果是关键帧 + if (ENUM_XENGINE_AVCODEC_VIDEO_FRAMETYPE_SPS == enFrameType || ENUM_XENGINE_AVCODEC_VIDEO_FRAMETYPE_PPS == enFrameType || ENUM_XENGINE_AVCODEC_VIDEO_FRAMETYPE_SEI == enFrameType) + { + XEngine_AVPacket_AVHdr(ppSt_ListAddr[i]->tszClientAddr, ptszMSGBuffer + nPos, nMSGLen - nPos, 0, ENUM_XENGINE_STREAMMEDIA_CLIENT_TYPE_PUSH_SRT); + } + XEngine_AVPacket_AVFrame(ptszSDBuffer, &nSDLen, ptszRVBuffer, &nRVLen, ppSt_ListAddr[i]->tszClientAddr, ptszMSGBuffer + nPos, nMSGLen - nPos, 0); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_DEBUG, _X("SRT推流端:%s,接受视频推流数据,数据大小:%d,帧类型:%d,跳过AUD:%d"), ppSt_ListAddr[i]->tszClientAddr, nMSGLen, enFrameType, nPos); //fwrite(ptszMSGBuffer, 1, nMSGLen, pSt_VFile); BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMSGBuffer); } @@ -206,7 +233,11 @@ bool PushStream_ClientProtocol_Thread() { break; } - //fwrite(ptszMSGBuffer, 1, nRVLen, pSt_AFile); + //OPUS + //XEngine_AVPacket_AVHdr(ppSt_ListAddr[i]->tszClientAddr, ptszMSGBuffer, nMSGLen, 1, ENUM_XENGINE_STREAMMEDIA_CLIENT_TYPE_PUSH_SRT); + //XEngine_AVPacket_AVFrame(ptszSDBuffer, &nSDLen, ptszRVBuffer, &nRVLen, ppSt_ListAddr[i]->tszClientAddr, ptszMSGBuffer + 7, nMSGLen - 7, 1); + //XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_DEBUG, _X("SRT推流端:%s,接受音频推流数据,数据大小:%d"), ppSt_ListAddr[i]->tszClientAddr, nMSGLen); + fwrite(ptszMSGBuffer, 1, nRVLen, pSt_AFile); BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMSGBuffer); } } @@ -412,9 +443,11 @@ bool PushStream_ClientWhip_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LP SDPProtocol_Packet_GetPacket(xhPacket, tszRVBuffer, &nRVLen); SDPProtocol_Packet_Destory(xhPacket); - ModuleSession_PushStream_Create(tszUserStr, tszSMSAddr, ENUM_XENGINE_STREAMMEDIA_CLIENT_TYPE_PULL_RTC); + ModuleSession_PushStream_Create(tszUserStr, tszSMSAddr, ENUM_XENGINE_STREAMMEDIA_CLIENT_TYPE_PUSH_RTC); ModuleSession_PushStream_RTCIndexSet(tszUserStr, nVideoIndex, nAudioIndex); ModuleSession_PushStream_SetAVInfo(tszUserStr, &st_AVInfo); + + XEngine_AVPacket_AVCreate(tszUserStr); SocketOpt_HeartBeat_InsertAddrEx(xhRTCWhipHeart, tszUserStr); //需要加入心跳,不然没法知道超时 st_HDRParam.nHttpCode = 201; diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/XEngine_AVPacket.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/XEngine_AVPacket.cpp index 5dd17ed..b30dc2c 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/XEngine_AVPacket.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/XEngine_AVPacket.cpp @@ -23,7 +23,6 @@ bool XEngine_AVPacket_AVCreate(LPCXSTR lpszClientAddr) if (st_ServiceConfig.st_XPull.st_PullHls.bEnable || st_ServiceConfig.st_XPull.st_PullSrt.bEnable || st_ServiceConfig.st_XPull.st_PullTs.bEnable) { HLSProtocol_TSPacket_Insert(lpszClientAddr, 100); - if (st_ServiceConfig.st_XPull.st_PullHls.bEnable) { XCHAR tszSMSAddr[XPATH_MAX] = {}; @@ -314,19 +313,75 @@ bool XEngine_AVPacket_AVHdr(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int n } } } + else if (ENUM_XENGINE_STREAMMEDIA_CLIENT_TYPE_PUSH_RTC == enClientType) + { + //SRT推流 + ModuleSession_PushStream_GetAVInfo(lpszClientAddr, &st_AVInfo); + if (0 == byAVType) + { + int nPos = 0; + int nSPSLen = 0; + int nPPSLen = 0; + XBYTE uszSPSBuffer[1024]; + XBYTE uszPPSBuffer[1024]; + + memset(uszSPSBuffer, '\0', sizeof(uszSPSBuffer)); + memset(uszPPSBuffer, '\0', sizeof(uszPPSBuffer)); + if (!AVHelp_Parse_VideoHdr(lpszMsgBuffer, nMsgLen, ENUM_XENGINE_AVCODEC_VIDEO_TYPE_H264, NULL, uszSPSBuffer, uszPPSBuffer, NULL, NULL, &nSPSLen, &nPPSLen, NULL, &nPos)) + { + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("SRT推流端:%s,解析SPS,PPS,VPS失败,错误:%lX"), lpszClientAddr, AVHelp_GetLastError()); + return false; + } + AFHELP_FRAMESPS st_SPSFrame; + memset(&st_SPSFrame, '\0', sizeof(AFHELP_FRAMESPS)); + + AVHelp_Parse_SPSInfo((LPCXSTR)uszSPSBuffer + 1, nSPSLen - 1, &st_SPSFrame); + _tcsxcpy(st_AVInfo.tszPktName, "Lavf59.27.100"); + st_AVInfo.st_VideoInfo.bEnable = true; + st_AVInfo.st_VideoInfo.enAVCodec = 7; + st_AVInfo.st_VideoInfo.nWidth = st_SPSFrame.nFrameWidth; + st_AVInfo.st_VideoInfo.nHeight = st_SPSFrame.nFrameHeigth; + st_AVInfo.st_VideoInfo.nFrameRate = st_SPSFrame.nFrameFPS; + st_AVInfo.st_VideoInfo.nVLen = nPos; + memset(st_AVInfo.st_VideoInfo.tszVInfo, '\0', sizeof(st_AVInfo.st_VideoInfo.tszVInfo)); + memcpy(st_AVInfo.st_VideoInfo.tszVInfo, lpszMsgBuffer, nPos); + XEngine_AVPacket_AVSetTime(lpszClientAddr, st_AVInfo.st_VideoInfo.nFrameRate, st_AVInfo.st_AudioInfo.nSampleRate); + ModuleSession_PushStream_SetAVInfo(lpszClientAddr, &st_AVInfo); + } + else + { + //音频参数信息是否存在 + if (0 == st_AVInfo.st_AudioInfo.nALen) + { + int nProfile = 0; + int nConfig = 0; + if (AVHelp_Parse_AACInfo((const XBYTE*)lpszMsgBuffer, nMsgLen, &st_AVInfo.st_AudioInfo.nChannel, &st_AVInfo.st_AudioInfo.nSampleRate, &nProfile, &nConfig)) + { + st_AVInfo.st_AudioInfo.bEnable = true; + st_AVInfo.st_AudioInfo.nALen = 7; + st_AVInfo.st_AudioInfo.enAVCodec = 10; + st_AVInfo.st_AudioInfo.nSampleFmt = 16; + st_AVInfo.st_AudioInfo.nChannel = 1; + XEngine_AVPacket_AVSetTime(lpszClientAddr, st_AVInfo.st_VideoInfo.nFrameRate, st_AVInfo.st_AudioInfo.nSampleRate); + AVHelp_Packet_AACHdr((XBYTE*)st_AVInfo.st_AudioInfo.tszAInfo, st_AVInfo.st_AudioInfo.nSampleRate, st_AVInfo.st_AudioInfo.nChannel, 0); + ModuleSession_PushStream_SetAVInfo(lpszClientAddr, &st_AVInfo); + } + } + } + } if (st_ServiceConfig.st_XPull.st_PullWebRtc.bEnable && 0 != byAVType) { - XNETHANDLE xhDecodec = 0; - XNETHANDLE xhEncodec = 0; - if (!AudioCodec_Stream_DeInit(&xhDecodec, ENUM_XENGINE_AVCODEC_AUDIO_TYPE_AAC)) + XHANDLE xhDecodec = AudioCodec_Stream_DeInit(ENUM_XENGINE_AVCODEC_AUDIO_TYPE_AAC); + if (NULL == xhDecodec) { XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("推流端:%s,初始化音频解码器失败,错误:%lX"), lpszClientAddr, AudioCodec_GetLastError()); return false; } st_AVInfo.st_AudioInfo.enAVCodec = ENUM_XENGINE_AVCODEC_AUDIO_TYPE_AAC; - if (!AudioCodec_Stream_EnInit(&xhEncodec, &st_AVInfo.st_AudioInfo)) + XHANDLE xhEncodec = AudioCodec_Stream_EnInit(&st_AVInfo.st_AudioInfo); + if (NULL == xhEncodec) { AudioCodec_Stream_Destroy(xhDecodec); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("推流端:%s,初始化音频编码器失败,错误:%lX"), lpszClientAddr, AudioCodec_GetLastError()); @@ -573,7 +628,7 @@ bool XEngine_AVPacket_AVFrame(XCHAR* ptszSDBuffer, int* pInt_SDLen, XCHAR* ptszR //发送数据,RTSP使用UDP发送 for (int i = 0; i < nPacketCount; i++) { - NetCore_UDPXCore_SendEx(xhVRTPSocket, tszADDRStr, ppSt_RTPPacket[i]->unData.tszMSGBuffer, ppSt_RTPPacket[i]->nMSGLen); + NetCore_UDPXCore_SendEx(xhVRTPSocket, tszADDRStr, (LPCXSTR)ppSt_RTPPacket[i]->unData.tszMSGBuffer, ppSt_RTPPacket[i]->nMSGLen[0]); } } else @@ -584,7 +639,7 @@ bool XEngine_AVPacket_AVFrame(XCHAR* ptszSDBuffer, int* pInt_SDLen, XCHAR* ptszR //发送数据,RTSP使用UDP发送 for (int i = 0; i < nPacketCount; i++) { - NetCore_UDPXCore_SendEx(xhARTPSocket, tszADDRStr, ppSt_RTPPacket[i]->unData.tszMSGBuffer, ppSt_RTPPacket[i]->nMSGLen); + NetCore_UDPXCore_SendEx(xhARTPSocket, tszADDRStr, (LPCXSTR)ppSt_RTPPacket[i]->unData.tszMSGBuffer, ppSt_RTPPacket[i]->nMSGLen[0]); } } BaseLib_Memory_Free((XPPPMEM)&ppSt_RTPPacket, nPacketCount); @@ -611,8 +666,8 @@ bool XEngine_AVPacket_AVFrame(XCHAR* ptszSDBuffer, int* pInt_SDLen, XCHAR* ptszR //发送数据,RTSP使用UDP发送 for (int i = 0; i < nPacketCount; i++) { - ModuleHelp_SRTPCore_RTPINProtect(ppSt_RTPPacket[i]->unData.tszMSGBuffer, &ppSt_RTPPacket[i]->nMSGLen); - XEngine_Network_Send(stl_ListIteratorClient->tszClientID, ppSt_RTPPacket[i]->unData.tszMSGBuffer, ppSt_RTPPacket[i]->nMSGLen, ENUM_XENGINE_STREAMMEDIA_CLIENT_TYPE_PUSH_RTC); + ModuleHelp_SRTPCore_RTPINProtect((XCHAR *)ppSt_RTPPacket[i]->unData.tszMSGBuffer, &ppSt_RTPPacket[i]->nMSGLen[0]); + XEngine_Network_Send(stl_ListIteratorClient->tszClientID, (LPCXSTR)ppSt_RTPPacket[i]->unData.tszMSGBuffer, ppSt_RTPPacket[i]->nMSGLen[0], ENUM_XENGINE_STREAMMEDIA_CLIENT_TYPE_PUSH_RTC); } } else diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/XEngine_Hdr.h b/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/XEngine_Hdr.h index 24d460c..bbc0d5b 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/XEngine_Hdr.h +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/XEngine_Hdr.h @@ -59,9 +59,9 @@ using namespace std; #include #include #include -#include #include #include +#include #include #include #include diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/XEngine_Network.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/XEngine_Network.cpp index 8a54ebb..fd24d66 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/XEngine_Network.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/XEngine_Network.cpp @@ -271,8 +271,8 @@ void XEngine_Network_Close(LPCXSTR lpszClientAddr, XSOCKET hSocket, bool bHeart, { HLSProtocol_M3u8Packet_Delete(xhHLSFile, xhHLSToken, st_ServiceConfig.st_XPull.st_PullHls.bClear); } - XNETHANDLE xhDecodec = 0; - XNETHANDLE xhEncodec = 0; + XHANDLE xhDecodec = 0; + XHANDLE xhEncodec = 0; if (ModuleSession_PushStream_AudioCodecGet(lpszClientAddr, &xhDecodec, &xhEncodec)) { AudioCodec_Stream_Destroy(xhDecodec); diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/XEngine_StreamMediaApp.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/XEngine_StreamMediaApp.cpp index 7516980..957679b 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/XEngine_StreamMediaApp.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/XEngine_StreamMediaApp.cpp @@ -217,7 +217,7 @@ int main(int argc, char** argv) memset(&st_ServiceConfig, '\0', sizeof(XENGINE_SERVICECONFIG)); //pSt_VFile = _xtfopen("./1.h264", "wb"); - //pSt_AFile = _xtfopen("./1.opus", "wb"); + pSt_AFile = _xtfopen("./1.opus", "wb"); //初始化参数 if (!XEngine_Configure_Parament(argc, argv)) { From de86f089fdeeeab9931278176104683a80463622 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Wed, 22 Oct 2025 09:32:51 +0800 Subject: [PATCH 05/19] update:depend library --- XEngine_Source/XEngine_DependLibrary | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/XEngine_Source/XEngine_DependLibrary b/XEngine_Source/XEngine_DependLibrary index 17ee0da..24bde9d 160000 --- a/XEngine_Source/XEngine_DependLibrary +++ b/XEngine_Source/XEngine_DependLibrary @@ -1 +1 @@ -Subproject commit 17ee0dae1c3ea1d789dc3479f0aaed320f3dfe14 +Subproject commit 24bde9d212cd48b822ad8aab90956033972ee46b From 3503483e2349fbe0ade80f5ff8b2024a6d3ce2b0 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Tue, 4 Nov 2025 13:44:55 +0800 Subject: [PATCH 06/19] update:depend library --- XEngine_Source/XEngine_DependLibrary | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/XEngine_Source/XEngine_DependLibrary b/XEngine_Source/XEngine_DependLibrary index 24bde9d..dc2e4b3 160000 --- a/XEngine_Source/XEngine_DependLibrary +++ b/XEngine_Source/XEngine_DependLibrary @@ -1 +1 @@ -Subproject commit 24bde9d212cd48b822ad8aab90956033972ee46b +Subproject commit dc2e4b3af5b666e888166ef1e7567475f6f03904 From f7b22aaa765ef64e61ffddde620fd102366bddd7 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Tue, 4 Nov 2025 13:49:47 +0800 Subject: [PATCH 07/19] ci:add alma and centos and debian 13 system support --- .github/workflows/Alma_build.yml | 96 +++++++++++++++++++++++++++ .github/workflows/Centos_build.yml | 100 +++++++++++++++++++++++++++++ .github/workflows/Rocky_build.yml | 3 - .github/workflows/debian_build.yml | 16 +++-- .github/workflows/release.yml | 18 ++++++ 5 files changed, 226 insertions(+), 7 deletions(-) create mode 100644 .github/workflows/Alma_build.yml create mode 100644 .github/workflows/Centos_build.yml diff --git a/.github/workflows/Alma_build.yml b/.github/workflows/Alma_build.yml new file mode 100644 index 0000000..a831714 --- /dev/null +++ b/.github/workflows/Alma_build.yml @@ -0,0 +1,96 @@ +name: alma build workflows + +on: + push: + branches: + - 'develop' + paths: + - 'XEngine_Source/**' + - 'XEngine_Release/**' + - '.github/**' + +permissions: + contents: read + +jobs: + build: + runs-on: ${{ matrix.runner }} + container: + image: almalinux:${{ matrix.version }} + options: --platform ${{ matrix.platform }} + strategy: + matrix: + include: + - arch: amd64 + runner: ubuntu-24.04 + platform: linux/amd64 + artifact: x86-64 + version: 9 + - arch: amd64 + runner: ubuntu-24.04 + platform: linux/amd64 + artifact: x86-64 + version: 10 + - arch: arm64 + runner: ubuntu-24.04-arm + platform: linux/arm64 + artifact: Arm64 + version: 9 + - arch: arm64 + runner: ubuntu-24.04-arm + platform: linux/arm64 + artifact: Arm64 + version: 10 + + steps: + - name: Checkout main repository code + uses: actions/checkout@v4 + + - name: Checkout dependency repository (xengine) + uses: actions/checkout@v4 + with: + repository: libxengine/libxengine + path: libxengine + + - name: sub module checkout (opensource) + uses: actions/checkout@v4 + with: + repository: libxengine/XEngine_OPenSource + path: XEngine_Source/XEngine_DependLibrary + + - name: Set TERM variable + run: echo "TERM=xterm" >> $GITHUB_ENV + + - name: install system package + run: | + dnf update -y + dnf install gcc g++ make git jq unzip wget -y + dnf install libsrtp-devel srt-devel -y + + - name: install xengine library + run: | + latest_tag=$(curl -s https://api.github.com/repos/libxengine/libxengine/releases/latest | jq -r .tag_name) + wget https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_RockyLinux_${{ matrix.version }}_${{ matrix.artifact }}.zip + unzip ./XEngine_RockyLinux_${{ matrix.version }}_${{ matrix.artifact }}.zip -d ./XEngine_RockyLinux_${{ matrix.version }}_${{ matrix.artifact }} + cd XEngine_RockyLinux_${{ matrix.version }}_${{ matrix.artifact }} + + chmod 777 * + ./XEngine_LINEnv.sh -i 3 + + - name: make + run: | + cd XEngine_Source + make RELEASE=1 + make FLAGS=InstallAll + make FLAGS=CleanAll + cd .. + - name: test + run: | + cd XEngine_Release + ./XEngine_StreamMediaApp -t + + - name: Upload folder as artifact + uses: actions/upload-artifact@v4 + with: + name: XEngine_StreamMediaApp-AlmaLinux_${{ matrix.version }}_${{ matrix.artifact }} + path: XEngine_Release/ \ No newline at end of file diff --git a/.github/workflows/Centos_build.yml b/.github/workflows/Centos_build.yml new file mode 100644 index 0000000..00b25b3 --- /dev/null +++ b/.github/workflows/Centos_build.yml @@ -0,0 +1,100 @@ +name: centos build workflows + +on: + push: + branches: + - 'develop' + paths: + - 'XEngine_Source/**' + - 'XEngine_Release/**' + - '.github/**' + +permissions: + contents: read + +jobs: + build: + runs-on: ${{ matrix.runner }} + container: + image: quay.io/centos/centos:${{ matrix.stream }} + options: --platform ${{ matrix.platform }} + strategy: + matrix: + include: + - arch: amd64 + runner: ubuntu-24.04 + platform: linux/amd64 + artifact: x86-64 + version: 9 + stream: stream9 + - arch: amd64 + runner: ubuntu-24.04 + platform: linux/amd64 + artifact: x86-64 + version: 10 + stream: stream10 + - arch: arm64 + runner: ubuntu-24.04-arm + platform: linux/arm64 + artifact: Arm64 + version: 9 + stream: stream9 + - arch: arm64 + runner: ubuntu-24.04-arm + platform: linux/arm64 + artifact: Arm64 + version: 10 + stream: stream10 + + steps: + - name: Checkout main repository code + uses: actions/checkout@v4 + + - name: Checkout dependency repository (xengine) + uses: actions/checkout@v4 + with: + repository: libxengine/libxengine + path: libxengine + + - name: sub module checkout (opensource) + uses: actions/checkout@v4 + with: + repository: libxengine/XEngine_OPenSource + path: XEngine_Source/XEngine_DependLibrary + + - name: Set TERM variable + run: echo "TERM=xterm" >> $GITHUB_ENV + + - name: install system package + run: | + dnf update -y + dnf install gcc g++ make git jq unzip wget -y + dnf install libsrtp-devel srt-devel -y + + - name: install xengine library + run: | + latest_tag=$(curl -s https://api.github.com/repos/libxengine/libxengine/releases/latest | jq -r .tag_name) + wget https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_RockyLinux_${{ matrix.version }}_${{ matrix.artifact }}.zip + unzip ./XEngine_RockyLinux_${{ matrix.version }}_${{ matrix.artifact }}.zip -d ./XEngine_RockyLinux_${{ matrix.version }}_${{ matrix.artifact }} + cd XEngine_RockyLinux_${{ matrix.version }}_${{ matrix.artifact }} + + chmod 777 * + ./XEngine_LINEnv.sh -i 3 + + - name: make + run: | + cd XEngine_Source + make RELEASE=1 + make FLAGS=InstallAll + make FLAGS=CleanAll + cd .. + - name: test + run: | + cd XEngine_Release + ./XEngine_StreamMediaApp -t + + - name: Upload folder as artifact + uses: actions/upload-artifact@v4 + with: + name: XEngine_StreamMediaApp-CentOS_${{ matrix.version }}_${{ matrix.artifact }} + path: XEngine_Release/ \ No newline at end of file diff --git a/.github/workflows/Rocky_build.yml b/.github/workflows/Rocky_build.yml index d3376a8..c2331df 100644 --- a/.github/workflows/Rocky_build.yml +++ b/.github/workflows/Rocky_build.yml @@ -65,9 +65,6 @@ jobs: - name: install system package run: | - dnf clean all - dnf makecache - dnf distro-sync -y dnf update -y dnf install gcc g++ make git jq unzip wget -y - name: install xengine library diff --git a/.github/workflows/debian_build.yml b/.github/workflows/debian_build.yml index 94031c2..e0f2113 100644 --- a/.github/workflows/debian_build.yml +++ b/.github/workflows/debian_build.yml @@ -25,6 +25,14 @@ jobs: runner: ubuntu-24.04 platform: linux/amd64 artifact: x86-64 + name: bookworm + version: 12 + - arch: amd64 + runner: ubuntu-24.04 + platform: linux/amd64 + artifact: x86-64 + name: trixie + version: 13 steps: - name: Checkout main repository code @@ -56,9 +64,9 @@ jobs: - name: install xengine library run: | latest_tag=$(curl -s https://api.github.com/repos/libxengine/libxengine/releases/latest | jq -r .tag_name) - wget https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_Debian_12_${{ matrix.artifact }}.zip - unzip ./XEngine_Debian_12_${{ matrix.artifact }}.zip -d ./XEngine_Debian_12_${{ matrix.artifact }} - cd XEngine_Debian_12_${{ matrix.artifact }} + wget https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_Debian_${{ matrix.version }}_${{ matrix.artifact }}.zip + unzip ./XEngine_Debian_${{ matrix.version }}_${{ matrix.artifact }}.zip -d ./XEngine_Debian_${{ matrix.version }}_${{ matrix.artifact }} + cd XEngine_Debian_${{ matrix.version }}_${{ matrix.artifact }} chmod 777 * ./XEngine_LINEnv.sh -i 3 @@ -81,6 +89,6 @@ jobs: - name: Upload folder as artifact uses: actions/upload-artifact@v4 with: - name: XEngine_StreamMediaApp-Debian_12_x86-64 + name: XEngine_StreamMediaApp-Debian_${{ matrix.version }}_x86-64 path: XEngine_Release/ retention-days: 1 \ No newline at end of file diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c3021c6..3036c31 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -51,6 +51,24 @@ jobs: skip_unpack: true if_no_artifact_found: fail path: ./XRelease/ + - name: Download Alma build + uses: dawidd6/action-download-artifact@v6 + with: + workflow: Alma_build.yml + workflow_conclusion: success + check_artifacts: false + skip_unpack: true + if_no_artifact_found: fail + path: ./XRelease/ + - name: Download CentOS build + uses: dawidd6/action-download-artifact@v6 + with: + workflow: Centos_build.yml + workflow_conclusion: success + check_artifacts: false + skip_unpack: true + if_no_artifact_found: fail + path: ./XRelease/ - name: Download macbuild uses: dawidd6/action-download-artifact@v6 with: From 7e7cd961523a6125ab184a2e10047f10eb431db5 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Tue, 4 Nov 2025 13:51:52 +0800 Subject: [PATCH 08/19] update:vs copy file --- XEngine_Source/VSCopy_Arm64.bat | 1 - XEngine_Source/VSCopy_Debug.bat | 1 - XEngine_Source/VSCopy_x64.bat | 1 - XEngine_Source/VSCopy_x86.bat | 1 - .../XEngine_ServiceApp/XEngine_StreamMediaApp/Makefile | 1 - 5 files changed, 5 deletions(-) diff --git a/XEngine_Source/VSCopy_Arm64.bat b/XEngine_Source/VSCopy_Arm64.bat index 9128790..4e3ce54 100644 --- a/XEngine_Source/VSCopy_Arm64.bat +++ b/XEngine_Source/VSCopy_Arm64.bat @@ -5,7 +5,6 @@ copy /y "%XEngine_LibArm64%\XEngine_Core\XEngine_Core.dll" "./" copy /y "%XEngine_LibArm64%\XEngine_Core\XEngine_ManagePool.dll" "./" copy /y "%XEngine_LibArm64%\XEngine_Core\XEngine_Cryption.dll" "./" -copy /y "%XEngine_LibArm64%\XEngine_Client\XClient_Stream.dll" "./" copy /y "%XEngine_LibArm64%\XEngine_Client\XClient_APIHelp.dll" "./" copy /y "%XEngine_LibArm64%\XEngine_NetHelp\NetHelp_XSocket.dll" "./" diff --git a/XEngine_Source/VSCopy_Debug.bat b/XEngine_Source/VSCopy_Debug.bat index 0380452..fd38e8f 100644 --- a/XEngine_Source/VSCopy_Debug.bat +++ b/XEngine_Source/VSCopy_Debug.bat @@ -5,7 +5,6 @@ copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_Core.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_ManagePool.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_Cryption.dll" "./" -copy /y "D:\XEngine\XEngine_SourceCode\Debug\XClient_Stream.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\XClient_APIHelp.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\NetHelp_XSocket.dll" "./" diff --git a/XEngine_Source/VSCopy_x64.bat b/XEngine_Source/VSCopy_x64.bat index c4c4739..91ab64d 100644 --- a/XEngine_Source/VSCopy_x64.bat +++ b/XEngine_Source/VSCopy_x64.bat @@ -5,7 +5,6 @@ copy /y "%XEngine_Lib64%\XEngine_Core\XEngine_Core.dll" "./" copy /y "%XEngine_Lib64%\XEngine_Core\XEngine_ManagePool.dll" "./" copy /y "%XEngine_Lib64%\XEngine_Core\XEngine_Cryption.dll" "./" -copy /y "%XEngine_Lib64%\XEngine_Client\XClient_Stream.dll" "./" copy /y "%XEngine_Lib64%\XEngine_Client\XClient_APIHelp.dll" "./" copy /y "%XEngine_Lib64%\XEngine_NetHelp\NetHelp_XSocket.dll" "./" diff --git a/XEngine_Source/VSCopy_x86.bat b/XEngine_Source/VSCopy_x86.bat index fce463a..368e41c 100644 --- a/XEngine_Source/VSCopy_x86.bat +++ b/XEngine_Source/VSCopy_x86.bat @@ -5,7 +5,6 @@ copy /y "%XEngine_Lib32%\XEngine_Core\XEngine_Core.dll" "./" copy /y "%XEngine_Lib32%\XEngine_Core\XEngine_ManagePool.dll" "./" copy /y "%XEngine_Lib32%\XEngine_Core\XEngine_Cryption.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_Client\XClient_Stream.dll" "./" copy /y "%XEngine_Lib32%\XEngine_Client\XClient_APIHelp.dll" "./" copy /y "%XEngine_Lib32%\XEngine_NetHelp\NetHelp_XSocket.dll" "./" diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/Makefile b/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/Makefile index d978688..82c3de7 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/Makefile +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/Makefile @@ -5,7 +5,6 @@ LOADSO = -L ../../XEngine_ModuleConfigure -L ../../XEngine_ModuleProtocol -L ../ -L ../../XEngine_DependLibrary/XEngine_Module/jsoncpp -L ../../XEngine_DependLibrary/XEngine_Module/XEngine_InfoReport LIB = -lXEngine_BaseLib -lXEngine_Algorithm \ -lXEngine_Core -lXEngine_ManagePool -lXEngine_Cryption \ - -lXClient_Stream \ -lXEngine_SystemApi \ -lHelpComponents_XLog -lHelpComponents_Packets \ -lNetHelp_APIHelp -lNetHelp_XSocket -lNetHelp_APIAddr \ From 166f0ae13f6119a727640c380dd8c3ee373a0650 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Tue, 4 Nov 2025 13:54:12 +0800 Subject: [PATCH 09/19] modify:start parameter does not case sensitive --- .../XEngine_StreamMediaApp/XEngine_Configure.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/XEngine_Configure.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/XEngine_Configure.cpp index 280b0a0..a7a4df2 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/XEngine_Configure.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/XEngine_Configure.cpp @@ -28,35 +28,35 @@ bool XEngine_Configure_Parament(int argc, char** argv) for (int i = 0; i < argc; i++) { - if ((0 == _tcsxicmp("-h", argv[i])) || (0 == _tcsxicmp("-H", argv[i]))) + if ((0 == _tcsxcmp("-h", argv[i])) || (0 == _tcsxcmp("-H", argv[i]))) { XEngine_Configure_Help(); return false; } - else if (0 == _tcsxicmp("-d", argv[i])) + else if (0 == _tcsxcmp("-d", argv[i])) { st_ServiceConfig.bDeamon = _ttxoi(argv[i + 1]); } - else if (0 == _tcsxicmp("-b", argv[i])) + else if (0 == _tcsxcmp("-b", argv[i])) { st_ServiceConfig.bDebug = true; } - else if (0 == _tcsxicmp("-t", argv[i])) + else if (0 == _tcsxcmp("-t", argv[i])) { bIsTest = true; } - else if (0 == _tcsxicmp("-l", argv[i])) + else if (0 == _tcsxcmp("-l", argv[i])) { LPCXSTR lpszLogLevel = argv[++i]; - if (0 == _tcsxicmp("debug", lpszLogLevel)) + if (0 == _tcsxcmp("debug", lpszLogLevel)) { st_ServiceConfig.st_XLog.nLogLeave = XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_DETAIL; } - else if (0 == _tcsxicmp("detail", lpszLogLevel)) + else if (0 == _tcsxcmp("detail", lpszLogLevel)) { st_ServiceConfig.st_XLog.nLogLeave = XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_DETAIL; } - else if (0 == _tcsxicmp("info", lpszLogLevel)) + else if (0 == _tcsxcmp("info", lpszLogLevel)) { st_ServiceConfig.st_XLog.nLogLeave = XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO; } From 0001cfc3f51dfe6b1d93c3c043ba1513797595e2 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Tue, 4 Nov 2025 17:10:16 +0800 Subject: [PATCH 10/19] added:http basic and digest verification --- .../XEngine_Config/XEngine_Config.json | 7 ++ XEngine_Source/VSCopy_Arm64.bat | 1 + XEngine_Source/VSCopy_Debug.bat | 1 + XEngine_Source/VSCopy_x64.bat | 1 + XEngine_Source/VSCopy_x86.bat | 1 + XEngine_Source/XEngine.sln | 15 +++ .../ModuleConfig_Define.h | 8 ++ .../ModuleConfig_Error.h | 3 +- .../ModuleConfigure_Json.cpp | 13 ++ .../ModuleProtocol_Define.h | 26 +++- .../ModuleProtocol_Parse.cpp | 72 +++++++++++ .../ModuleProtocol_Parse.h | 1 + .../XEngine_ModuleProtocol.def | 3 +- .../XEngine_ModuleProtocol.vcxproj | 2 +- XEngine_Source/XEngine_ModuleProtocol/pch.cpp | 4 + .../XEngine_StreamMediaApp/XEngine_Hdr.h | 11 ++ .../XEngine_HttpTask.cpp | 119 ++++++++++++++++-- XEngine_Source/XEngine_UserProtocol.h | 4 + 18 files changed, 279 insertions(+), 13 deletions(-) diff --git a/XEngine_Release/XEngine_Config/XEngine_Config.json b/XEngine_Release/XEngine_Config/XEngine_Config.json index 6e14b45..cb2f5b1 100644 --- a/XEngine_Release/XEngine_Config/XEngine_Config.json +++ b/XEngine_Release/XEngine_Config/XEngine_Config.json @@ -80,6 +80,13 @@ "LogLeave": 17, "LogType": 32 }, + "XVerification": { + "bEnable": false, + "tszUser": "xengine", + "tszPass": "123123aa", + "tszAPIUrl": "", + "nVerType": 2 + }, "XReport":{ "bEnable":true, "tszServiceName":"XEngine_StreamMedia", diff --git a/XEngine_Source/VSCopy_Arm64.bat b/XEngine_Source/VSCopy_Arm64.bat index 4e3ce54..059454a 100644 --- a/XEngine_Source/VSCopy_Arm64.bat +++ b/XEngine_Source/VSCopy_Arm64.bat @@ -5,6 +5,7 @@ copy /y "%XEngine_LibArm64%\XEngine_Core\XEngine_Core.dll" "./" copy /y "%XEngine_LibArm64%\XEngine_Core\XEngine_ManagePool.dll" "./" copy /y "%XEngine_LibArm64%\XEngine_Core\XEngine_Cryption.dll" "./" +copy /y "%XEngine_LibArm64%\XEngine_Client\XClient_Socket.dll" "./" copy /y "%XEngine_LibArm64%\XEngine_Client\XClient_APIHelp.dll" "./" copy /y "%XEngine_LibArm64%\XEngine_NetHelp\NetHelp_XSocket.dll" "./" diff --git a/XEngine_Source/VSCopy_Debug.bat b/XEngine_Source/VSCopy_Debug.bat index fd38e8f..43bf4e2 100644 --- a/XEngine_Source/VSCopy_Debug.bat +++ b/XEngine_Source/VSCopy_Debug.bat @@ -5,6 +5,7 @@ copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_Core.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_ManagePool.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_Cryption.dll" "./" +copy /y "D:\XEngine\XEngine_SourceCode\Debug\XClient_Socket.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\XClient_APIHelp.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\NetHelp_XSocket.dll" "./" diff --git a/XEngine_Source/VSCopy_x64.bat b/XEngine_Source/VSCopy_x64.bat index 91ab64d..a0a38a0 100644 --- a/XEngine_Source/VSCopy_x64.bat +++ b/XEngine_Source/VSCopy_x64.bat @@ -5,6 +5,7 @@ copy /y "%XEngine_Lib64%\XEngine_Core\XEngine_Core.dll" "./" copy /y "%XEngine_Lib64%\XEngine_Core\XEngine_ManagePool.dll" "./" copy /y "%XEngine_Lib64%\XEngine_Core\XEngine_Cryption.dll" "./" +copy /y "%XEngine_Lib64%\XEngine_Client\XClient_Socket.dll" "./" copy /y "%XEngine_Lib64%\XEngine_Client\XClient_APIHelp.dll" "./" copy /y "%XEngine_Lib64%\XEngine_NetHelp\NetHelp_XSocket.dll" "./" diff --git a/XEngine_Source/VSCopy_x86.bat b/XEngine_Source/VSCopy_x86.bat index 368e41c..9b45f37 100644 --- a/XEngine_Source/VSCopy_x86.bat +++ b/XEngine_Source/VSCopy_x86.bat @@ -5,6 +5,7 @@ copy /y "%XEngine_Lib32%\XEngine_Core\XEngine_Core.dll" "./" copy /y "%XEngine_Lib32%\XEngine_Core\XEngine_ManagePool.dll" "./" copy /y "%XEngine_Lib32%\XEngine_Core\XEngine_Cryption.dll" "./" +copy /y "%XEngine_Lib32%\XEngine_Client\XClient_Socket.dll" "./" copy /y "%XEngine_Lib32%\XEngine_Client\XClient_APIHelp.dll" "./" copy /y "%XEngine_Lib32%\XEngine_NetHelp\NetHelp_XSocket.dll" "./" diff --git a/XEngine_Source/XEngine.sln b/XEngine_Source/XEngine.sln index bc16292..d0b2e0e 100644 --- a/XEngine_Source/XEngine.sln +++ b/XEngine_Source/XEngine.sln @@ -47,6 +47,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XEngine_InfoReport", "XEngi {F1736B3F-03A2-4FC7-B045-A12BA8D724FB} = {F1736B3F-03A2-4FC7-B045-A12BA8D724FB} EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XEngine_Verification", "XEngine_DependLibrary\XEngine_Module\XEngine_Verification\XEngine_Verification.vcxproj", "{A8E43EC0-698A-4807-8A61-B2BE5FAB7256}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|ARM64 = Debug|ARM64 @@ -153,6 +155,18 @@ Global {F6520D2C-BB8E-45BB-964B-F5D6A4318A89}.Release|x64.Build.0 = Release|x64 {F6520D2C-BB8E-45BB-964B-F5D6A4318A89}.Release|x86.ActiveCfg = Release|Win32 {F6520D2C-BB8E-45BB-964B-F5D6A4318A89}.Release|x86.Build.0 = Release|Win32 + {A8E43EC0-698A-4807-8A61-B2BE5FAB7256}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {A8E43EC0-698A-4807-8A61-B2BE5FAB7256}.Debug|ARM64.Build.0 = Debug|ARM64 + {A8E43EC0-698A-4807-8A61-B2BE5FAB7256}.Debug|x64.ActiveCfg = Debug|x64 + {A8E43EC0-698A-4807-8A61-B2BE5FAB7256}.Debug|x64.Build.0 = Debug|x64 + {A8E43EC0-698A-4807-8A61-B2BE5FAB7256}.Debug|x86.ActiveCfg = Debug|Win32 + {A8E43EC0-698A-4807-8A61-B2BE5FAB7256}.Debug|x86.Build.0 = Debug|Win32 + {A8E43EC0-698A-4807-8A61-B2BE5FAB7256}.Release|ARM64.ActiveCfg = Release|ARM64 + {A8E43EC0-698A-4807-8A61-B2BE5FAB7256}.Release|ARM64.Build.0 = Release|ARM64 + {A8E43EC0-698A-4807-8A61-B2BE5FAB7256}.Release|x64.ActiveCfg = Release|x64 + {A8E43EC0-698A-4807-8A61-B2BE5FAB7256}.Release|x64.Build.0 = Release|x64 + {A8E43EC0-698A-4807-8A61-B2BE5FAB7256}.Release|x86.ActiveCfg = Release|Win32 + {A8E43EC0-698A-4807-8A61-B2BE5FAB7256}.Release|x86.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -161,6 +175,7 @@ Global {2E55D676-E9F5-48B8-B65E-FE0E7C3D2AEB} = {79A9A569-7DA8-4D9D-AD34-D11115199EA1} {F1736B3F-03A2-4FC7-B045-A12BA8D724FB} = {6A753FB6-282E-4E86-91BB-BE97618B65A4} {F6520D2C-BB8E-45BB-964B-F5D6A4318A89} = {6A753FB6-282E-4E86-91BB-BE97618B65A4} + {A8E43EC0-698A-4807-8A61-B2BE5FAB7256} = {6A753FB6-282E-4E86-91BB-BE97618B65A4} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {9B202F91-A601-429E-BB0F-880DDEE096FE} diff --git a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Define.h b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Define.h index c9b137d..c75a860 100644 --- a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Define.h +++ b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Define.h @@ -111,6 +111,14 @@ typedef struct tag_XEngine_ServiceConfig }st_PullWebRtc; }st_XPull; struct + { + XCHAR tszAPIUrl[XPATH_MID]; //验证API地址 + XCHAR tszUserName[128]; //验证用户名 + XCHAR tszUserPass[128]; //验证密码 + int nVType; //验证方法,1 基本,2摘要 + bool bEnable; //是否启用HTTP接口权限验证 + }st_XVerification; + struct { XCHAR tszAPIUrl[XPATH_MAX]; XCHAR tszServiceName[128]; diff --git a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Error.h b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Error.h index 1c37a99..64acc67 100644 --- a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Error.h +++ b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Error.h @@ -19,4 +19,5 @@ #define ERROR_MODULE_CONFIGURE_JSON_XVER 0xA0007 //读取版本列表失败 #define ERROR_MODULE_CONFIGURE_JSON_MALLOC 0xA0008 //申请内存失败 #define ERROR_MODULE_CONFIGURE_JSON_XPULL 0xA0009 //拉流配置不存在 -#define ERROR_MODULE_CONFIGURE_JSON_REPORT 0xA000A //报告配置不存在 \ No newline at end of file +#define ERROR_MODULE_CONFIGURE_JSON_REPORT 0xA000A //报告配置不存在 +#define ERROR_MODULE_CONFIGURE_JSON_VERIFICATION 0xA000B //验证配置不存在 \ No newline at end of file diff --git a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.cpp b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.cpp index 0121d72..51bc466 100644 --- a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.cpp +++ b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.cpp @@ -177,6 +177,19 @@ bool CModuleConfigure_Json::ModuleConfigure_Json_File(LPCXSTR lpszConfigFile, XE pSt_ServerConfig->st_XLog.nLogLeave = st_JsonXLog["LogLeave"].asInt(); pSt_ServerConfig->st_XLog.nLogType = st_JsonXLog["LogType"].asInt(); _tcsxcpy(pSt_ServerConfig->st_XLog.tszLogFile, st_JsonXLog["LogFile"].asCString()); + //接口验证 + if (st_JsonRoot["XVerification"].empty() || (5 != st_JsonRoot["XVerification"].size())) + { + Config_IsErrorOccur = true; + Config_dwErrorCode = ERROR_MODULE_CONFIGURE_JSON_VERIFICATION; + return false; + } + Json::Value st_JsonXVerification = st_JsonRoot["XVerification"]; + pSt_ServerConfig->st_XVerification.bEnable = st_JsonXVerification["bEnable"].asBool(); + pSt_ServerConfig->st_XVerification.nVType = st_JsonXVerification["nVerType"].asInt(); + _tcsxcpy(pSt_ServerConfig->st_XVerification.tszUserName, st_JsonXVerification["tszUser"].asCString()); + _tcsxcpy(pSt_ServerConfig->st_XVerification.tszUserPass, st_JsonXVerification["tszPass"].asCString()); + _tcsxcpy(pSt_ServerConfig->st_XVerification.tszAPIUrl, st_JsonXVerification["tszAPIUrl"].asCString()); //信息报告 if (st_JsonRoot["XReport"].empty() || (3 != st_JsonRoot["XReport"].size())) { diff --git a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Define.h b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Define.h index f85e27c..06c1e21 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Define.h +++ b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Define.h @@ -217,4 +217,28 @@ extern "C" bool ModuleProtocol_Packet_HTTPPullGet(XCHAR* ptszMsgBuffer, int* pIn 意思:是否成功 备注: *********************************************************************/ -extern "C" bool ModuleProtocol_Parse_HTTPForward(LPCXSTR lpszMsgBuffer, int nMsgLen, XCHAR * ptszAVUrl = NULL); \ No newline at end of file +extern "C" bool ModuleProtocol_Parse_HTTPForward(LPCXSTR lpszMsgBuffer, int nMsgLen, XCHAR * ptszAVUrl = NULL); +/******************************************************************** +函数名称:ModuleProtocol_Parse_HTTPParseAuth +函数功能:用户验证解析协议 + 参数.一:lpszMsgBuffer + In/Out:In + 类型:常量字符指针 + 可空:N + 意思:输入要解析的缓冲区 + 参数.二:nMsgLen + In/Out:In + 类型:整数型 + 可空:N + 意思:输入要解析的大小 + 参数.三:pSt_UserAuth + In/Out:Out + 类型:数据结构指针 + 可空:N + 意思:输出解析的数据 +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +extern "C" bool ModuleProtocol_Parse_HTTPParseAuth(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_PROTOCOL_USERAUTHEX* pSt_UserAuth); \ No newline at end of file diff --git a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Parse/ModuleProtocol_Parse.cpp b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Parse/ModuleProtocol_Parse.cpp index e3c3c0d..fd5807a 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Parse/ModuleProtocol_Parse.cpp +++ b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Parse/ModuleProtocol_Parse.cpp @@ -70,4 +70,76 @@ bool CModuleProtocol_Parse::ModuleProtocol_Parse_HTTPForward(LPCXSTR lpszMsgBuff _tcsxcpy(ptszAVUrl, st_JsonRoot["tszAVUrl"].asCString()); } return true; +} +/******************************************************************** +函数名称:ModuleProtocol_Parse_HTTPParseAuth +函数功能:用户验证解析协议 + 参数.一:lpszMsgBuffer + In/Out:In + 类型:常量字符指针 + 可空:N + 意思:输入要解析的缓冲区 + 参数.二:nMsgLen + In/Out:In + 类型:整数型 + 可空:N + 意思:输入要解析的大小 + 参数.三:pSt_UserAuth + In/Out:Out + 类型:数据结构指针 + 可空:N + 意思:输出解析的数据 +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +bool CModuleProtocol_Parse::ModuleProtocol_Parse_HTTPParseAuth(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_PROTOCOL_USERAUTHEX* pSt_UserAuth) +{ + ModuleProtocol_IsErrorOccur = false; + + if ((NULL == lpszMsgBuffer) || (NULL == pSt_UserAuth)) + { + ModuleProtocol_IsErrorOccur = true; + ModuleProtocol_dwErrorCode = ERROR_MODULE_PROTOCOL_PARSE_PARAMENT; + return false; + } + Json::Value st_JsonRoot; + JSONCPP_STRING st_JsonError; + Json::CharReaderBuilder st_ReaderBuilder; + + std::unique_ptr const pSt_JsonReader(st_ReaderBuilder.newCharReader()); + if (!pSt_JsonReader->parse(lpszMsgBuffer, lpszMsgBuffer + nMsgLen, &st_JsonRoot, &st_JsonError)) + { + ModuleProtocol_IsErrorOccur = true; + ModuleProtocol_dwErrorCode = ERROR_MODULE_PROTOCOL_PARSE_JSON; + return false; + } + Json::Value st_JsonProtocol = st_JsonRoot["st_UserAuth"]; + + if (!st_JsonProtocol["tszUserName"].isNull()) + { + _tcsxcpy(pSt_UserAuth->tszUserName, st_JsonProtocol["tszUserName"].asCString()); + } + if (!st_JsonProtocol["tszUserPass"].isNull()) + { + _tcsxcpy(pSt_UserAuth->tszUserPass, st_JsonProtocol["tszUserPass"].asCString()); + } + if (!st_JsonProtocol["enClientType"].isNull()) + { + pSt_UserAuth->enClientType = (ENUM_PROTOCOLCLIENT_TYPE)st_JsonProtocol["enClientType"].asInt(); + } + if (!st_JsonProtocol["enDeviceType"].isNull()) + { + pSt_UserAuth->enDeviceType = (ENUM_PROTOCOLDEVICE_TYPE)st_JsonProtocol["enDeviceType"].asInt(); + } + if (!st_JsonProtocol["tszDCode"].isNull()) + { + _tcsxcpy(pSt_UserAuth->tszDCode, st_JsonProtocol["tszDCode"].asCString()); + } + if (!st_JsonProtocol["tszHWCode"].isNull()) + { + _tcsxcpy(pSt_UserAuth->tszHWCode, st_JsonProtocol["tszHWCode"].asCString()); + } + return true; } \ No newline at end of file diff --git a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Parse/ModuleProtocol_Parse.h b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Parse/ModuleProtocol_Parse.h index f7db4ba..ca79c9e 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Parse/ModuleProtocol_Parse.h +++ b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Parse/ModuleProtocol_Parse.h @@ -18,5 +18,6 @@ class CModuleProtocol_Parse ~CModuleProtocol_Parse(); public: bool ModuleProtocol_Parse_HTTPForward(LPCXSTR lpszMsgBuffer, int nMsgLen, XCHAR* ptszAVUrl); + bool ModuleProtocol_Parse_HTTPParseAuth(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_PROTOCOL_USERAUTHEX* pSt_UserAuth); private: }; \ No newline at end of file diff --git a/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.def b/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.def index 7c828ac..70a4406 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.def +++ b/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.def @@ -10,4 +10,5 @@ EXPORTS ModuleProtocol_Packet_HTTPPublishGet ModuleProtocol_Packet_HTTPPullGet - ModuleProtocol_Parse_HTTPForward \ No newline at end of file + ModuleProtocol_Parse_HTTPForward + ModuleProtocol_Parse_HTTPParseAuth \ No newline at end of file diff --git a/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.vcxproj b/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.vcxproj index 1d93f42..f1d8e2f 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.vcxproj +++ b/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.vcxproj @@ -99,7 +99,7 @@ true - $(XEngine_Include);../XEngine_DependLibrary/XEngine_Module/jsoncpp;$(IncludePath) + $(XEngine_Include);../XEngine_DependLibrary/XEngine_Module/jsoncpp;..\XEngine_ModuleProtocol;$(IncludePath) $(XEngine_Lib32);$(LibraryPath) diff --git a/XEngine_Source/XEngine_ModuleProtocol/pch.cpp b/XEngine_Source/XEngine_ModuleProtocol/pch.cpp index a5fe6ce..9e9bae9 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/pch.cpp +++ b/XEngine_Source/XEngine_ModuleProtocol/pch.cpp @@ -61,4 +61,8 @@ extern "C" bool ModuleProtocol_Packet_HTTPPullGet(XCHAR * ptszMsgBuffer, int* pI extern "C" bool ModuleProtocol_Parse_HTTPForward(LPCXSTR lpszMsgBuffer, int nMsgLen, XCHAR * ptszAVUrl) { return m_ProtocolParse.ModuleProtocol_Parse_HTTPForward(lpszMsgBuffer, nMsgLen, ptszAVUrl); +} +extern "C" bool ModuleProtocol_Parse_HTTPParseAuth(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_PROTOCOL_USERAUTHEX* pSt_UserAuth) +{ + return m_ProtocolParse.ModuleProtocol_Parse_HTTPParseAuth(lpszMsgBuffer, nMsgLen, pSt_UserAuth); } \ No newline at end of file diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/XEngine_Hdr.h b/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/XEngine_Hdr.h index bbc0d5b..6f21a29 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/XEngine_Hdr.h +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/XEngine_Hdr.h @@ -31,6 +31,8 @@ using namespace std; #include #include #include +#include +#include #include #include #include @@ -81,6 +83,8 @@ using namespace std; #include "../../XEngine_ModuleQueue/ModuleQueue_Error.h" #include "../../XEngine_DependLibrary/XEngine_Module/XEngine_InfoReport/InfoReport_Define.h" #include "../../XEngine_DependLibrary/XEngine_Module/XEngine_InfoReport/InfoReport_Error.h" +#include "../../XEngine_DependLibrary/XEngine_Module/XEngine_Verification/Verification_Define.h" +#include "../../XEngine_DependLibrary/XEngine_Module/XEngine_Verification/Verification_Error.h" //加载自己的头文件 #include "XEngine_Configure.h" #include "XEngine_Network.h" @@ -163,6 +167,7 @@ static int nRTPAIndex = 98; #pragma comment(lib,"XEngine_Core/XEngine_Core.lib") #pragma comment(lib,"XEngine_Core/XEngine_ManagePool.lib") #pragma comment(lib,"XEngine_Core/XEngine_Cryption.lib") +#pragma comment(lib,"XEngine_Client/XClient_APIHelp.lib") #pragma comment(lib,"XEngine_NetHelp/NetHelp_XSocket.lib") #pragma comment(lib,"XEngine_NetHelp/NetHelp_APIHelp.lib") #pragma comment(lib,"XEngine_NetHelp/NetHelp_APIAddr.lib") @@ -188,6 +193,7 @@ static int nRTPAIndex = 98; #pragma comment(lib,"../../x64/Debug/XEngine_ModuleHelp") #pragma comment(lib,"../../x64/Debug/XEngine_ModuleQueue") #pragma comment(lib,"../../x64/Debug/XEngine_InfoReport") +#pragma comment(lib,"../../x64/Debug/XEngine_Verification") #elif _M_ARM64 #pragma comment(lib,"../../ARM64/Debug/XEngine_ModuleConfigure.lib") #pragma comment(lib,"../../ARM64/Debug/XEngine_ModuleProtocol.lib") @@ -195,6 +201,7 @@ static int nRTPAIndex = 98; #pragma comment(lib,"../../ARM64/Debug/XEngine_ModuleHelp") #pragma comment(lib,"../../ARM64/Debug/XEngine_ModuleQueue") #pragma comment(lib,"../../ARM64/Debug/XEngine_InfoReport") +#pragma comment(lib,"../../ARM64/Debug/XEngine_Verification") #elif _M_IX86 #pragma comment(lib,"../../Debug/XEngine_ModuleConfigure.lib") #pragma comment(lib,"../../Debug/XEngine_ModuleProtocol.lib") @@ -202,6 +209,7 @@ static int nRTPAIndex = 98; #pragma comment(lib,"../../Debug/XEngine_ModuleHelp") #pragma comment(lib,"../../Debug/XEngine_ModuleQueue") #pragma comment(lib,"../../Debug/XEngine_InfoReport") +#pragma comment(lib,"../../Debug/XEngine_Verification") #endif #else #ifdef _M_X64 @@ -211,6 +219,7 @@ static int nRTPAIndex = 98; #pragma comment(lib,"../../x64/Release/XEngine_ModuleHelp") #pragma comment(lib,"../../x64/Release/XEngine_ModuleQueue") #pragma comment(lib,"../../x64/Release/XEngine_InfoReport") +#pragma comment(lib,"../../x64/Release/XEngine_Verification") #elif _M_ARM64 #pragma comment(lib,"../../ARM64/Release/XEngine_ModuleConfigure.lib") #pragma comment(lib,"../../ARM64/Release/XEngine_ModuleProtocol.lib") @@ -218,6 +227,7 @@ static int nRTPAIndex = 98; #pragma comment(lib,"../../ARM64/Release/XEngine_ModuleHelp") #pragma comment(lib,"../../ARM64/Release/XEngine_ModuleQueue") #pragma comment(lib,"../../ARM64/Release/XEngine_InfoReport") +#pragma comment(lib,"../../ARM64/Release/XEngine_Verification") #elif _M_IX86 #pragma comment(lib,"../../Release/XEngine_ModuleConfigure.lib") #pragma comment(lib,"../../Release/XEngine_ModuleProtocol.lib") @@ -225,6 +235,7 @@ static int nRTPAIndex = 98; #pragma comment(lib,"../../Release/XEngine_ModuleHelp") #pragma comment(lib,"../../Release/XEngine_ModuleQueue") #pragma comment(lib,"../../Release/XEngine_InfoReport") +#pragma comment(lib,"../../Release/XEngine_Verification") #endif #endif #endif \ No newline at end of file diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/XEngine_HttpTask.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/XEngine_HttpTask.cpp index 1eb9819..c53c406 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/XEngine_HttpTask.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/XEngine_HttpTask.cpp @@ -64,19 +64,120 @@ bool XEngine_HTTPTask_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXSTR LPCXSTR lpszMethodPost = _X("POST"); LPCXSTR lpszMethodGet = _X("GET"); LPCXSTR lpszMethodOPtion = _X("OPTION"); - XCHAR tszRVBuffer[4096]; - XCHAR tszSDBuffer[4096]; - XCHAR tszUrlName[128]; - RFCCOMPONENTS_HTTP_HDRPARAM st_HDRParam; - - memset(tszSDBuffer, '\0', sizeof(tszSDBuffer)); - memset(tszRVBuffer, '\0', sizeof(tszRVBuffer)); - memset(tszUrlName, '\0', sizeof(tszUrlName)); - memset(&st_HDRParam, '\0', sizeof(RFCCOMPONENTS_HTTP_HDRPARAM)); + XCHAR tszRVBuffer[4096] = {}; + XCHAR tszSDBuffer[4096] = {}; + XCHAR tszUrlName[128] = {}; + RFCCOMPONENTS_HTTP_HDRPARAM st_HDRParam = {}; st_HDRParam.nHttpCode = 200; //HTTP CODE码 st_HDRParam.bIsClose = true; //收到回复后就关闭 + //HTTP验证 + if (st_ServiceConfig.st_XVerification.bEnable) + { + int nVType = 0; + RFCCOMPONENTS_HTTP_HDRPARAM st_HDRParam = {}; + st_HDRParam.nHttpCode = 401; + st_HDRParam.bIsClose = true; + st_HDRParam.bAuth = true; + //打包验证信息 + int nHDRLen = 0; + XCHAR tszHDRBuffer[XPATH_MAX] = {}; + if (1 == st_ServiceConfig.st_XVerification.nVType) + { + Verification_HTTP_BasicServerPacket(tszHDRBuffer, &nHDRLen); + } + else + { + XCHAR tszNonceStr[64] = {}; + XCHAR tszOpaqueStr[64] = {}; + Verification_HTTP_DigestServerPacket(tszHDRBuffer, &nHDRLen, tszNonceStr, tszOpaqueStr); + } + //后去验证方法 + if (!Verification_HTTP_GetType(*ppptszHDRList, nHDRCount, &nVType)) + { + HttpProtocol_Server_SendMsgEx(xhHttpPacket, tszSDBuffer, &nSDLen, &st_HDRParam, NULL, 0, tszHDRBuffer); + XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen, ENUM_XENGINE_STREAMMEDIA_CLIENT_TYPE_HTTP); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,用户验证失败,验证方式:%d,错误:%lX"), lpszClientAddr, st_ServiceConfig.st_XVerification.nVType, Verification_GetLastError()); + return false; + } + //验证方式是否一致 + if (st_ServiceConfig.st_XVerification.nVType != nVType) + { + HttpProtocol_Server_SendMsgEx(xhHttpPacket, tszSDBuffer, &nSDLen, &st_HDRParam, NULL, 0, tszHDRBuffer); + XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen, ENUM_XENGINE_STREAMMEDIA_CLIENT_TYPE_HTTP); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,用户验证失败,验证方式错误,请求:%d,需求:%d"), lpszClientAddr, nVType, st_ServiceConfig.st_XVerification.nVType); + return false; + } + bool bRet = false; + //通过什么方法获得用户密码 + if (_tcsxlen(st_ServiceConfig.st_XVerification.tszAPIUrl) > 0) + { + int nHTTPCode = 0; + int nMSGLen = 0; + XCLIENT_APIHTTP st_APIHttp = {}; + XCHAR* ptszMSGBuffer = NULL; + if (!APIClient_Http_Request(_X("GET"), st_ServiceConfig.st_XVerification.tszAPIUrl, NULL, &nHTTPCode, &ptszMSGBuffer, &nMSGLen, NULL, NULL, &st_APIHttp)) + { + st_HDRParam.nHttpCode = 500; + ModuleProtocol_Packet_Comm(tszRVBuffer, &nRVLen, NULL, ERROR_SMS_PROTOCOL_UNAUTHORIZE, "api server is down,cant verification"); + HttpProtocol_Server_SendMsgEx(xhHttpPacket, tszSDBuffer, &nSDLen, &st_HDRParam, tszRVBuffer, nRVLen); + XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen, ENUM_XENGINE_STREAMMEDIA_CLIENT_TYPE_HTTP); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,用户验证失败,GET请求验证服务:%s 失败,错误码:%lX"), lpszClientAddr, st_ServiceConfig.st_XVerification.tszAPIUrl, APIClient_GetLastError()); + return false; + } + if (200 != nHTTPCode) + { + st_HDRParam.nHttpCode = 500; + ModuleProtocol_Packet_Comm(tszRVBuffer, &nRVLen, NULL, ERROR_SMS_PROTOCOL_UNAUTHORIZE, "api server is down,cant verification"); + HttpProtocol_Server_SendMsgEx(xhHttpPacket, tszSDBuffer, &nSDLen, &st_HDRParam, tszRVBuffer, nRVLen); + XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen, ENUM_XENGINE_STREAMMEDIA_CLIENT_TYPE_HTTP); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,用户验证失败,GET请求验证服务:%s 失败,错误:%d"), lpszClientAddr, st_ServiceConfig.st_XVerification.tszAPIUrl, nHTTPCode); + return false; + } + XENGINE_PROTOCOL_USERAUTHEX st_UserAuth = {}; + if (!ModuleProtocol_Parse_HTTPParseAuth(ptszMSGBuffer, nMsgLen, &st_UserAuth)) + { + st_HDRParam.nHttpCode = 500; + ModuleProtocol_Packet_Comm(tszRVBuffer, &nRVLen, NULL, ERROR_SMS_PROTOCOL_UNAUTHORIZE, "api server reply failure,cant verification"); + HttpProtocol_Server_SendMsgEx(xhHttpPacket, tszSDBuffer, &nSDLen, &st_HDRParam, tszRVBuffer, nRVLen); + XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen, ENUM_XENGINE_STREAMMEDIA_CLIENT_TYPE_HTTP); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,用户验证失败,返回内容:%s 错误,无法继续"), lpszClientAddr, ptszMSGBuffer); + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMSGBuffer); + return false; + } + BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMSGBuffer); + + if (1 == nVType) + { + bRet = Verification_HTTP_Basic(st_UserAuth.tszUserName, st_UserAuth.tszUserPass, *ppptszHDRList, nHDRCount); + } + else if (2 == nVType) + { + bRet = Verification_HTTP_Digest(st_UserAuth.tszUserName, st_UserAuth.tszUserPass, pSt_HTTPParam->tszHttpMethod, *ppptszHDRList, nHDRCount); + } + } + else + { + if (1 == nVType) + { + bRet = Verification_HTTP_Basic(st_ServiceConfig.st_XVerification.tszUserName, st_ServiceConfig.st_XVerification.tszUserPass, *ppptszHDRList, nHDRCount); + } + else if (2 == nVType) + { + bRet = Verification_HTTP_Digest(st_ServiceConfig.st_XVerification.tszUserName, st_ServiceConfig.st_XVerification.tszUserPass, pSt_HTTPParam->tszHttpMethod, *ppptszHDRList, nHDRCount); + } + } + + if (!bRet) + { + HttpProtocol_Server_SendMsgEx(xhHttpPacket, tszSDBuffer, &nSDLen, &st_HDRParam, NULL, 0, tszHDRBuffer); + NetCore_TCPXCore_SendEx(xhHttpSocket, lpszClientAddr, tszSDBuffer, nSDLen); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,用户验证失败,验证处理错误,可能用户密码登信息不匹配,类型:%d"), lpszClientAddr, nVType); + return false; + } + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,HTTP验证类型:%d 通过"), lpszClientAddr, nVType); + } XCHAR tszAPIType[128] = {}; XCHAR tszAPIVer[128] = {}; XCHAR tszAPIName[128] = {}; diff --git a/XEngine_Source/XEngine_UserProtocol.h b/XEngine_Source/XEngine_UserProtocol.h index beb0800..a989855 100644 --- a/XEngine_Source/XEngine_UserProtocol.h +++ b/XEngine_Source/XEngine_UserProtocol.h @@ -61,6 +61,10 @@ typedef enum #define XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_SMS_REPPULL 0x3008 #define XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_SMS_STATPUSH 0x3009 //推流端状态推送协议 #define XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_SMS_STATPULL 0x300A //拉流端状态推送协议 +/************************************************************************/ +/* HTTP错误定义 */ +/************************************************************************/ +#define ERROR_SMS_PROTOCOL_UNAUTHORIZE 0x001 //未验证 /////////////////////////////////////////////////////////////////////////// // 导出的数据结构 /////////////////////////////////////////////////////////////////////////// From 58ac1b21e18c0f810121433f3099067e6a533ae6 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Wed, 5 Nov 2025 09:36:59 +0800 Subject: [PATCH 11/19] modify:Unify HTTP error code definitions --- .../StreamMedia_PullStream/PullStream_ClientGet.cpp | 10 +++++----- .../XEngine_StreamMediaApp/XEngine_HttpTask.cpp | 4 ++-- XEngine_Source/XEngine_UserProtocol.h | 5 ++++- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/StreamMedia_PullStream/PullStream_ClientGet.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/StreamMedia_PullStream/PullStream_ClientGet.cpp index f202a5f..a8868cc 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/StreamMedia_PullStream/PullStream_ClientGet.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/StreamMedia_PullStream/PullStream_ClientGet.cpp @@ -126,7 +126,7 @@ bool PullStream_ClientGet_Handle(LPCXSTR lpszClientAddr, XCHAR*** ppptszListHdr, { if (!st_ServiceConfig.st_XPull.st_PullFlv.bPrePull) { - ModuleProtocol_Packet_Comm(tszRVBuffer, &nRVLen, NULL, 404, "not found"); + ModuleProtocol_Packet_Comm(tszRVBuffer, &nRVLen, NULL, ERROR_SMS_PROTOCOL_NOTFOUND, "not found"); HttpProtocol_Server_SendMsgEx(xhHttpPacket, tszSDBuffer, &nSDLen, &st_HDRParam, tszRVBuffer, nRVLen); XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen, ENUM_XENGINE_STREAMMEDIA_CLIENT_TYPE_HTTP); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("拉流端:%s,请求拉流的URL参数不正确:%s,可能流不存在,错误:%lX"), lpszClientAddr, tszVluBuffer, ModuleSession_GetLastError()); @@ -163,7 +163,7 @@ bool PullStream_ClientGet_Handle(LPCXSTR lpszClientAddr, XCHAR*** ppptszListHdr, { if (!ModuleSession_PushStream_FindStream(tszSMSAddr, tszPushAddr)) { - ModuleProtocol_Packet_Comm(tszRVBuffer, &nRVLen, NULL, 404, "not found"); + ModuleProtocol_Packet_Comm(tszRVBuffer, &nRVLen, NULL, ERROR_SMS_PROTOCOL_NOTFOUND, "not found"); HttpProtocol_Server_SendMsgEx(xhHttpPacket, tszSDBuffer, &nSDLen, &st_HDRParam, tszRVBuffer, nRVLen); XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen, ENUM_XENGINE_STREAMMEDIA_CLIENT_TYPE_HTTP); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("拉流端:%s,请求拉流的URL参数不正确:%s,可能流不存在,错误:%lX"), lpszClientAddr, tszVluBuffer, ModuleSession_GetLastError()); @@ -202,7 +202,7 @@ bool PullStream_ClientGet_Handle(LPCXSTR lpszClientAddr, XCHAR*** ppptszListHdr, { if (!st_ServiceConfig.st_XPull.st_PullTs.bPrePull) { - ModuleProtocol_Packet_Comm(tszRVBuffer, &nRVLen, NULL, 404, "not found"); + ModuleProtocol_Packet_Comm(tszRVBuffer, &nRVLen, NULL, ERROR_SMS_PROTOCOL_NOTFOUND, "not found"); HttpProtocol_Server_SendMsgEx(xhHttpPacket, tszSDBuffer, &nSDLen, &st_HDRParam, tszRVBuffer, nRVLen); XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen, ENUM_XENGINE_STREAMMEDIA_CLIENT_TYPE_HTTP); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("拉流端:%s,请求拉流的URL参数不正确:%s,可能流不存在,错误:%lX"), lpszClientAddr, tszVluBuffer, ModuleSession_GetLastError()); @@ -230,7 +230,7 @@ bool PullStream_ClientGet_Handle(LPCXSTR lpszClientAddr, XCHAR*** ppptszListHdr, } else { - ModuleProtocol_Packet_Comm(tszRVBuffer, &nRVLen, NULL, 500, "not support"); + ModuleProtocol_Packet_Comm(tszRVBuffer, &nRVLen, NULL, ERROR_SMS_PROTOCOL_NOTSUPPORT, "not support"); HttpProtocol_Server_SendMsgEx(xhHttpPacket, tszSDBuffer, &nSDLen, &st_HDRParam, tszRVBuffer, nRVLen); XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen, ENUM_XENGINE_STREAMMEDIA_CLIENT_TYPE_HTTP); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("拉流端:%s,请求拉流的数据类型不支持:%s,错误:%lX"), lpszClientAddr, tszVluBuffer, ModuleSession_GetLastError()); @@ -249,7 +249,7 @@ bool PullStream_ClientGet_Handle(LPCXSTR lpszClientAddr, XCHAR*** ppptszListHdr, if (!ModuleSession_PullStream_GetPushAddr(lpszClientAddr, tszPushAddr)) { - ModuleProtocol_Packet_Comm(tszRVBuffer, &nRVLen, NULL, 404, "not found"); + ModuleProtocol_Packet_Comm(tszRVBuffer, &nRVLen, NULL, ERROR_SMS_PROTOCOL_NOTFOUND, "not found"); HttpProtocol_Server_SendMsgEx(xhHttpPacket, tszSDBuffer, &nSDLen, &st_HDRParam, tszRVBuffer, nRVLen); XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen, ENUM_XENGINE_STREAMMEDIA_CLIENT_TYPE_HTTP); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("拉流端:%s,请求停止拉流失败,获取绑定推流地址失败,错误:%lX"), lpszClientAddr, ModuleSession_GetLastError()); diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/XEngine_HttpTask.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/XEngine_HttpTask.cpp index c53c406..0a5c46b 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/XEngine_HttpTask.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/XEngine_HttpTask.cpp @@ -186,7 +186,7 @@ bool XEngine_HTTPTask_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXSTR HttpProtocol_ServerHelp_GetParament(pSt_HTTPParam->tszHttpUri, &pptszList, &nListCount, tszUrlName); if (nListCount < 1) { - ModuleProtocol_Packet_Comm(tszRVBuffer, &nRVLen, NULL, 400, "Bad Request,parament is incorrent"); + ModuleProtocol_Packet_Comm(tszRVBuffer, &nRVLen, NULL, ERROR_SMS_PROTOCOL_REQUEST_PARAMETER, "Bad Request,parament is incorrent"); HttpProtocol_Server_SendMsgEx(xhHttpPacket, tszSDBuffer, &nSDLen, &st_HDRParam, tszRVBuffer, nRVLen); XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen, ENUM_XENGINE_STREAMMEDIA_CLIENT_TYPE_HTTP); BaseLib_Memory_Free((XPPPMEM)&pptszList, nListCount); @@ -205,7 +205,7 @@ bool XEngine_HTTPTask_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXSTR if (0 != _tcsxnicmp(lpszFuncName, tszUrlName, _tcsxlen(lpszFuncName)) && 0 != _tcsxnicmp(lpszFunRtc, tszAPIType, _tcsxlen(lpszFunRtc))) { - ModuleProtocol_Packet_Comm(tszRVBuffer, &nRVLen, NULL, 400, "Bad Request,parament is incorrent"); + ModuleProtocol_Packet_Comm(tszRVBuffer, &nRVLen, NULL, ERROR_SMS_PROTOCOL_REQUEST_PARAMETER, "Bad Request,parament is incorrent"); HttpProtocol_Server_SendMsgEx(xhHttpPacket, tszSDBuffer, &nSDLen, &st_HDRParam, tszRVBuffer, nRVLen); XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen, ENUM_XENGINE_STREAMMEDIA_CLIENT_TYPE_HTTP); BaseLib_Memory_Free((XPPPMEM)&pptszList, nListCount); diff --git a/XEngine_Source/XEngine_UserProtocol.h b/XEngine_Source/XEngine_UserProtocol.h index a989855..29af3d9 100644 --- a/XEngine_Source/XEngine_UserProtocol.h +++ b/XEngine_Source/XEngine_UserProtocol.h @@ -64,7 +64,10 @@ typedef enum /************************************************************************/ /* HTTP错误定义 */ /************************************************************************/ -#define ERROR_SMS_PROTOCOL_UNAUTHORIZE 0x001 //未验证 +#define ERROR_SMS_PROTOCOL_UNAUTHORIZE 0x001 //未验证 +#define ERROR_SMS_PROTOCOL_REQUEST_PARAMETER 0x002 //请求参数错误 +#define ERROR_SMS_PROTOCOL_NOTFOUND 0x003 //流未找到 +#define ERROR_SMS_PROTOCOL_NOTSUPPORT 0x004 //不支持的操作 /////////////////////////////////////////////////////////////////////////// // 导出的数据结构 /////////////////////////////////////////////////////////////////////////// From 02239901ec79ea243130661e1fb656b452ded116 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Wed, 5 Nov 2025 09:47:31 +0800 Subject: [PATCH 12/19] fixed:build failure --- XEngine_Source/Makefile | 9 ++++++++- XEngine_Source/XEngine.sln | 4 ++++ .../XEngine_ServiceApp/XEngine_StreamMediaApp/Makefile | 4 ++-- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/XEngine_Source/Makefile b/XEngine_Source/Makefile index 1ba3576..264a9d8 100644 --- a/XEngine_Source/Makefile +++ b/XEngine_Source/Makefile @@ -5,6 +5,7 @@ FLAGS= #要编译的模块 THIRDPART_MODULE_JSONCPP = ./XEngine_DependLibrary/XEngine_Module/jsoncpp THIRDPART_MODULE_REPORT = ./XEngine_DependLibrary/XEngine_Module/XEngine_InfoReport +THIRDPART_MODULE_VERIFICATION = ./XEngine_DependLibrary/XEngine_Module/XEngine_Verification MODULE_CONFIGURE_PATH = ./XEngine_ModuleConfigure MODULE_HELP_PATH = ./XEngine_ModuleHelp @@ -20,7 +21,7 @@ else ifeq ($(PLATFORM),mac) FILEEXT = dylib endif -XENGINE_MODULES = libjsoncpp.so libXEngine_InfoReport.so \ +XENGINE_MODULES = libjsoncpp.so libXEngine_InfoReport.so libXEngine_Verification.so \ libXEngine_ModuleConfigure.so libXEngine_ModuleHelp.so libXEngine_ModuleProtocol.so libXEngine_ModuleSession.so libXEngine_ModuleQueue.so \ XEngine_StreamMediaApp.exe @@ -40,6 +41,12 @@ ifeq ($(FLAGS), InstallAll) else make -C $(THIRDPART_MODULE_REPORT) PLATFORM=$(PLATFORM) UNICODE=$(UNICODE) RELEASE=$(RELEASE) $(FLAGS) endif +libXEngine_Verification.so: +ifeq ($(FLAGS), InstallAll) + cp $(THIRDPART_MODULE_VERIFICATION)/libXEngine_InfoReport.$(FILEEXT) ../XEngine_Release/ +else + make -C $(THIRDPART_MODULE_VERIFICATION) PLATFORM=$(PLATFORM) UNICODE=$(UNICODE) RELEASE=$(RELEASE) $(FLAGS) +endif libXEngine_ModuleConfigure.so: make -C $(MODULE_CONFIGURE_PATH) PLATFORM=$(PLATFORM) UNICODE=$(UNICODE) RELEASE=$(RELEASE) $(FLAGS) diff --git a/XEngine_Source/XEngine.sln b/XEngine_Source/XEngine.sln index d0b2e0e..238ce4e 100644 --- a/XEngine_Source/XEngine.sln +++ b/XEngine_Source/XEngine.sln @@ -31,6 +31,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XEngine_StreamMediaApp", "X {6D0FCB40-D544-4AB2-A239-2FEBC4B98F6D} = {6D0FCB40-D544-4AB2-A239-2FEBC4B98F6D} {98DB01B5-30B7-4C00-9A84-39886680F069} = {98DB01B5-30B7-4C00-9A84-39886680F069} {9FF6FA78-456E-4A7E-86B1-17E4DB5403C9} = {9FF6FA78-456E-4A7E-86B1-17E4DB5403C9} + {A8E43EC0-698A-4807-8A61-B2BE5FAB7256} = {A8E43EC0-698A-4807-8A61-B2BE5FAB7256} {F1736B3F-03A2-4FC7-B045-A12BA8D724FB} = {F1736B3F-03A2-4FC7-B045-A12BA8D724FB} {F54F152C-594F-4465-A44E-2DB915B39760} = {F54F152C-594F-4465-A44E-2DB915B39760} {F6520D2C-BB8E-45BB-964B-F5D6A4318A89} = {F6520D2C-BB8E-45BB-964B-F5D6A4318A89} @@ -48,6 +49,9 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XEngine_InfoReport", "XEngi EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XEngine_Verification", "XEngine_DependLibrary\XEngine_Module\XEngine_Verification\XEngine_Verification.vcxproj", "{A8E43EC0-698A-4807-8A61-B2BE5FAB7256}" + ProjectSection(ProjectDependencies) = postProject + {F1736B3F-03A2-4FC7-B045-A12BA8D724FB} = {F1736B3F-03A2-4FC7-B045-A12BA8D724FB} + EndProjectSection EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/Makefile b/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/Makefile index 82c3de7..c4f59ad 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/Makefile +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/Makefile @@ -2,7 +2,7 @@ CC = g++ -Wall -std=c++20 PLATVER = LOADHDR = -I ./ LOADSO = -L ../../XEngine_ModuleConfigure -L ../../XEngine_ModuleProtocol -L ../../XEngine_ModuleSession -L ../../XEngine_ModuleHelp -L ../../XEngine_ModuleQueue \ - -L ../../XEngine_DependLibrary/XEngine_Module/jsoncpp -L ../../XEngine_DependLibrary/XEngine_Module/XEngine_InfoReport + -L ../../XEngine_DependLibrary/XEngine_Module/jsoncpp -L ../../XEngine_DependLibrary/XEngine_Module/XEngine_InfoReport -L ../../XEngine_DependLibrary/XEngine_Module/XEngine_Verification LIB = -lXEngine_BaseLib -lXEngine_Algorithm \ -lXEngine_Core -lXEngine_ManagePool -lXEngine_Cryption \ -lXEngine_SystemApi \ @@ -12,7 +12,7 @@ LIB = -lXEngine_BaseLib -lXEngine_Algorithm \ -lXEngine_AVHelp -lXEngine_AudioCodec \ -lStreamMedia_FLVProtocol -lStreamMedia_RTMPProtocol -lStreamMedia_SDPProtocol -lStreamMedia_HLSProtocol -lStreamMedia_RTSPProtocol -lStreamMedia_RTPProtocol -lStreamMedia_RTCPProtocol \ -lXEngine_ModuleConfigure -lXEngine_ModuleProtocol -lXEngine_ModuleSession -lXEngine_ModuleHelp -lXEngine_ModuleQueue \ - -ljsoncpp -lXEngine_InfoReport + -ljsoncpp -lXEngine_InfoReport -lXEngine_Verification LIBEX = OBJECTS = PullStream_ClientGet.o PullStream_ClientRtsp.o PullStream_ClientWebRtc.o \ PushStream_JT1078Task.o PushStream_RTMPTask.o PushStream_XStreamTask.o PushStream_SrtTask.o PushStream_ClientWebRtc.o \ From 55a19cc4f9882c722725f1c404a5c1649079ff89 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Wed, 5 Nov 2025 10:21:42 +0800 Subject: [PATCH 13/19] ci:update macos and linux build --- .github/workflows/Alma_build.yml | 4 +++- .github/workflows/Centos_build.yml | 4 +++- .github/workflows/Rocky_build.yml | 1 + .github/workflows/macbuild.yml | 12 ++++++------ .../XEngine_StreamMediaApp/Makefile | 1 + 5 files changed, 14 insertions(+), 8 deletions(-) diff --git a/.github/workflows/Alma_build.yml b/.github/workflows/Alma_build.yml index a831714..e61e9c2 100644 --- a/.github/workflows/Alma_build.yml +++ b/.github/workflows/Alma_build.yml @@ -65,7 +65,6 @@ jobs: run: | dnf update -y dnf install gcc g++ make git jq unzip wget -y - dnf install libsrtp-devel srt-devel -y - name: install xengine library run: | @@ -77,6 +76,9 @@ jobs: chmod 777 * ./XEngine_LINEnv.sh -i 3 + - name: install depend library + run: dnf install libsrtp-devel srt-devel -y + - name: make run: | cd XEngine_Source diff --git a/.github/workflows/Centos_build.yml b/.github/workflows/Centos_build.yml index 00b25b3..eafc9f0 100644 --- a/.github/workflows/Centos_build.yml +++ b/.github/workflows/Centos_build.yml @@ -69,7 +69,6 @@ jobs: run: | dnf update -y dnf install gcc g++ make git jq unzip wget -y - dnf install libsrtp-devel srt-devel -y - name: install xengine library run: | @@ -81,6 +80,9 @@ jobs: chmod 777 * ./XEngine_LINEnv.sh -i 3 + - name: install depend library + run: dnf install libsrtp-devel srt-devel -y + - name: make run: | cd XEngine_Source diff --git a/.github/workflows/Rocky_build.yml b/.github/workflows/Rocky_build.yml index c2331df..3372c08 100644 --- a/.github/workflows/Rocky_build.yml +++ b/.github/workflows/Rocky_build.yml @@ -76,6 +76,7 @@ jobs: chmod 777 * ./XEngine_LINEnv.sh -i 3 + - name: install depend library run: dnf install libsrtp-devel srt-devel -y diff --git a/.github/workflows/macbuild.yml b/.github/workflows/macbuild.yml index f1296eb..ca59b4a 100644 --- a/.github/workflows/macbuild.yml +++ b/.github/workflows/macbuild.yml @@ -17,8 +17,8 @@ jobs: strategy: matrix: include: - - os: macos-13 - - os: macos-14 + - os: macos-15 + - os: macos-15-intel runs-on: ${{ matrix.os }} steps: @@ -48,13 +48,13 @@ jobs: run: echo "TERM=xterm" >> $GITHUB_ENV - name: Set up Dependency x86_64 Environment - if: matrix.os == 'macos-13' + if: matrix.os == 'macos-15-intel' run: | cd libxengine chmod 777 * ./XEngine_LINEnv.sh -i 3 - name: Set up Dependency Arm64 Environment - if: matrix.os == 'macos-14' + if: matrix.os == 'macos-15' run: | latest_tag=$(git ls-remote --tags --sort="v:refname" https://github.com/libxengine/libxengine.git | awk '{print $2}' | sed 's/refs\/tags\///' | tail -n 1) wget https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_Mac_Arm64.zip @@ -83,14 +83,14 @@ jobs: #./XEngine_StreamMediaApp -t - name: Upload folder as artifact with mac x64 - if: matrix.os == 'macos-13' + if: matrix.os == 'macos-15-intel' uses: actions/upload-artifact@v4 with: name: XEngine_StreamMediaApp-Mac_x86_64 path: XEngine_Release/ retention-days: 1 - name: Upload folder as artifact with mac arm - if: matrix.os == 'macos-14' + if: matrix.os == 'macos-15' uses: actions/upload-artifact@v4 with: name: XEngine_StreamMediaApp-Mac_Arm64 diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/Makefile b/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/Makefile index c4f59ad..6f4dbde 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/Makefile +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/Makefile @@ -5,6 +5,7 @@ LOADSO = -L ../../XEngine_ModuleConfigure -L ../../XEngine_ModuleProtocol -L ../ -L ../../XEngine_DependLibrary/XEngine_Module/jsoncpp -L ../../XEngine_DependLibrary/XEngine_Module/XEngine_InfoReport -L ../../XEngine_DependLibrary/XEngine_Module/XEngine_Verification LIB = -lXEngine_BaseLib -lXEngine_Algorithm \ -lXEngine_Core -lXEngine_ManagePool -lXEngine_Cryption \ + -lXClient_APIHelp \ -lXEngine_SystemApi \ -lHelpComponents_XLog -lHelpComponents_Packets \ -lNetHelp_APIHelp -lNetHelp_XSocket -lNetHelp_APIAddr \ From 654810c87116d2eea09caffe778f474d19020789 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Wed, 5 Nov 2025 10:29:47 +0800 Subject: [PATCH 14/19] fixed:copy file --- XEngine_Source/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/XEngine_Source/Makefile b/XEngine_Source/Makefile index 264a9d8..0a87d20 100644 --- a/XEngine_Source/Makefile +++ b/XEngine_Source/Makefile @@ -43,7 +43,7 @@ else endif libXEngine_Verification.so: ifeq ($(FLAGS), InstallAll) - cp $(THIRDPART_MODULE_VERIFICATION)/libXEngine_InfoReport.$(FILEEXT) ../XEngine_Release/ + cp $(THIRDPART_MODULE_VERIFICATION)/libXEngine_Verification.$(FILEEXT) ../XEngine_Release/ else make -C $(THIRDPART_MODULE_VERIFICATION) PLATFORM=$(PLATFORM) UNICODE=$(UNICODE) RELEASE=$(RELEASE) $(FLAGS) endif From 60c82281d07346f679c47cf63069dea4e928decc Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Wed, 5 Nov 2025 11:04:54 +0800 Subject: [PATCH 15/19] ci:build test --- .github/workflows/debian_build.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/debian_build.yml b/.github/workflows/debian_build.yml index e0f2113..f4c8a19 100644 --- a/.github/workflows/debian_build.yml +++ b/.github/workflows/debian_build.yml @@ -56,10 +56,7 @@ jobs: run: echo "TERM=xterm" >> $GITHUB_ENV - name: install system package - run: | - apt update -y - apt install gcc g++ make git jq unzip curl wget -y - apt install libsrt-gnutls-dev libsrtp2-dev -y + run: apt install libsrt-gnutls-dev libsrtp2-dev -y - name: install xengine library run: | From 3ed2a8bf095cec88f52e4f7f7fff5d4f12b43ec1 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Wed, 5 Nov 2025 13:38:55 +0800 Subject: [PATCH 16/19] ci update --- .github/workflows/debian_build.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/debian_build.yml b/.github/workflows/debian_build.yml index f4c8a19..bfb7eb8 100644 --- a/.github/workflows/debian_build.yml +++ b/.github/workflows/debian_build.yml @@ -56,7 +56,9 @@ jobs: run: echo "TERM=xterm" >> $GITHUB_ENV - name: install system package - run: apt install libsrt-gnutls-dev libsrtp2-dev -y + run: | + apt update -y + apt install gcc g++ make git jq unzip curl wget -y - name: install xengine library run: | @@ -67,6 +69,10 @@ jobs: chmod 777 * ./XEngine_LINEnv.sh -i 3 + + - name: install system package + run: apt install libsrt-gnutls-dev libsrtp2-dev -y + - name: make run: | cd XEngine_Source From abf78dde6645e5669a425e3e8473e807fe22c615 Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Fri, 7 Nov 2025 16:00:37 +0800 Subject: [PATCH 17/19] update:CHANGELOG --- .github/workflows/debian_build.yml | 1 + CHANGELOG | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/.github/workflows/debian_build.yml b/.github/workflows/debian_build.yml index bfb7eb8..9afc2d0 100644 --- a/.github/workflows/debian_build.yml +++ b/.github/workflows/debian_build.yml @@ -58,6 +58,7 @@ jobs: - name: install system package run: | apt update -y + apt upgrade -y apt install gcc g++ make git jq unzip curl wget -y - name: install xengine library diff --git a/CHANGELOG b/CHANGELOG index 2f0160b..80a2d96 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,19 @@ +XEngine_StreamMedia V2.13.0.1001 + +ci:增加了centos alma系统支持 +增加:http验证功能支持 +更新:依赖库 +修改:启动参数不区分大小写 +修改:统一Http错误码 +修正:某些时候配置读取问题 + +ci:add alma and centos and debian 13 system support +added:http basic and digest verification +update:depend library +modify:start parameter does not case sensitive +modify:Unify HTTP error code definitions +fixed:sometime configure read memory leak +======================================================= XEngine_StreamMedia V2.12.0.1001 added:webrtc push stream test code From 9e351351fdbacce952c18aa05caf584619e8e73d Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Fri, 7 Nov 2025 16:20:18 +0800 Subject: [PATCH 18/19] ci:fix debian system version --- .github/workflows/debian_build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/debian_build.yml b/.github/workflows/debian_build.yml index 9afc2d0..642d279 100644 --- a/.github/workflows/debian_build.yml +++ b/.github/workflows/debian_build.yml @@ -16,7 +16,7 @@ jobs: build: runs-on: ${{ matrix.runner }} container: - image: debian:bookworm + image: debian:${{ matrix.name }} options: --platform ${{ matrix.platform }} strategy: matrix: From 876487fdc6884e52fbb3169f9c156a14c4f54b9d Mon Sep 17 00:00:00 2001 From: qyt <486179@qq.com> Date: Fri, 7 Nov 2025 16:21:35 +0800 Subject: [PATCH 19/19] update:configure and document --- XEngine_Docment/Docment_en.docx | Bin 124972 -> 124572 bytes XEngine_Docment/Docment_zh.docx | Bin 125819 -> 125021 bytes .../XEngine_Config/XEngine_Version.json | 1 + .../XEngine_HttpTask.cpp | 1 - 4 files changed, 1 insertion(+), 1 deletion(-) diff --git a/XEngine_Docment/Docment_en.docx b/XEngine_Docment/Docment_en.docx index cf015ee9a718da20da9455ac9d05b98054e4d502..a31498241e71d06217beca5337b41621a89c4fcc 100644 GIT binary patch delta 73294 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[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 br1?+wJctOc^_Q?DF|2{8N%Q{_@+bNqezjVy delta 73690 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

litHj&Fd1E&AU80C<9t712zh+Dlx%J5O6 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 z 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 diff --git a/XEngine_Docment/Docment_zh.docx b/XEngine_Docment/Docment_zh.docx index 73a94f13ba2050f93ebe5e1db8ea2ea8df824db5..fa1e0ca6cdbca333500a192f18d3ed19a8499dc2 100644 GIT binary patch delta 105303 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�@j4X)dk0u|eFrQyU%zt$WhJQPDb+NDQ@auk^mt~R63wFjWgEALk#FJAX zxkx1HY8mrxG}6a?C+FPpQ6dK(=c!UO5J@qW`TNprS7I?4Q#K3tVvctCLilT8{Hu=B zi=gusMP{{eN!+sxu>(v%HakhnWFS5>_9Klr3fstF$b9M3*x)6FWa;qjI}}<~Pm=Z4 zAw+*eWHsF_`#q10;=scazdY=(r`VibqeiO-j?HC$?4VjbmnZ`4U$uabB!%pK1lurb zvq0)6h5cWQyD9JhDiTf6h(8_p0UbU#rj@?hGX|@Fx-grIQy*X0@yE*_Z{3q#j#ex+Tg%l!0!g~v_7FOROnzDn#^w2R? zNuA?U@0oLybr4?f_~5rH0a-kDI20B^;d^pZ{tFQN2~_{5p&!6s(z8VabHnXN>Xa-T zLvv1lr}3ilt63F%_Yu~5`73)c>MIr$h!HZo;^+RW_7~DL6gia�TQ3l_$zcDJ@p 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 )XjU{vNEMz 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 z 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 Q{b&tDNBwS@+&{(t02;=+_y7O^ diff --git a/XEngine_Release/XEngine_Config/XEngine_Version.json b/XEngine_Release/XEngine_Config/XEngine_Version.json index f7739c4..d8dec01 100644 --- a/XEngine_Release/XEngine_Config/XEngine_Version.json +++ b/XEngine_Release/XEngine_Config/XEngine_Version.json @@ -1,5 +1,6 @@ { "XVer": [ + "V2.13.0.1001 Build20251107", "V2.12.0.1001 Build20250815", "V2.11.1.1001 Build20250409", "V2.11.0.1001 Build20250426", diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/XEngine_HttpTask.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/XEngine_HttpTask.cpp index 0a5c46b..55d9613 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/XEngine_HttpTask.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/XEngine_HttpTask.cpp @@ -231,7 +231,6 @@ bool XEngine_HTTPTask_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXSTR { //获得函数名 BaseLib_String_GetKeyValue(pptszList[0], "=", tszKey, tszValue); - //获得函数名 //http://app.xyry.org:5501/api?function=forward&url=http://app.xyry.org if (0 == _tcsxnicmp(lpszFunctionStr, tszKey, _tcsxlen(lpszFunctionStr)))