You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Just discovered an issue with multi-res record: if recording is started on (for example) port 1, then another is started on port 2, the recording on port 1 must be stopped last. The started_capture attribute in the encoder tracks which encoder started the recording, but it shouldn't - instead we should be disabling the capture in the last active active encoder rather than simply in the one that started capture. Unfortunately, fixing this is tricky. Only the PiCamera class has knowledge of which other encoders exist and what ports they use so we probably need to shift start/stop capture code back into PiCamera and call it from the encoder's start and stop methods (and I bet there'll be a few race conditions to deal with there too)
The text was updated successfully, but these errors were encountered:
Refactor how we go about allocating, deallocating, starting and stopping
decoders. This introduces some violation of encapsulation (just think of
PiEncoder as a friend class of PiCamera), but there's not much I can do
about that: the camera class has to be the one to start and stop the
video port as it's the only thing that "knows" about how many encoders
are attached to the splitter.
Just discovered an issue with multi-res record: if recording is started on (for example) port 1, then another is started on port 2, the recording on port 1 must be stopped last. The
started_capture
attribute in the encoder tracks which encoder started the recording, but it shouldn't - instead we should be disabling the capture in the last active active encoder rather than simply in the one that started capture. Unfortunately, fixing this is tricky. Only the PiCamera class has knowledge of which other encoders exist and what ports they use so we probably need to shift start/stop capture code back into PiCamera and call it from the encoder's start and stop methods (and I bet there'll be a few race conditions to deal with there too)The text was updated successfully, but these errors were encountered: