avcodec/v4l2_buffers: Fix infinite loop
authorAndriy Gelman <andriy.gelman@gmail.com>
Sun, 27 Oct 2019 04:19:46 +0000 (00:19 -0400)
committerAman Gupta <aman@tmm1.net>
Fri, 1 Nov 2019 22:19:55 +0000 (15:19 -0700)
commit1aec1183f3e82e9aa20fe23d961f663c1efc45fb
treec252058e90ee65a810f9935678f60fd73937cb64
parentfd3ee7a92e9227ee44e2a0d837ba9879959b15d7
avcodec/v4l2_buffers: Fix infinite loop

This part of the code counts the number of planes returned by the v4l2
device for each queried capture/output buffer.
When testing the GPU h264 encoder on Nvidia's Jetson Nano, this caused an
infinite loop because avbuf->buf.length included some empty buffers (i.e.
where avbuf->buf.m.planes[i].length = 0), meaning that the counter was
never incremented and break was never reached.
This is fixed in the commit by using a well defined iteration range.

Signed-off-by: Aman Gupta <aman@tmm1.net>
libavcodec/v4l2_buffers.c