diff --git a/lib/talk/starChart/handle/impl/udp_talk_data_handler.dart b/lib/talk/starChart/handle/impl/udp_talk_data_handler.dart index 028ffb73..96330232 100644 --- a/lib/talk/starChart/handle/impl/udp_talk_data_handler.dart +++ b/lib/talk/starChart/handle/impl/udp_talk_data_handler.dart @@ -33,7 +33,10 @@ class UdpTalkDataHandler extends ScpMessageBaseHandle if (scpMessage.Payload != null) { final TalkData talkData = scpMessage.Payload; // 处理音视频数据 - _handleTalkData(talkData: talkData); + _handleTalkData( + talkData: talkData, + scpMessage: scpMessage, + ); } } @@ -93,12 +96,15 @@ class UdpTalkDataHandler extends ScpMessageBaseHandle return hexList.join(''); } - void _handleTalkData({required TalkData talkData}) { + void _handleTalkData({ + required TalkData talkData, + required ScpMessage scpMessage, + }) { if (talkData == null) return; final contentType = talkData.contentType; switch (contentType) { case TalkData_ContentTypeE.H264: - _handleVideoH264(talkData); + _handleVideoH264(talkData, scpMessage); break; case TalkData_ContentTypeE.Image: _handleVideoImage(talkData); @@ -113,10 +119,10 @@ class UdpTalkDataHandler extends ScpMessageBaseHandle } /// 处理h264协议的数据 - void _handleVideoH264(TalkData talkData) { + void _handleVideoH264(TalkData talkData, ScpMessage scpMessage) { final TalkDataH264Frame talkDataH264Frame = TalkDataH264Frame(); talkDataH264Frame.mergeFromBuffer(talkData.content); - frameHandler.handleFrame(talkDataH264Frame, talkData); + frameHandler.handleFrame(talkDataH264Frame, talkData, scpMessage); } /// 处理图片数据