Skip to content

Commit 6bf4c4a

Browse files
committed
modify:client method name to client rtsp
1 parent 4f0a8bc commit 6bf4c4a

File tree

2 files changed

+65
-10
lines changed

2 files changed

+65
-10
lines changed

XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/StreamMedia_PullStream/PullStream_ClientMethod.cpp renamed to XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/StreamMedia_PullStream/PullStream_ClientRtsp.cpp

Lines changed: 59 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,70 @@
11
#include "../XEngine_Hdr.h"
22
/********************************************************************
3-
// Created: 2023/09/18 14:19:28
4-
// File Name: D:\XEngine_StreamMedia\XEngine_Source\XEngine_ServiceApp\XEngine_StreamMediaApp\StreamMedia_PullStream\PullStream_ClientMethod.cpp
3+
// Created: 2023/12/20 14:59:42
4+
// File Name: D:\XEngine_StreamMedia\XEngine_Source\XEngine_ServiceApp\XEngine_StreamMediaApp\StreamMedia_PullStream\PullStream_ClientRtsp.cpp
55
// File Path: D:\XEngine_StreamMedia\XEngine_Source\XEngine_ServiceApp\XEngine_StreamMediaApp\StreamMedia_PullStream
6-
// File Base: PullStream_ClientMethod
6+
// File Base: PullStream_ClientRtsp
77
// File Ext: cpp
88
// Project: XEngine(网络通信引擎)
99
// Author: qyt
10-
// Purpose: 其他方法处理
10+
// Purpose: RTSP推流服务
1111
// History:
1212
*********************************************************************/
13-
bool PullStream_ClientMethod_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen, XCHAR*** ppptszParamList, int nParamCount, XCHAR*** ppptszHDRList, int nHDRList)
13+
bool PullStream_ClientRtsp_RTCPProcess(LPCXSTR lpszClientAddr, XSOCKET hSocket, LPCXSTR lpszMsgBuffer, int nMsgLen)
14+
{
15+
if (nMsgLen > 4)
16+
{
17+
int nPos = 0;
18+
RTCPPROTOCOL_RTCPHDR st_RTCPHdr = {};
19+
RTCPProtocol_Parse_Header(&st_RTCPHdr, lpszMsgBuffer, nMsgLen);
20+
nPos += sizeof(RTCPPROTOCOL_RTCPHDR);
21+
22+
int nListCount;
23+
RTCPPROTOCOL_RTCPRECVER** ppSt_ListRecvInfo;
24+
RTCPProtocol_Parse_Recver(&ppSt_ListRecvInfo, &nListCount, &st_RTCPHdr, lpszMsgBuffer + nPos, nMsgLen - nPos);
25+
nPos += sizeof(RTCPPROTOCOL_RTCPRECVER);
26+
//后续是否还有数据
27+
if (nMsgLen - nPos > 0)
28+
{
29+
//是SDES
30+
st_RTCPHdr = {};
31+
int nListCount = 0;
32+
STREAMMEDIA_RTCPPROTOCOL_SDESINFO** ppSt_ListSdeser;
33+
34+
RTCPProtocol_Parse_Header(&st_RTCPHdr, lpszMsgBuffer + nPos, nMsgLen - nPos);
35+
nPos += sizeof(RTCPPROTOCOL_RTCPHDR);
36+
37+
if (ENUM_STREAMMEDIA_RTCPPROTOCOL_PACKET_TYPE_SDES == st_RTCPHdr.byPT)
38+
{
39+
nPos -= sizeof(uint32_t);
40+
}
41+
RTCPProtocol_Parse_Sdeser(&ppSt_ListSdeser, &nListCount, &st_RTCPHdr, lpszMsgBuffer + nPos, nMsgLen - nPos);
42+
BaseLib_OperatorMemory_Free((XPPPMEM)&ppSt_ListSdeser, nListCount);
43+
}
44+
/*
45+
int nSDLen = 0;
46+
XCHAR tszMSGBuffer[1024] = {};
47+
RTCPPROTOCOL_RTCPSENDER st_SendInfo = {};
48+
49+
RTCPProtocol_Packet_Sender(tszMSGBuffer, &nSDLen, st_RTCPHdr.unSsrc, &st_SendInfo);
50+
NetCore_UDPXCore_SendEx(xhVRTCPSocket, lpszClientAddr, tszMSGBuffer, nSDLen);
51+
52+
nListCount = 1;
53+
STREAMMEDIA_RTCPPROTOCOL_SDESINFO** ppSt_SDESList;
54+
BaseLib_OperatorMemory_Malloc((XPPPMEM)&ppSt_SDESList, nListCount, sizeof(STREAMMEDIA_RTCPPROTOCOL_SDESINFO));
55+
56+
memset(tszMSGBuffer, '\0', sizeof(tszMSGBuffer));
57+
ppSt_SDESList[0]->enSDESType = ENUM_STREAMMEDIA_RTCPPROTOCOL_SDES_TYPE_CNAME;
58+
ppSt_SDESList[0]->xhSsrc = st_RTCPHdr.unSsrc;
59+
ppSt_SDESList[0]->nMLen = _tcsxlen(XENGINE_NAME_STR);
60+
_tcsxcpy(ppSt_SDESList[0]->tszMSGBuffer, XENGINE_NAME_STR);
61+
RTCPProtocol_Packet_Sdeser(tszMSGBuffer, &nSDLen, &ppSt_SDESList, nListCount);
62+
NetCore_UDPXCore_SendEx(xhVRTCPSocket, lpszClientAddr, tszMSGBuffer, nSDLen);
63+
BaseLib_OperatorMemory_Free((XPPPMEM)&ppSt_SDESList, nListCount);*/
64+
}
65+
return true;
66+
}
67+
bool PullStream_ClientRtsp_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen, XCHAR*** ppptszParamList, int nParamCount, XCHAR*** ppptszHDRList, int nHDRList)
1468
{
1569
int nRVLen = 0;
1670
int nSDLen = 0;

XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/StreamMedia_PullStream/PullStream_ClientMethod.h renamed to XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/StreamMedia_PullStream/PullStream_ClientRtsp.h

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
#pragma once
22
/********************************************************************
3-
// Created: 2023/09/18 14:18:37
4-
// File Name: D:\XEngine_StreamMedia\XEngine_Source\XEngine_ServiceApp\XEngine_StreamMediaApp\StreamMedia_PullStream\PullStream_ClientMethod.h
3+
// Created: 2023/12/20 14:59:27
4+
// File Name: D:\XEngine_StreamMedia\XEngine_Source\XEngine_ServiceApp\XEngine_StreamMediaApp\StreamMedia_PullStream\PullStream_ClientRtsp.h
55
// File Path: D:\XEngine_StreamMedia\XEngine_Source\XEngine_ServiceApp\XEngine_StreamMediaApp\StreamMedia_PullStream
6-
// File Base: PullStream_ClientMethod
6+
// File Base: PullStream_ClientRtsp
77
// File Ext: h
88
// Project: XEngine(网络通信引擎)
99
// Author: qyt
10-
// Purpose: 其他方法处理
10+
// Purpose: RTSP推流服务
1111
// History:
1212
*********************************************************************/
1313
//任务处理相关函数,处理包的内容
14-
bool PullStream_ClientMethod_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen, XCHAR*** ppptszParamList, int nParamCount, XCHAR*** ppptszHDRList, int nHDRList);
14+
bool PullStream_ClientRtsp_RTCPProcess(LPCXSTR lpszClientAddr, XSOCKET hSocket, LPCXSTR lpszMsgBuffer, int nMsgLen);
15+
bool PullStream_ClientRtsp_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen, XCHAR*** ppptszParamList, int nParamCount, XCHAR*** ppptszHDRList, int nHDRList);

0 commit comments

Comments
 (0)