Skip to content

Commit 089fa87

Browse files
committed
modify:webrtc bundle only audio or video support
1 parent c12cf50 commit 089fa87

File tree

2 files changed

+23
-5
lines changed

2 files changed

+23
-5
lines changed

XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/StreamMedia_PullStream/PullStream_ClientWebRtc.cpp

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ bool PullStream_ClientWebRtc_SDKPacket(XNETHANDLE xhPacket, LPCXSTR lpszClientID
216216
SDPProtocol_Packet_CName(xhPacket, _ttxoll(tszSSrcStr), _X("79a9722580589zr5"), _X("video-666q08to"));
217217
ModuleSession_PullStream_RTCSSrcSet(lpszClientID, tszSSrcStr, _X("79a9722580589zr5"), _X("video-666q08to"));
218218
RTPProtocol_Packet_Insert(tszSSrcStr, ENUM_STREAMMEDIA_RTPPROTOCOL_PAYLOAD_TYPE_H264);
219-
RTPProtocol_Packet_SetPType(tszSSrcStr, 106);
219+
RTPProtocol_Packet_SetPType(tszSSrcStr, 96);
220220
RTPProtocol_Packet_SetTime(tszSSrcStr, 30);
221221
}
222222
else
@@ -299,7 +299,14 @@ bool PullStream_ClientWebRtc_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam,
299299
SDPProtocol_Packet_Owner(xhPacket, _X("rtc"), xhPacket, _X("0.0.0.0"));
300300
SDPProtocol_Packet_Session(xhPacket, _X("XEngine_Session"));
301301
SDPProtocol_Packet_KeepTime(xhPacket);
302-
SDPProtocol_Packet_Bundle(xhPacket);
302+
if (nIndex1 >= 0 && nIndex2 >= 0)
303+
{
304+
SDPProtocol_Packet_Bundle(xhPacket);
305+
}
306+
else
307+
{
308+
SDPProtocol_Packet_Bundle(xhPacket, 0, -1);
309+
}
303310
SDPProtocol_Packet_OptionalRange(xhPacket);
304311
SDPProtocol_Packet_OptionalAddAttr(xhPacket, _X("ice-lite"));
305312
SDPProtocol_Packet_OptionalAddAttr(xhPacket, _X("msid-semantic"), _X("WMS live/livestream"));
@@ -316,8 +323,15 @@ bool PullStream_ClientWebRtc_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam,
316323
ModuleSession_PullStream_RTCSet(tszUserStr, tszTokenStr, tszICEUser, tszICEPass, tszHMacStr);
317324
SocketOpt_HeartBeat_InsertAddrEx(xhRTCHeart, tszUserStr); //需要加入心跳,不然没法知道超时
318325

319-
PullStream_ClientWebRtc_SDKPacket(xhPacket, tszUserStr, false, &st_AVInfo);
320-
PullStream_ClientWebRtc_SDKPacket(xhPacket, tszUserStr, true, &st_AVInfo);
326+
if (nIndex1 >= 0 && nIndex2 >= 0)
327+
{
328+
PullStream_ClientWebRtc_SDKPacket(xhPacket, tszUserStr, false, &st_AVInfo);
329+
PullStream_ClientWebRtc_SDKPacket(xhPacket, tszUserStr, true, &st_AVInfo);
330+
}
331+
else
332+
{
333+
PullStream_ClientWebRtc_SDKPacket(xhPacket, tszUserStr, true, &st_AVInfo);
334+
}
321335

322336
SDPProtocol_Packet_GetPacket(xhPacket, tszRVBuffer, &nRVLen);
323337
SDPProtocol_Packet_Destory(xhPacket);

XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/XEngine_AVPacket.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -554,7 +554,11 @@ bool XEngine_AVPacket_AVFrame(XCHAR* ptszSDBuffer, int* pInt_SDLen, XCHAR* ptszR
554554
//发送数据,RTSP使用UDP发送
555555
for (int i = 0; i < nPacketCount; i++)
556556
{
557-
ModuleHelp_SRTPCore_RTPINProtect(ppSt_RTPPacket[i]->tszMsgBuffer, &ppSt_RTPPacket[i]->nMsgLen);
557+
if (!ModuleHelp_SRTPCore_RTPINProtect(ppSt_RTPPacket[i]->tszMsgBuffer, &ppSt_RTPPacket[i]->nMsgLen))
558+
{
559+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("WEBRTC:%s,推流失败"), stl_ListIteratorClient->tszClientID);
560+
continue;
561+
}
558562
XEngine_Network_Send(stl_ListIteratorClient->tszClientID, ppSt_RTPPacket[i]->tszMsgBuffer, ppSt_RTPPacket[i]->nMsgLen, ENUM_XENGINE_STREAMMEDIA_CLIENT_TYPE_PUSH_RTC);
559563
}
560564
}

0 commit comments

Comments
 (0)