VideoController 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 opencv.OpenCVImage
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
- IsolateParent<
VideoCommand, IsolatePayload> - VideoController
Constructors
Properties
Methods
-
dispose(
[int priority = Isolate.beforeNextEvent]) → Future< void> -
Kills all isolates and clears all handlers.
inherited
-
init(
) → Future< void> -
Starts running this isolate's "main" code. Usually used to spawn children.
override
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
onData(
IsolatePayload data, Object id) → void -
A callback that runs when data is sent by a child.
override
-
send(
{required VideoCommand data, required Object id}) → void -
Sends the object to the child with the given ID.
inherited
-
spawn(
IsolateChild< IsolatePayload, VideoCommand> child) → Future<Isolate> -
Spawns the child and calls IsolateChild.init to establish two-way communication.
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