Repository navigation
fix: wait for a decoder input buffer instead of dropping NAL units after 5 ms (#89) - #106
Conversation
…meanwhile, before a NAL unit is dropped (#89)
|
/review |
Code Review by Qodo
1.
|
|
Qodo: Camera changes can briefly freeze the screen — accepted and fixed: |
|
/review |
|
Code review by qodo was updated up to the latest commit a99918a |
|
Qodo: Pauses inflate decoder loss signals — accepted and fixed: Device result for this PR (together with #86 on top of it, Aceline-1, 8 cameras): with all cells on key frames the decoder losses dropped to 0 over several minutes (before: about 1/s per cell, which made #86 pause cells one by one). |
Thanks for confirming. This addresses finding 1: cancellation during pause or close no longer contributes to |
fix: wait for a decoder input buffer instead of dropping NAL units after 5 ms (#89)
Closes #89.
decodeFramewaited 5 ms for a free input buffer and then dropped the NAL unit. On the AG-216 even a single 1080p20 cell lost about 1 frame per second this way (seen on the debug page aslost 1/s), and every lost slice corrupts the picture until the next key frame. These drops are also the overload signal of #84/#85, so they made the planner see overload that was not there.INPUT_WAIT_MS= 40 ms (longer than a frame at 30 fps), polling in 5 ms steps.drainOutput): a decoder that waits for output space frees input buffers only then.inputDropped) only after the full wait; the stream's network queue takes the backlog meanwhile, and its overflow stays the other loss signal.Device check: lost/s of a single full-rate cell and of 8 cells, before and after.