Skip to content

Commit

Permalink
Restarts are now safe
Browse files Browse the repository at this point in the history
  • Loading branch information
Levi-Lesches committed May 12, 2024
1 parent 80b4317 commit be0aca5
Show file tree
Hide file tree
Showing 7 changed files with 17 additions and 14 deletions.
2 changes: 1 addition & 1 deletion bin/video.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@ import "package:burt_network/logging.dart";
import "package:video/video.dart";

void main() async {
Logger.level = LogLevel.info;
Logger.level = LogLevel.all;
await collection.init();
}
5 changes: 2 additions & 3 deletions lib/src/collection.dart
Original file line number Diff line number Diff line change
Expand Up @@ -51,16 +51,15 @@ class Collection {
/// Function to initialize cameras
Future<void> init() async {
logger..trace("Running in trace mode")..debug("Running in debug mode");
await videoServer.init();
await parent.init();
await videoServer.init();
logger.info("Video program initialized");
}

/// Stops all cameras and disconnects from the hardware.
Future<void> dispose() async {
parent.stopAll();
parent.killAll();
parent.isolates.clear();
await parent.dispose();
await videoServer.dispose();
}

Expand Down
3 changes: 3 additions & 0 deletions lib/src/isolates/opencv.dart
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import "dart:ffi";

import "package:opencv_ffi/opencv_ffi.dart";
import "package:burt_network/burt_network.dart";
import "package:burt_network/logging.dart";
Expand Down Expand Up @@ -36,6 +38,7 @@ class OpenCVCameraIsolate extends CameraIsolate {
@override
void sendFrames() {
final matrix = camera.getFrame();
if (matrix == nullptr) return;
final frame = encodeJpg(matrix, quality: details.quality);
matrix.dispose();
if (frame == null) { // Error getting the frame
Expand Down
1 change: 1 addition & 0 deletions lib/src/isolates/parent.dart
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import "package:video/video.dart";
class VideoController extends IsolateParent<VideoCommand, IsolatePayload>{
@override
Future<void> init() async {
super.init();
for (final name in CameraName.values) {
switch (name) {
case CameraName.CAMERA_NAME_UNDEFINED: continue;
Expand Down
10 changes: 5 additions & 5 deletions lib/src/utils/constants.dart
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ Map<CameraName, String> cameraNames = {
/// Map for WINDOWS devices
Map<CameraName, int> cameraIndexes = {
CameraName.ROVER_REAR: 0,
CameraName.AUTONOMY_DEPTH: 1,
CameraName.ROVER_FRONT: 2,
CameraName.SUBSYSTEM1: 3,
CameraName.SUBSYSTEM2: 4,
CameraName.SUBSYSTEM3: 5,
CameraName.AUTONOMY_DEPTH: 4,
CameraName.ROVER_FRONT: 5,
CameraName.SUBSYSTEM1: 1,
CameraName.SUBSYSTEM2: 2,
CameraName.SUBSYSTEM3: 3,
};
8 changes: 4 additions & 4 deletions pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -196,10 +196,10 @@ packages:
dependency: transitive
description:
name: meta
sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04
sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7
url: "https://pub.dev"
source: hosted
version: "1.11.0"
version: "1.15.0"
mime:
dependency: transitive
description:
Expand Down Expand Up @@ -395,10 +395,10 @@ packages:
dependency: "direct main"
description:
name: typed_isolate
sha256: b5a4fb51cb65f60f281dc287dfb8a71395dad97d7480159cbcb95043240503d8
sha256: "6d778a29d25a1d5402ecc243a5de7bd8c0e7035bd3d1c7b03a969494a9726b50"
url: "https://pub.dev"
source: hosted
version: "3.0.0"
version: "4.0.0"
very_good_analysis:
dependency: "direct dev"
description:
Expand Down
2 changes: 1 addition & 1 deletion pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ dependencies:
git: https://github.com/Levi-Lesches/opencv_ffi
burt_network:
git: https://github.com/BinghamtonRover/Networking
typed_isolate: ^3.0.0
typed_isolate: ^4.0.0
ffi: ^2.1.0
protobuf: ^3.1.0

Expand Down

0 comments on commit be0aca5

Please sign in to comment.