CameraManager class
A parent isolate that spawns CameraIsolates to manage the cameras.
With one isolate per camera, each camera can read in parallel. This class sends VideoCommand
s
from the dashboard to the appropriate CameraIsolate, and receives IsolatePayloads which it uses
to read an image from native memory and send to the dashboard. By not sending the frame
from child isolate to the parent (just the pointer), we save a whole JPG image's worth of bytes
from every camera, every frame, every second. That could be up to 5 MB per second of savings.
- Inheritance
-
- Object
- Service
- CameraManager
Constructors
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
-
parent
→ IsolateParent<
VideoCommand, IsolatePayload> -
The parent isolate that spawns the camera isolates.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
dispose(
) → Future< void> -
Closes the connection to the device.
override
-
init(
) → Future< bool> -
Initializes the connection to the device.
override
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
onData(
IsolatePayload data) → void - Handles data coming from the child isolates.
-
onDisconnect(
) → Future< void> -
A callback to run when the program has disconnected from the Dashboard.
inherited
-
stopAll(
) → void - Stops all the cameras managed by this class.
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited