From patchwork Tue Jan 23 01:50:43 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 45732 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:120f:b0:199:de12:6fa6 with SMTP id v15csp345577pzf; Mon, 22 Jan 2024 17:51:09 -0800 (PST) X-Google-Smtp-Source: AGHT+IE7lDaUvfzawmKWD6gMWk+/9QFDP2Smf4+xP6/fWnjlk6gGxJZgQRRkElgsllUXX4fjdX0j X-Received: by 2002:a05:6512:3e27:b0:50e:ac01:7ced with SMTP id i39-20020a0565123e2700b0050eac017cedmr1654710lfv.147.1705974669243; Mon, 22 Jan 2024 17:51:09 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1705974669; cv=none; d=google.com; s=arc-20160816; b=rrAsiZqlqaEumiHhv9mxnAyIS+C8BcR6S7PRXt8bT3NaBF7BUQ5JV6o6bwJVb+Nv6t dtaYanSvXoEdfv3hhbDUY7/kRJqZQo9cEyp207IRmS2ehJfkatcII5hPZV8t+UBgLUzk TJw42ON7Lcoo4K8yQBiCc/mKW5PHjLzz/h8Z6uwQOsKYaLu6oGGeBXWDNDvIa0El0+65 teXrowRRi6LsH0EliUelS8FOxG1JjipqYSDmSfNAAzATQaL4XfRIrHK2TcFTGEzN/rRL YThbOZQ3V2SfGsxeTE3FeP+ekbCc03N7THjTrEvgNO/AO/jx0n1/JPKF5HuvAqR8SBju HkZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:message-id:date:to:from :dkim-signature:delivered-to; bh=T0WMZo9JhlD7DEVdnB8KGi7DpbLnONlfYByCTIfMtKE=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=g1twcIqI1x+OXDAX9pzNP+GN7YNMmWy5WoQ0QMbLHRq7YW80VYEqsCwXi9BBORdJnM cIMm8X1e+NIepQSv1urBAbJql8H5/u6v1zomKTYJneKFL/N3GE4339KcrNxmpky+jHUK n8lRwmppMYbs1EIUiV7rdhH09K2bnQSqAynaydlFl1/LUULjG6x3YoXPOVsB6wH7IxVy XMw15eoIViUtcIQMenwaoQot62z0WZJGB8MYxBhp+NIastAR7a/uAhemPWM7jO/0vlOw GbbAVkjk6idI1/yxqH3b+ce6CiVJN6NAxoN+tTtLG3HuSo8xwoEKhdyTps9OVG6ytt8h xQsg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20230601 header.b="W7/04Hiq"; 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=QUARANTINE 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 hk12-20020a170906c9cc00b00a2f876be1f6si3814850ejb.953.2024.01.22.17.51.08; Mon, 22 Jan 2024 17:51:09 -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=20230601 header.b="W7/04Hiq"; 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=QUARANTINE 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 05AE068CF50; Tue, 23 Jan 2024 03:51:06 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pl1-f176.google.com (mail-pl1-f176.google.com [209.85.214.176]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3CE9668BDB1 for ; Tue, 23 Jan 2024 03:50:59 +0200 (EET) Received: by mail-pl1-f176.google.com with SMTP id d9443c01a7336-1d7354ba334so18641745ad.1 for ; Mon, 22 Jan 2024 17:50:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1705974656; x=1706579456; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=i/uQWN95KZ3ohuS7gkGzYu8jB08+phS1UhkmQ9fLUVw=; b=W7/04HiqevhL3TzyJI9nn/qpgpME7nNF1ZkIF8EMhC6rEW6bS61ioOhk928XVp+ELh 3tRmkEMXMY8wzo+UBO2wH7GhmAVEZuubQt63LrXRa2+h0cIgXidYJyF+Lix7+iJLWATf 7E6lBFc1+EZrqPQDawT9g5TcQfCSQOu5BF/5RGVY++5og3XCf/IXVLfE4rQq9G6VDKd0 tL6a8ybv4iWkamD82cbhFUA6fKrZbBd8l7FtmXXumczLIhDOsbxPER4z2UssZL5VndCz yPEc1LSDUE7DzjQP2EEFtw/L5gSRJJMcI+9spW6Eo++73t7fFLbEF6bETSylG+3h+Dom BlHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705974656; x=1706579456; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=i/uQWN95KZ3ohuS7gkGzYu8jB08+phS1UhkmQ9fLUVw=; b=MhNBwAVX010Y/F8VSbO+OZ8T/eDAiu5vTTjqSVjrpx0ffceG8tJyYPU4PDN5r18k4R 3EP63cQaT48d1ImT5uvjTG4TRvh79x86d8UM65mqweXpQKLeOHCUt142OBeiGv9PmKLP hboRerqePv0wozzaMPztD1y3B2PS6RU79pi81s4s3FhGmEHUsA37bA3o/x2CL/4PGpXJ IUaydVHtWkD09rn5NgCvF5WJo2YlcyYu+L3wPkMK1avBpeC43+Gcl6kYEBTLgAn6sZ0B 6PzJ9Y2Mll20bxGvYaIvQ5TLAlrkyvtNZpWoyr20vlRlxxXUCE6CGul7U7d7+cPIchwK TfRQ== X-Gm-Message-State: AOJu0Yyl/mw/FGk1U0sD1rJQSX6HC3V5Dc3B/w1Y94m9OdNzpX640hBj E8Yfo74XcBtOEq5KJDBi7rgsDkYMPjDR/6sUR3isy6WdVIYXj0V1K3uMHs/j X-Received: by 2002:a17:903:246:b0:1d6:f879:435a with SMTP id j6-20020a170903024600b001d6f879435amr6639161plh.116.1705974656472; Mon, 22 Jan 2024 17:50:56 -0800 (PST) Received: from localhost.localdomain (host197.190-225-105.telecom.net.ar. [190.225.105.197]) by smtp.gmail.com with ESMTPSA id mn11-20020a1709030a4b00b001d6f891535fsm5902154plb.163.2024.01.22.17.50.55 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 Jan 2024 17:50:56 -0800 (PST) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Mon, 22 Jan 2024 22:50:43 -0300 Message-ID: <20240123015043.16349-1-jamrial@gmail.com> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] avutil/opt: use AVBPrint to print a channel layout in av_opt_get() 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: PSgx19mhV8Yg A 128 byte buffer may not be enough for some layouts with lots of channels. Signed-off-by: James Almer --- libavutil/opt.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/libavutil/opt.c b/libavutil/opt.c index 0908751752..814b485a15 100644 --- a/libavutil/opt.c +++ b/libavutil/opt.c @@ -936,9 +936,15 @@ FF_DISABLE_DEPRECATION_WARNINGS break; FF_ENABLE_DEPRECATION_WARNINGS #endif - case AV_OPT_TYPE_CHLAYOUT: - ret = av_channel_layout_describe(dst, buf, sizeof(buf)); - break; + case AV_OPT_TYPE_CHLAYOUT: { + AVBPrint bp; + av_bprint_init(&bp, 0, AV_BPRINT_SIZE_UNLIMITED); + av_channel_layout_describe_bprint(dst, &bp); + if (!av_bprint_is_complete(&bp)) + return AVERROR(ENOMEM); + av_bprint_finalize(&bp, (char **)out_val); + return *out_val ? 0 : AVERROR(ENOMEM); + } case AV_OPT_TYPE_DICT: if (!*(AVDictionary **)dst && (search_flags & AV_OPT_ALLOW_NULL)) { *out_val = NULL;