From patchwork Mon Feb 5 11:57:25 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhao Zhili X-Patchwork-Id: 46038 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:7b08:b0:19e:8a94:b663 with SMTP id s8csp697764pzh; Mon, 5 Feb 2024 03:57:59 -0800 (PST) X-Google-Smtp-Source: AGHT+IGV4AQlNNziFkIncZoqOy7YARgTtEF2JhhZl+dvdUmGY225eYi4pIO8k1zjBWs0F5dpC02C X-Received: by 2002:a17:907:7811:b0:a35:499b:9644 with SMTP id la17-20020a170907781100b00a35499b9644mr6359411ejc.15.1707134279088; Mon, 05 Feb 2024 03:57:59 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1707134279; cv=none; d=google.com; s=arc-20160816; b=O9xbZ5tmyQjHO+3pFAgOkWLmiH+LAtFQGA4RM9d09VUdEY97vWuSmwy3fUccWL0UON uQbgOeeJxFCaWiF0tp8Fu83mR0vCBPApwR5hJtCyGm72ihqS0/Yu1+8Wlhjv7nHRxUKd TrGfJlXUDv75+sZrEuj6sMwIEGhgf2dpO/BdrC3L5UI4kTzepYgbBI72/RiROdLrGQ4e Mz3QF54V2dYldACJiMl0YRu77do0jUg9KuYlraZ23nHGWCbRFgqA9vvxxMxagfFBrG7c E1HnIND/h2TkeiLVO+VL/4P2BSZyfhywGtjYgJzc8a0Z8nrBDSLyrkMWttyNwuHY0w5Q 9wRA== 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:date:to:from:message-id :dkim-signature:delivered-to; bh=BBkyjTHDIu1mwtR+XOCAP2/K94sIVMXZvtdrmYI1Yqg=; fh=aISLFQL4IqXfXYjMGEXGKAWXzMz4tfWVBBYNeMsiYzc=; b=vk6Ktcv1ZgC5DhJP7DzuaAP5fWrxN1UBIUg4TWqeOV840KUqwaygL7Vcr3pTSgoL39 C7EM4b+W8u1h1AmsoJDEc2rEhJgDmQmvUl5GsDZnlf+om80tqa5VLCg2dT6KP4jeQ0HR KSKYXfD20EnPEn8Bw7jHkeM7zDTvQpUsMrSaaEoF07BdInoDLnyV6gJJjmq4KipnCMf+ bh77LX2lheSCtq1P3TaSPWQCq8MyxeDl2Bx69jHfAZSe0ctHZ7r9odP8qljISW+/SPfy Tc3n8mtU7PW15UhFrC73M+v1jq+5vG8vHw39TXFeurVHwcyhWzdJIQwUPpDxMG2/Gfww z6vA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b=ajnruCGm; 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 X-Forwarded-Encrypted: i=0; AJvYcCXpTfV10hVRPGH+oPhMAberkVsatUHFVj3ngfJFNYw4FBEjgBV5Laa7m35XrTIBsLF7tG4O5Mmt0gq3CHiFHyf9XuuFVZ8g+tHtVbwi+iWKshmwG3pxOTgD8hSo2QEQbFtrO+DLLlFlqet57XtWAOBs21jij4WmapqM0XjUe4JYSQLkxc5FAys3e56JbJMXUh4u9cdcr3R5GfYlVN/WhqpAP2/kKczaZXdKe7PbBFsVT71UcSLYjsRww7JlqFWuSIiQuzZq8Ik7Gk4hnPYqF6xgW6j27ZKRFEQirS3ey4V18TFEsvfIP38L0ukzSqDxxQEvHgqVciPZ7dxO+V0ep98IWIWtGuN0h1GbYtzCQZGD6IWUIx1YvppL0u1VpXSa6rv0uPA4G0dOYQgEp5mn0xBa6nIHWzu5BSiyefcRAQ1yVA9Fm13WBhfIkAGLGoHlXwnbtGrBhDvQFmFaQckCHe/+z6m6TxdkNYMClPEoV7cFg6RxAss9gXjIyqF6/dcmZaRKLZlLVCBdkk11lrwCWrHdfn0AdAYhmNTHPajCO0Hgae3vT537ZmrA4Ajq3hCdhJmg6Fioh/1kEAvPn4dhgJoxDRNKRiIem9/vmhl3N7MnnXGCOKsUPQP5Nc7EejDLrf+Z758FFpSTjxySd8hx+TPADVCahmxWY8OA+2BBjGmsTDBarXR9aodQMgoyZbex/TPORSHXdM+Rbf2bpePQ7YXhELDAxxEU8S8efziCBe8YEagYKDDqiSVhlDF6056bpcZM1dU2z4RkLvI7d5apZHykCCsqRfosMbgQJZPV4b2sbsvknYPcUVuUupOT0c+iqy0+Fg2tDhMUBom7Wak4G9NGD09pvMsqujaWJzDFy9n3KBNUJc/aJdZa2+W487jpzptzhwKg3w4q6FNCHZk65Tyr/QXeuQpXhawDW2+Tm4P5x8Yo0U6mIwc1Yxq0bMioultfuE J0i/dSgG6/vfGHG9PL7c2Ytkeoc0i1Jr3UMwEoPbft19vLullxeKxzBrJXX/KTaTWvv8YQIjf2tOgOIJAm+nL+pGLo3U3tdGG0zP+qBKj0MM3C5weFlJxdPJDaqOxRQOlK+RDOKVj3RsC2UQ9R/Te/q8YfzHFLzXdt7e8RAUzdKRCu3lNUWgI7ANXDo+hBmMw9gFpH24DiYcobjHv4NxdhYIUTnY783KR+/KJDigUgtncfckZHDkhXus+cDIlcKo4XmSRyhLTfX27jwesDQrHAPFhnLek2lf7FSsQJV7dUDEXu3tJi8igxrlMlQYmkjWOCQ8DS/U5CLajTImnjHmKYEQpqfUUv8BKuJQU6rN0qrB4SHedeuzTPIWYPVyG25dFyF1lRheasJBvRyJ0w23mTeHmN2TNW3xvptG7HGT/tW04661NWLtP0Xj+OCbq8YcBXTigB1CmeQZdnBqEvrLg2L7kugEywhayDBREaKWxsmeUBz49MRN1Nl3X70w4zxXHuZu9RZ1kDMQotfdjb2ECrD6qKvAyihw4fQ36xyLU8RzNBLoY270t+Vekpin/pXNlJJ9Ty8FEa1Fso7nHonD+J8XEVx/bU8bRvp9nK7o/rFS+kGn1/CocCHuJ9+05S8mcKfxtv8ikW Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id j14-20020a170906474e00b00a37c32e4c46si851930ejs.121.2024.02.05.03.57.58; Mon, 05 Feb 2024 03:57:59 -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=ajnruCGm; 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 86EA068D158; Mon, 5 Feb 2024 13:57:47 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from out203-205-221-153.mail.qq.com (out203-205-221-153.mail.qq.com [203.205.221.153]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 896AD68D0EF for ; Mon, 5 Feb 2024 13:57:38 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1707134249; bh=dDgnRPHSa74p32gDKGT0BqgNkEjDOe6lqeqOvVPK5Qg=; h=From:To:Cc:Subject:Date; b=ajnruCGm/nrfwOfAICyauJZ2ApPd87fQJsvX2pzk5yJhqs2iHXSgo1dC/GJpyrtWE Eus5PbgPszfsP5akPToPp7tZgSZ+DHagh2fNdgqowdSj74HUxkDfaTqW57MpGpDXrB 1JiQCUTKqmoKVCx5nAv2TGWBni+RMSHyUDH1ZAWE= Received: from ZHILIZHAO-MB1.tencent.com ([119.147.10.187]) by newxmesmtplogicsvrsza10-0.qq.com (NewEsmtp) with SMTP id E5C2763C; Mon, 05 Feb 2024 19:57:28 +0800 X-QQ-mid: xmsmtpt1707134248tolraqk0p Message-ID: X-QQ-XMAILINFO: OZZSS56D9fAjRQzFW/NdoW9e9WZ/9pVhG/OkYZG0uBLkA2zumFSOdOF069Q1QT Y70u0TM7qtUY0qWe9pMoSEK8LQg6mOhECdrvPDvRx+EwfuhaX5ZgkOzUXodRtTMv7aVvdWgE9vmQ IHzShvXb/9xCQvmFGW0T1/RF/gO22FzhdBm7PUCnAIOA1wWKBmHTLF3R7IdVGDYIUKCBv5VSw2tB Cv97cInhoNSdH5B0l+Aaj+oI752jqmrx4fMXoY2ekOSH8KAFOvpU6RnO3HrvDplKanE3yzHBy5p9 XBLXyKik2QJCQUoCXBc9LyMWmgYc59JmEqoTJwZX2CECE+ZG6+U1sTNM+ieMncT35jsnLq4tWOW5 cIg/am6Vd9Mfn8UsMsxVtjrxpQ7TWobrB5DTCCIQvYabO2WpsUoZuIxBkrRjiAZl8nyi0Qw16Qy2 FijJkNJ0gjjURygvcdADlNl7jJOkmRd1HmN5YVETa4IhVx5NEEZ9MagqaLGheNrS2+JEBRgagGZT aD+boJpTnhtGz+a5uV775F1r03Ws3s/AralMOeeTBOTaNJIKFqVS7+oVVPFnblHJF6RJ/ZoCt4YI BNW9qiJbv+ByqGWp+lx9PMmuhu5n1sDww6MxWTWhnBN1YlebyWilKA5il6UnmNDEfsWaKwjlC1ly iqFghHSBLp2q3GyOPy1mSoXY427UGuP7E/65AZM680MuSncjAmFYfmrxfwQMnpCkuSVqF1wyFyBJ c6jMfgrtDjp5EjkDnjbeFPCOVo0Q8vFz7ZRIEJkfzgjzFmDaH+FGWubRwcG8jiLNpb5/+RXgqrrf aa8FYznsAIPDHJuVwPTinAVi3KlZH/483tiE0xR6OfyZKm587HdBzgzRknvfZGYl7nkN7Zui9SkA 8/2nUTUuqPcUwsJLdl6Coxnn+my0l3wYyLrcPpXLry0OOHtsqav4UzvKL1yuRI7hHsW7Fb2bY9bj P30krTKQVAqk/Sm8DqEl5yIZOuCstI9wMy+WrGey8= X-QQ-XMRINFO: NyFYKkN4Ny6FSmKK/uo/jdU= From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Mon, 5 Feb 2024 19:57:25 +0800 X-OQ-MSGID: <20240205115726.56459-1-quinkblack@foxmail.com> X-Mailer: git-send-email 2.42.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/2] avcodec/audiotoolboxenc: remove CAP_VARIABLE_FRAME_SIZE from alac 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: W1bQnImUMBLa From: Zhao Zhili AV_CODEC_CAP_VARIABLE_FRAME_SIZE has been set for alac_at encoder, which means avctx->frame_size should be zero. However, alac_at encoder also set avctx->frame_size. This leading to assert failure in ffmpeg_sched.c av_assert0(enc->sq_idx[0] >= 0); Actually, the implementation of audiotoolboxenc.c doesn't support frame_size been zero. Fix #10720. --- libavcodec/audiotoolboxenc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/audiotoolboxenc.c b/libavcodec/audiotoolboxenc.c index 42ab7ae6e4..35dd4c553d 100644 --- a/libavcodec/audiotoolboxenc.c +++ b/libavcodec/audiotoolboxenc.c @@ -676,7 +676,7 @@ static const uint64_t aac_at_channel_layouts[] = { FFAT_ENC(aac, AV_CODEC_ID_AAC, aac_profiles, , aac_at_channel_layouts, aac_at_ch_layouts) //FFAT_ENC(adpcm_ima_qt, AV_CODEC_ID_ADPCM_IMA_QT, NULL) -FFAT_ENC(alac, AV_CODEC_ID_ALAC, NULL, | AV_CODEC_CAP_VARIABLE_FRAME_SIZE, NULL, NULL) +FFAT_ENC(alac, AV_CODEC_ID_ALAC, NULL, , NULL, NULL) FFAT_ENC(ilbc, AV_CODEC_ID_ILBC, NULL, , NULL, NULL) FFAT_ENC(pcm_alaw, AV_CODEC_ID_PCM_ALAW, NULL, , NULL, NULL) FFAT_ENC(pcm_mulaw, AV_CODEC_ID_PCM_MULAW, NULL, , NULL, NULL) From patchwork Mon Feb 5 11:57:26 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhao Zhili X-Patchwork-Id: 46037 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:7b08:b0:19e:8a94:b663 with SMTP id s8csp697708pzh; Mon, 5 Feb 2024 03:57:50 -0800 (PST) X-Google-Smtp-Source: AGHT+IH3pQ9BYahANoXF7K7AmA99eT/FYaLTEVb6MZwgIco5+RvHsRFMlFyg0UbrSJIBIjUycKTT X-Received: by 2002:a17:906:3b0c:b0:a37:a356:ff2f with SMTP id g12-20020a1709063b0c00b00a37a356ff2fmr2551093ejf.14.1707134270190; Mon, 05 Feb 2024 03:57:50 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1707134270; cv=none; d=google.com; s=arc-20160816; b=y7hIL+tocRrJ3B/7lUPJYd4CDCTNiPilA+O5whaLasjYs5EH5gQrNhP5xY6bQUUGNp 4R/nH17WzmR/ZSfGIxmI9m1mIN/NzyOmHPJmDIts9mVLjvbpsWEo/0PhF9KSBH0UU76+ nVNUyZ3733JuOQ7TpSboFscxSxAUBGoax8o6ZheV2ZW1OjAuHIHr1JdOGSv7N33nJixl QKPL/oAxmk7SYC0QFNGrRe69vWAaNBCv3Grjno7CX96b+iKgbvgidjtTgFhpZRajK3R5 +TB4Hpor1eT7ss38qHfzwOcTHXJUgexq01J6J90NKZpFxbX6r6dyQoR7rHt4yaW9gtX6 DgCw== 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=2B6PWfzEXIME+CZjVIeLN5WFoIV9ZcVojy8e+ckLniI=; fh=/hWMbDS3biOtfp86PZ0EC6drfjQR3xA1heQC4PTjOtA=; b=aBREIB0kqHPy3TQSfPP4cHt4JNwAI8EjONFoTBB/wtkFceW1FX6AjrEQKLXmfp6/pQ 11eekMTiRfHH5p2ej71Fg6XNFLfYO3+8IGsFEyoP44lS8R7JOe8wMQYh7+40FdT5MMMS gW+a797ElFezboQUoC/mtZ70WNEe3vZz/sUg5/w2egsFPUBixdSKzrfM/r203lCLhugL E/8vT9G8UguIq5lRhRPjcdUqv/TiE+P9wr9VNVG688cGrKdErMPCxjwvdsYXhZO0wLLR O3TpxERYVpIiUl2qIlepYSec0156vktUdl7MrSjpfqx88sHCIjuDClu8fhh/sQZiyJsw 5JqQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b=RSu7uueE; 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 X-Forwarded-Encrypted: i=0; AJvYcCXAFeqRoI0W7gBKKxe5027pHuzU05bFeQL3MzDfogLHRoUF6XhnC5hUhacBHXhnOVGYmUWZCvL8MzA9nnbA59VHdp0Z7ScIU2YbJRsW7w6AZChXKcWkYtx50cGDRt79SIIp4yAXwq1xhAUNNrq9BVVi35dUTihKDK5b8TekBBEfq8FUhezDZWdfb4fZRHvryGA9s/ikvlz3dupZgR4waZZDWetcNIZn+0Zl4UmMPys3Zp3vZMq1kHvdatfcHhAvwXPRwA5/cFc4EXvm2Afu/cAaD874KZrQFLAxr6u4KGaGjQUbFNcGVKvXPTqjlo7Zclw9XA1lIO7KLzQypSwOLpwTn8lrsZuYLfo966k3BDKcivwXV11tQPLplNCrkB3gJfpMMdV/XmcYnZkhkDEA+eISPjApgewVNlT0/zo2d/R7BKK3fWclYp8D4q2blAWdtxKAAru3HKT9JssXIcKeJ0lLzs32Kmuc1eb+LPlz2r6q/5EUfYUSZ487YKeCQAVKPYeuF3EgId1aJiXwTulABUps3bQD3ohl2FyHxnv6ZewriX8kzwj3Oh80f+xJhTVpmnIjf0nMB9o4+GJi7ABh/jqXxFT494QI1+1NyDOUeFSA7+pvBpERPOvFfal/rjuU9f1ax1fqU/EqCU+PUfv44pwl5PJ9SfxW9CN5pfJ2q2jlxF6bHOLvd5gbm/xzzPHV6mpcBvKVC9zh22VDOS7UbrMaXZw2bsDY7/mtkc5aLDwxWe3/rSSlRADDT/rbWP4anWPJb6yxjZmRlwv6iymqDniqnD2yY77RDgbzMokrSLZoA2LAKJgydnZLMZLlj3T0hBRJAVxeHwe7Vac6h+a9FBS7S9BcsCk8xlw/GPLQdChbcZqqIoOLMLMf+pYxSIQV3GQ1Y8e788+IWWPkdLcc5IpppGXU1JCPhEHLA9g+ZGDvKUgT9ICxKXboB2IOfegIPZjKnW kG4thb/LpuDnU+zXBroIpql5g2BvcBJjLYK+2GLdXSsYTDSOGGGxHLwQynvyMEie9DamnVmCTSPDugaAdWvh9m3q5hBYiJuV9D8A6L/Z9wKH+DfktcsgzvdNGTDUbpbkewVxsuinfIgMCxDKQFJhl88yvmoufBFCHy0tKP0zuWK4TUOgYA/cOfISz9qTFjkq4u2vxkGopGmGoIEdcqlBcww5UGMqtYfR6njbwwcvVK8/GL0JAtMrwovEu59uC1nMEvlpBp4Yllvg9NX0Qg8BfO0pRuNswSAzLk9qjd5vaMOLWrmUeaxkq5C/ApHWbcBCdzAdWxbZIEjurpkS6m+hlDtD25EOU+VsKts9VoSSen6FY8IDyuoU2dFkeIkt2FpBudlKD7cl6T4URJoXXHwrDBxOVdeD479XQTlRtsCkzcEVDGibDhSg/lTtLjAKG0hJe/1MWjy8BZilGFvMV580OU5ZALHuAonp6ZINikQNFedOd6jGONX7jq8HqnWp3HYs7VXa8UV1kWwiwCHpL92kTELZxGZ90t3//lNUthZQ1Ec9Wb5Yd0pxt7mDCUWLjqvdr6k5rHLFLja4U/pDg3KWFR9u2mXhlLN/2ooB5s Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id w15-20020a17090652cf00b00a35341252e6si3721868ejn.1037.2024.02.05.03.57.49; Mon, 05 Feb 2024 03:57:50 -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=RSu7uueE; 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 961A868CE0F; Mon, 5 Feb 2024 13:57:46 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from out203-205-221-209.mail.qq.com (out203-205-221-209.mail.qq.com [203.205.221.209]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 86F6B68CA05 for ; Mon, 5 Feb 2024 13:57:38 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1707134249; bh=CnnScXO6nwmNKfg+wv8Pk5Jf+RCWUf1tb2FGLUBjmw0=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=RSu7uueEDKHEOU6wt+DzgetRLxoN1gT0ty76EFP/LfSdOqeR5F11XEQ+Fm92aPcG0 O32Y7fuBJlBskzo2m35KLS6PSSslocK3u1fMag/jxGoxFl9f+AYMZk6IAK2cYjDo9K G9egpd4646486njCfhTkWQUs6+HgbRe0ORRMviM0= Received: from ZHILIZHAO-MB1.tencent.com ([119.147.10.187]) by newxmesmtplogicsvrsza10-0.qq.com (NewEsmtp) with SMTP id E5C2763C; Mon, 05 Feb 2024 19:57:28 +0800 X-QQ-mid: xmsmtpt1707134249t3dl6u5ou Message-ID: X-QQ-XMAILINFO: OQhZ3T0tjf0aYaulWQeaLCcGcwDzqnCn1QBRFx46jkTkeU2GlkdJvLpaq0hPoW p/SgoJUMfFFHtWgh2V35yIQExu57GJAznneHpYpjwimoCjX8CBEDZ8dpWUbIeRZhdMkwtoVYf8xg l4MENXib5l0zP/7ZjErU++POj1lEmQ42HyRTNeSiV66xifQ0uVG9s2UhBZSyexdIubjs7jOs4t5y 96LbsIZO4AdKS56EjPY5xhyuo/tqbpBDE+5TQRf48sij17cJIKukPO6hHKB0HaHZ2AnQfsdpBgOv JuXSEF+HFs6fzFvdsKarW4kWRe2Ta+0KRh/hbuCA+NZsL7EgQuuFcLnacVvrMfYdVbUK3ZgHppLM kRi2jhBQHmoL4My96dt56bTEpRwd2DBDnOvXtBOCm3j873SwdO4oBIuK0CKb8CJEUsEXCoCkexFM wTY80KE3254wYArIsGaS2as4LemwKSOIOkS1/MBgqOgSFcRqbieEbG8pnqlNxeJ0soUeLj1IBz51 bGzsv73+i8wW/KHvD+LcZXdtUrk7BRRS/nYylPOhcQQAlp3Zf6L1d24nVNST+zW+TdewE1lA0Qzl r7iNmoXfeVUZ/5TbBGozD1VbGs50cG/rMJ/mUU47poW2NZhutDmoGqfbn5tiw0TsrA0F7xhklxEl 3ev1FA6BLNpSQI64WuRBtc7RER1/7lRbsKs7/BoD9ZatitTK5EtlkExPGmkkZt0C9l4h5cqqXn+T m+an68/y1oJyFfkqipylhrSckPrxJIg1PmaZQmnhUIIvpj6H3p0UkMwIKdtyOw3ktHq8em5PxtEe 3mEPrzbto4ZfEU8DPadfmburrOQ+VHcU2R8M6BKx/lalaQeJwePoQ1P83AFvWK+Cj/8n9nlWpDo3 fB9BlLfBBkEwqZPX7rTllY6DUvkGkdORB83OjxdLeUYXFzv4EFld8M53sgAZIWaPrAIFVZ8zgxH4 9J8fb4QaquOTGqsSx1c2hka9bTXCV1YAsU4/REvFA= X-QQ-XMRINFO: MSVp+SPm3vtS1Vd6Y4Mggwc= From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Mon, 5 Feb 2024 19:57:26 +0800 X-OQ-MSGID: <20240205115726.56459-2-quinkblack@foxmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20240205115726.56459-1-quinkblack@foxmail.com> References: <20240205115726.56459-1-quinkblack@foxmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/2] avcodec/audiotoolboxenc: Ensure frame_size isn't zero 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: 62zYEXd6tSAN From: Zhao Zhili --- libavcodec/audiotoolboxenc.c | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/libavcodec/audiotoolboxenc.c b/libavcodec/audiotoolboxenc.c index 35dd4c553d..08cd3d5d27 100644 --- a/libavcodec/audiotoolboxenc.c +++ b/libavcodec/audiotoolboxenc.c @@ -92,7 +92,7 @@ static UInt32 ffat_get_format_id(enum AVCodecID codec, int profile) } } -static void ffat_update_ctx(AVCodecContext *avctx) +static int ffat_update_ctx(AVCodecContext *avctx) { ATDecodeContext *at = avctx->priv_data; UInt32 size = sizeof(unsigned); @@ -118,10 +118,20 @@ static void ffat_update_ctx(AVCodecContext *avctx) if (!AudioConverterGetProperty(at->converter, kAudioConverterCurrentOutputStreamDescription, &size, &out_format)) { - if (out_format.mFramesPerPacket) + if (out_format.mFramesPerPacket) { avctx->frame_size = out_format.mFramesPerPacket; + } else { + // Looks like it means for decoding. There is no known case that + // mFramesPerPacket is zero for encoding. Use a default value for + // safety. + avctx->frame_size = 1024; + av_log(avctx, AV_LOG_WARNING, "Missing mFramesPerPacket\n"); + } if (out_format.mBytesPerPacket && avctx->codec_id == AV_CODEC_ID_ILBC) avctx->block_align = out_format.mBytesPerPacket; + } else { + av_log(avctx, AV_LOG_ERROR, "Get OutputStreamDescription failed\n"); + return AVERROR_EXTERNAL; } at->frame_size = avctx->frame_size; @@ -130,6 +140,8 @@ static void ffat_update_ctx(AVCodecContext *avctx) at->pkt_size *= 1024; avctx->frame_size *= 1024; } + + return 0; } static int read_descr(GetByteContext *gb, int *tag) @@ -236,6 +248,7 @@ static av_cold int ffat_init_encoder(AVCodecContext *avctx) { ATDecodeContext *at = avctx->priv_data; OSStatus status; + int ret; AudioStreamBasicDescription in_format = { .mSampleRate = avctx->sample_rate, @@ -432,7 +445,9 @@ static av_cold int ffat_init_encoder(AVCodecContext *avctx) } } - ffat_update_ctx(avctx); + ret = ffat_update_ctx(avctx); + if (ret < 0) + return ret; #if !TARGET_OS_IPHONE && defined(__MAC_10_9) if (at->mode == kAudioCodecBitRateControlMode_Variable && avctx->rc_max_rate) {