From: Jorge Ramirez-Ortiz <jorge.ramirez-or...@linaro.org> During the initialization stage, the codec attempts to get free buffers from the driver before any have been queued (this is to keep the code simple and generic)
When the kernel driver detects this situation, it returns POLLERR in revents and ffmpeg therefore raises a warning. This commit disables the warning since no buffers were queued to the driver yet. Signed-off-by: Jorge Ramirez-Ortiz <jorge.ramirez-or...@linaro.org> --- libavcodec/v4l2_context.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/libavcodec/v4l2_context.c b/libavcodec/v4l2_context.c index dde97d0..e0431b1 100644 --- a/libavcodec/v4l2_context.c +++ b/libavcodec/v4l2_context.c @@ -290,7 +290,17 @@ start: /* 0. handle errors */ if (pfd.revents & POLLERR) { - av_log(logger(ctx), AV_LOG_WARNING, "%s POLLERR\n", ctx->name); + /* if we are trying to get free buffers but none have been queued yet + no need to raise a warning */ + if (timeout == 0) { + for (i = 0; i < ctx->num_buffers; i++) { + if (ctx->buffers[i].status != V4L2BUF_AVAILABLE) + av_log(logger(ctx), AV_LOG_WARNING, "%s POLLERR\n", ctx->name); + } + } + else + av_log(logger(ctx), AV_LOG_WARNING, "%s POLLERR\n", ctx->name); + return NULL; } -- 2.7.4 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel