2025-02-24 17:03:31 +08:00
|
|
|
import 'dart:collection';
|
|
|
|
|
import 'dart:typed_data';
|
|
|
|
|
|
2025-04-18 10:33:51 +08:00
|
|
|
import 'package:flutter/services.dart';
|
2025-02-21 15:55:35 +08:00
|
|
|
import 'package:star_lock/app_settings/app_settings.dart';
|
2025-06-18 15:15:26 +08:00
|
|
|
import 'package:star_lock/talk/starChart/entity/scp_message.dart';
|
2025-04-22 15:17:42 +08:00
|
|
|
import 'package:star_lock/talk/starChart/handle/other/talk_data_model.dart';
|
|
|
|
|
import 'package:star_lock/talk/starChart/proto/talk_data.pb.dart';
|
2025-02-21 15:55:35 +08:00
|
|
|
import '../../proto/talk_data_h264_frame.pb.dart';
|
|
|
|
|
|
|
|
|
|
class H264FrameHandler {
|
2025-04-22 15:17:42 +08:00
|
|
|
final void Function(TalkDataModel frameData) onCompleteFrame;
|
2025-02-24 17:03:31 +08:00
|
|
|
|
2025-02-21 15:55:35 +08:00
|
|
|
H264FrameHandler({required this.onCompleteFrame});
|
|
|
|
|
|
2025-06-18 15:15:26 +08:00
|
|
|
void handleFrame(
|
|
|
|
|
TalkDataH264Frame frame, TalkData talkData, ScpMessage scpMessage) {
|
2025-06-23 15:28:43 +08:00
|
|
|
// AppLog.log(
|
|
|
|
|
// '送入stream的帧数据: frameSeq=${frame.frameSeq},frameType=${frame
|
|
|
|
|
// .frameType},MessageId:${scpMessage.MessageId}');
|
2025-06-18 15:15:26 +08:00
|
|
|
onCompleteFrame(TalkDataModel(
|
|
|
|
|
talkData: talkData,
|
|
|
|
|
talkDataH264Frame: frame,
|
|
|
|
|
scpMessage: scpMessage,
|
|
|
|
|
));
|
2025-02-24 17:03:31 +08:00
|
|
|
}
|
2025-02-21 15:55:35 +08:00
|
|
|
}
|