From patchwork Tue Dec 19 15:37:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhao Zhili X-Patchwork-Id: 45238 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:1225:b0:181:818d:5e7f with SMTP id v37csp7853540pzf; Mon, 18 Dec 2023 23:37:43 -0800 (PST) X-Google-Smtp-Source: AGHT+IGIyMXEOVQRRT3Hc1osi2LOo29iQaVBTBfkf4Ggr53axXM6oYmxWH/Nm1A80lC+N9eqI6UG X-Received: by 2002:a17:906:58:b0:a23:c63:bf6f with SMTP id 24-20020a170906005800b00a230c63bf6fmr4403337ejg.87.1702971462845; Mon, 18 Dec 2023 23:37:42 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702971462; cv=none; d=google.com; s=arc-20160816; b=AH6aHPTsptY4hmjefG0I9M/G26kzaaIEjuLy+ZcnPUMDazmEJvxRIz/n7eIRW2gu/7 I3uvBe86XS4lUQJPgvEtfOwsSe8C+AFbsvroJ0NHWHm1wV1zqNkWsHV86Z4tzDUMykum 4bisGyanhJHd+z7LYmtyYDq3YnMZrWSkS7a8aR9Rp7zLatxx8Tp8+fIfb29xCFNhWDVT UqeaqR1z8IevSXZwVdkHUdz1nBgZriWrdzmp7CYbMnAzj7Z6Dop2a3Ax1ZC+OlUxW/eC dtNK1beEDIPeLKj8VfKcgSn/4f9B52ox9r03VRPSms8cSYhmx4XNI5/MlyjjGA+Dwfth nfUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:references:in-reply-to:date :to:from:message-id:dkim-signature:delivered-to; bh=xQSeKbZTdQj8B5HfOf5ol+K2eWA8yWsifuQK9h8H1vY=; fh=HnHYuZ9XgUo86ZRXTLWWmQxhslYEI9B9taZ5X1DLFfc=; b=ukKrXLUynpgA77VUlPaOU7khE76xVbGoCiv2ridCL+fz2Zsb6R5aO6aarIIaECOEHJ 4u+y6QQp9w4/+uNDIEWUZtdUGwPIIs+lEUkPECqqCVnEGqb/A8PoMGZRpm6OhsdkZfcy DY12eOzhy2Hwf69K5DeY63EEH4UstIanAMZfTDkTok3jZow3gvXJRz7WYoob4JhdkTJU HYjqZ1/owt9DDbSq+UU/yNTPtGvZLR06vQ1CI/HcCl+7mP/PpLFOCKdCC+3gVaJVU1Ch vpo36mxP83wTPmDyrHZrgn62dfVb2rkGR+PVDaicUteajJTOjZvl7PRrTOhfzHvkXS9H weMA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b=BM2vUWiJ; 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=foxmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id jt6-20020a170906dfc600b00a235545955asi1731284ejc.165.2023.12.18.23.37.42; Mon, 18 Dec 2023 23:37:42 -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=@foxmail.com header.s=s201512 header.b=BM2vUWiJ; 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=foxmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 472AD68CF06; Tue, 19 Dec 2023 09:37:23 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from out162-62-58-211.mail.qq.com (out162-62-58-211.mail.qq.com [162.62.58.211]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1D4ED68D03C for ; Tue, 19 Dec 2023 09:37:14 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1702971426; bh=xLimPeHxODALU9GQd02YrZiwB/nvTWPElxt2YOGhsp0=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=BM2vUWiJBiUQEm0GZ1jNiUUNSKhizerMbwanLCCaWKgR3ZPZqpC70ODCZKvA5njW2 7plI4aLO+eQj5gyJ98oAbi/r+5JtGHE17es3tCdWhfLrKPvl8Qv6lfNFKUq+tWotlr sjXj/BpxGTrhoBxXoUgHRdw2VFPDmMWDBFb97iRs= Received: from localhost.localdomain ([119.147.10.192]) by newxmesmtplogicsvrszc5-2.qq.com (NewEsmtp) with SMTP id 943A0EBC; Tue, 19 Dec 2023 15:37:03 +0800 X-QQ-mid: xmsmtpt1702971425t4dkfcu6q Message-ID: X-QQ-XMAILINFO: OOWntbL6xj16EfIpbk6Jc21DYkp7jt+inB8FiHoQMVh96a5T6Ej7JdriAAXF7d 5bsYAndvztOTNa3921pW+UQ5ct4ZYiBnZCJAoyo9kcIho8iWUfi9zFYWp2t5uV1pgHHWzUzwacC/ Fi9PEUIc0wvVBstZtNISWcxAZ2BU1pYqzLj1I8vMg+8eTi+ciQ04YKqOd9ahk0Il3ORHYZSTrQ8i iZ77hdyYGwUrvQtmCbxLVVIdWTdWqrvuEbg2jWOXiCrJkgeZzvmzaeG65Wa2c1bInCjMdDA3Athj 0jreitd9T5bg7fLOLofjwatDX81XkVBI3JXRYqkTvB91vcDUf1breckEDrzdNqAY7iRlvwBwLVCJ bcbZ7X490h1krkcO0Hw3xpGNk5YNhlKnDki3OM0AxyQ+IzThW30x5ZiZ6BV9hgZhL3zfkRwXeLiK R/pDdhg+Krsr0hWdkZjcJrvXjZlUSbJPXqqDHyiptwcOLoovouQ1ge23d4QyzfQZ4q42ukmHmRkU uOM/ekr/VSwuoEc8JbOu6Y3iOkRppvbfY0ULEa6D7zoJJDn2cSCoSzCV5ONekx3Rqc+BTGRkcXMt GD0jA22yImbJsOZYWlTdoDSqe1f/3AAp0AufXJTcH6facJ//mKc33IX+UzosspS6d3wqM4AqHkkc Z4RTPWeiuNn47hfR0JLYx9jYD0cmh99CKQdNYEhHmfBX0L/W7SpaS92JaRyrRqS27QK/ccRRB/qo BA1uN7v9c7h3qVRqBeIT0LCsBW2QWEKjn3L0PWEAd6O1RWouHberpIilvmNKgQHk+ujkw5VvJXQ1 VHcQm0gazBWhrdvYRTjlVP093WyzISld9EhqFY2OR8wZzNeYfQ25nzvyKWzJKk00wdYEOOAq90SE tn9m26EQmjtMoazrTvEcBbpuGSG/v58MNSGjSmAk9NPJM80NuA5BThPfYdE/iEuLKpwcumTXXPpu i46bCFES6jZWeMo8QDk+9ZtUeTkE2yfOq2xzkRWWWb5X5jtoJF9w== X-QQ-XMRINFO: OWPUhxQsoeAVDbp3OJHYyFg= From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Tue, 19 Dec 2023 23:37:03 +0800 X-OQ-MSGID: <20231219153703.450826-3-quinkblack@foxmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20231219153703.450826-1-quinkblack@foxmail.com> References: <20231219153703.450826-1-quinkblack@foxmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v2 3/3] fftools/ffmpeg_enc: assert necessary frame fields before create encoder X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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: Zhao Zhili Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: VWNGnpHzbgzq From: Zhao Zhili --- fftools/ffmpeg_enc.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/fftools/ffmpeg_enc.c b/fftools/ffmpeg_enc.c index 57590a43a3..2a7fba0c51 100644 --- a/fftools/ffmpeg_enc.c +++ b/fftools/ffmpeg_enc.c @@ -206,6 +206,9 @@ int enc_open(void *opaque, const AVFrame *frame) switch (enc_ctx->codec_type) { case AVMEDIA_TYPE_AUDIO: + av_assert0(frame->format != AV_SAMPLE_FMT_NONE && + frame->sample_rate > 0 && + frame->ch_layout.nb_channels > 0); enc_ctx->sample_fmt = frame->format; enc_ctx->sample_rate = frame->sample_rate; ret = av_channel_layout_copy(&enc_ctx->ch_layout, &frame->ch_layout); @@ -220,6 +223,9 @@ int enc_open(void *opaque, const AVFrame *frame) break; case AVMEDIA_TYPE_VIDEO: { + av_assert0(frame->format != AV_PIX_FMT_NONE && + frame->width > 0 && + frame->height > 0); enc_ctx->width = frame->width; enc_ctx->height = frame->height; enc_ctx->sample_aspect_ratio = ost->st->sample_aspect_ratio =