23 lines
584 B
Dart
23 lines
584 B
Dart
|
|
import 'dart:typed_data';
|
|||
|
|
|
|||
|
|
import 'package:star_lock/talk/starChart/proto/talk_data_h264_frame.pb.dart';
|
|||
|
|
|
|||
|
|
class H264FrameBuffer {
|
|||
|
|
List<TalkDataH264Frame> frames = [];
|
|||
|
|
|
|||
|
|
void addFrame(TalkDataH264Frame frame) {
|
|||
|
|
frames.add(frame);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
Uint8List getCompleteStream() {
|
|||
|
|
final List<int> completeStream = [];
|
|||
|
|
for (final frame in frames) {
|
|||
|
|
// 添加起始码(假设为 0x00 0x00 0x01)
|
|||
|
|
completeStream.addAll([0x00, 0x00, 0x01]);
|
|||
|
|
// 添加帧数据
|
|||
|
|
completeStream.addAll(frame.frameData);
|
|||
|
|
}
|
|||
|
|
return Uint8List.fromList(completeStream);
|
|||
|
|
}
|
|||
|
|
}
|