From patchwork Tue Jan 9 17:06:13 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jorge Ramirez-Ortiz X-Patchwork-Id: 7232 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.78.2 with SMTP id r2csp4165764jaa; Tue, 9 Jan 2018 09:14:41 -0800 (PST) X-Google-Smtp-Source: ACJfBov8xXXEhraZNc6W3K0Msda2aKuf/UpnsgLWmmxzdi6lVIGlmKI60hFCrK3IrG3JxHWmLzW3 X-Received: by 10.223.131.103 with SMTP id 94mr13138802wrd.62.1515518081713; Tue, 09 Jan 2018 09:14:41 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1515518081; cv=none; d=google.com; s=arc-20160816; b=cYklZI1hvjcJwxxV+ZZ4caNLucRwBpsYVv3BKTYH3w1PKkeoZhGxG0mHsEFfHnIR3J ZPjvedWjzQ0xa/bNCGWiEsR6+XgC55+vIWaH0rGvv/H3A8EWsRQ+U7/IYMI+oA337SPZ utP6+OBcf1HVM0K2c3N5IVJNNMN3KD4k+jw/0MHXKIA1pl32Gw6NqPUT6NmAvzAHJ4jj Q3ERDgSU9abwKG4IoaMeAiSWMLuc0LhXXirJ0jA0/ICp8ZIeKaTIqNPjFAHGDAZ0iLqv x5F/R4c97s+1H+ayqfgTUsenOc4mI/+BcJozFD+gBPWX9bg7C1qN7u7ueKXFUKOcciH/ j/NA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:dkim-signature:delivered-to:arc-authentication-results; bh=DOflia4PX5lHbvJ6mvv/qwdhHLEbjoWlO2DaYN2QJOU=; b=bgs6EgkGE/Qw6VVZbxGhmZXx3sUScW06ZwgiZCDE1uFDBT68OAnSnXDbc8HKt8tEb8 rZI/VoTBGT9jlOQgYUgdX8WBrVlM2LI01XJ7/dg0Wf+hE1bx4so+xlTpWDAOVu8cn/M9 e5iNAQN37clQ46WUig88tcZ8l2kjrbJBW68Q2wY4KREnHpgeFiqL7nd9Nigu++b0fQk8 hJvDF/kFRZ3nt06xCbsn6UMBv76pQj7IA9Gie8qyGgFDDZvScPdgXAWjhdmeMLjpkcI7 zKyyZxTrVSe4ElGipeWiqvHOpR40ByMGqpKKLuuM8xdRFdzZvjI7yVsBoTJbwPGYWRqY B2QA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=Pg22mfay; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id g5si9660536wmf.205.2018.01.09.09.14.41; Tue, 09 Jan 2018 09:14:41 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=Pg22mfay; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 19E1968A064; Tue, 9 Jan 2018 19:14:39 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr0-f193.google.com (mail-wr0-f193.google.com [209.85.128.193]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 71A30689EC7 for ; Tue, 9 Jan 2018 19:14:32 +0200 (EET) Received: by mail-wr0-f193.google.com with SMTP id 36so14868709wrh.1 for ; Tue, 09 Jan 2018 09:14:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=dOFRFuS6VbOqZzLYkLOdjLdUnPO9bC6xDVKEcjUtfRM=; b=Pg22mfay5bJxCyP3cQ6M00/jJ0VZv3lVOjVMEMbkfONqxzDxICQaMjCYwrdHqSF7DO ZLGtKCuuwuHY1XAdsPTzfS0LMD7WkAdZXWM9hHVal5XL/GnMb6KGmFT/iUJsIm9PuZT1 ClI5NX3Nun3xIYJ0GsnorCGsi5PXRvxJKE4Dls3IsC9ot9wS+kaet6Ui90DyEgOzqrWB y/uNhwY+AYraCgA4YZSQZUT8azLlOerPNV8zGs9uu/Nge8NM5YlM7Y59ZENQt310DhkH Da3Y7z+fgqtssijTc4CH/rFqoNIrG1M6BG3J3CBHO6+Rkk5TLAov2xuW60xnBW8bJ/VX QsQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=dOFRFuS6VbOqZzLYkLOdjLdUnPO9bC6xDVKEcjUtfRM=; b=PFbiNH6Qfh6MJ3w4M9+1riTUEmg8a3v81YEAFdiL6gAbQSoo8AqyeQefNurqIvyNAe pcent4ZTpNieaSW5u2JoC7OGDqi6v9V3kobTYSZRr8eJxo9MlXxr+4SfcGIiyEBEyr2A U9etWCah5hl9LOnz0li+AYViqRTIGIBqKs4yJ0rxVVyFarOthAa0A5PkexSs3MCmxqJs t6fwwWYKC5l0MOz+OE8VOT4BtvUVPmrXEufawbGcj3+NEDuaUeK9zuB2D0gLczb7AmqH jvjBYxZU2+Uq1QrJwdQELajOzL4XLdumgOknnzXEYpO+TfciAfw51emOxJMp8y6lnHEv 3xxw== X-Gm-Message-State: AKwxytdgkhBRjFIL58DEANLE4GSQkwNeOefxza2Wp1y8WCKFlOrXWW/+ X3DUUO4lk+f4xglWHtTGc/8= X-Received: by 10.223.179.25 with SMTP id j25mr3548667wrd.35.1515517581333; Tue, 09 Jan 2018 09:06:21 -0800 (PST) Received: from igloo.80.58.61.254 (141.pool85-51-114.dynamic.orange.es. [85.51.114.141]) by smtp.gmail.com with ESMTPSA id 11sm1703018wmd.33.2018.01.09.09.06.20 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 09 Jan 2018 09:06:20 -0800 (PST) From: Jorge Ramirez-Ortiz To: jorge.ramirez.ortiz@gmail.com, ffmpeg-devel@ffmpeg.org Date: Tue, 9 Jan 2018 18:06:13 +0100 Message-Id: <1515517573-27292-3-git-send-email-jorge.ramirez.ortiz@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1515517573-27292-1-git-send-email-jorge.ramirez.ortiz@gmail.com> References: <1515517573-27292-1-git-send-email-jorge.ramirez.ortiz@gmail.com> Subject: [FFmpeg-devel] [PATCH 3/3] avcodec: v4l2_m2m: context: fix raising warning on POLLERR X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: lorusak@gmail.com, sw@jkqxz.net, nfxjfg@googlemail.com MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Jorge Ramirez-Ortiz 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 --- libavcodec/v4l2_context.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/libavcodec/v4l2_context.c b/libavcodec/v4l2_context.c index fb482cf..5bacaaf 100644 --- a/libavcodec/v4l2_context.c +++ b/libavcodec/v4l2_context.c @@ -258,7 +258,7 @@ static V4L2Buffer* v4l2_dequeue_v4l2buf(V4L2Context *ctx, int timeout) .events = POLLIN | POLLRDNORM | POLLPRI | POLLOUT | POLLWRNORM, /* default blocking capture */ .fd = ctx_to_m2mctx(ctx)->fd, }; - int ret; + int i, ret; if (V4L2_TYPE_IS_OUTPUT(ctx->type)) pfd.events = POLLOUT | POLLWRNORM; @@ -279,7 +279,19 @@ static V4L2Buffer* v4l2_dequeue_v4l2buf(V4L2Context *ctx, int timeout) /* 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); + return NULL; + } + } + } + else + av_log(logger(ctx), AV_LOG_WARNING, "%s POLLERR\n", ctx->name); + return NULL; }