From patchwork Sun Sep 3 16:00:13 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: aler9 X-Patchwork-Id: 43501 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4f16:b0:149:dfde:5c0a with SMTP id gi22csp744274pzb; Sun, 3 Sep 2023 09:01:08 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEgEIao1hwAZVxr+tYQg6dY2MOXlSlAtcKbZs7fZayoq+ESkDxIJXXspdAgUQgVgJKSgyjO X-Received: by 2002:a17:906:8315:b0:9a1:e231:67ec with SMTP id j21-20020a170906831500b009a1e23167ecmr5452124ejx.61.1693756867974; Sun, 03 Sep 2023 09:01:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1693756867; cv=none; d=google.com; s=arc-20160816; b=jlvy7EOzco+W7bc03wbi7UrdyDSUc4FylSmTV2fXsAF9DH1zakAwQhdVzVkZVPRj4I wWsSE2rgQOiJzXreAXogzkfPoBodcizAAVkwhDdwGd7PUR2uENql/CHbNnlBS6hcQOax nfHXVy4DkwhaTuFk8DhEDBk8TQFIg5/wpKjIJtdZYBLPqISqKPq2ff3GYU02FKoAhubA 6qj/ieJH/YX8msyn2aBRkHlL0ykXjHJVHPpE6ivH+wUKlKUJ5JJe8StcFhDJL8eJVaBb 6yKkiM5k4gqwZ5esr2z7XCaSYgi7aVLdwk/0U21CfKtphM8zEF3evkWPmHxenHGTtl2q Z4Zw== 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:message-id:date:to:from :dkim-signature:delivered-to; bh=WRpo21KxrVF5Wry8YbmbqfEyj9CLiE0BnRhdq1TvwgU=; fh=PdnbJAbsky9wR6op130Y50UjUqzh2rWHR19q63fuWgo=; b=LTijdQ0Fc6e02w/y+8+zYLFenvOTaDvNO7u4eu6d81qjqLpryqL9e6KnDZAhBPVSp9 wHw6e5NaywbiitJoVrCJ4P6MtPzPpj1AETvWxdmEcEjQDRTs6FjMgb1o14UARJwmFHSy Gnu6JTg1b6jtZSR2MDAX8NOYrSNIq1VefB7BvYjSjUkdO5o7O++GjfoLfqE9OV3w3bSa og6HCfyHX9fHaFa/SmpX+YyIXTvmPCSEs6RET3MsuhmNEV4uuQOHH8TP3S4z5Kzgl3Jb WWj2DPsP4dYFz/bXe1ljVaVq/FH/+0n1Yvi3pDn1I1RLst5igGPeQFNO0EBSCWdTHvYY Scfw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20221208 header.b=EQKRSMMn; 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 k2-20020a17090646c200b009a1bf605ebesi5147764ejs.847.2023.09.03.09.00.47; Sun, 03 Sep 2023 09:01:07 -0700 (PDT) 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=20221208 header.b=EQKRSMMn; 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 B784568C71A; Sun, 3 Sep 2023 19:00:43 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ej1-f46.google.com (mail-ej1-f46.google.com [209.85.218.46]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 54EE668C364 for ; Sun, 3 Sep 2023 19:00:36 +0300 (EEST) Received: by mail-ej1-f46.google.com with SMTP id a640c23a62f3a-9a5be3166a2so94878766b.1 for ; Sun, 03 Sep 2023 09:00:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1693756835; x=1694361635; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=r+if2GAX3y0BuF63P53i9MsmiM1BbS4CdlB9XJ1vsQM=; b=EQKRSMMn2RArFRAs1rtnfAlUSNJbSedgvSX82X4FK73PmC+LeDaoI/1UZVc9TpMtU+ AkfFY3QuDHXsQS+0v9mxsRhBhDVmStuolSBj+tvgo+GnQ0lXWcsINMWu9pBxqVeVZdoZ 7e0UHTMdRsbgzgXA0Gy7ljI/0EFT1EdHNcP3JmHgCF8Jv5YlCjBYbsxH4Kzghlb+CeXo PaYpMA3kxmSauY+dee0PY3ETtn7aNZU6eoG+CWRHCkjKfHRY1V2/md/LuidAxCUWPRN8 F84qoq7K0tvGiJcJpYw9B/fJ3gp89fmZUafNMur7N7SWOuLGYSL81PwdmTvvBrRDBAaK aI7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1693756835; x=1694361635; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=r+if2GAX3y0BuF63P53i9MsmiM1BbS4CdlB9XJ1vsQM=; b=fooLkxkZqdF3rnvFmdJZJ5I4LE9DbCtdQxa5J5QXGOaBrx68r4TEzTgAQwv9S97Wns O/KNmBqemg7a38nDeOmNWxa2W+7Y8ZAymGYBsS3lS5eKvX4QiiytWemz9SZMdJX2w/kd iTYMsdkGIM0Y03hrrY1RdYDfvKyqz2vlgggmv/VnSmOU4UNaC1vibZx3ACtdETqMMQTW LDUdVym7OxUKnFnjEKPE+GGlafObrnyX8aVr+QOe5yA0Yg2OTP7oyqiLv/s9pM2jYgHW tNs7wHDL9eBg4bSOgFUsmbwpZJI7wQ2WHBjLaZLLemLbFUi3KA7sJzNxKXBmuPMbS+ih SMvQ== X-Gm-Message-State: AOJu0Yw2PhTEp6JaK0E76a3h0wL+NHv8frQHwO5Kry8l8Oy6E3mTka6a bIzyHzB31qvUMLFe1dR+Hj5ysAdVdto9mw== X-Received: by 2002:a17:906:2215:b0:9a2:96d2:b1e2 with SMTP id s21-20020a170906221500b009a296d2b1e2mr5782326ejs.67.1693756835304; Sun, 03 Sep 2023 09:00:35 -0700 (PDT) Received: from localhost.localdomain ([151.21.203.178]) by smtp.gmail.com with ESMTPSA id q19-20020a170906941300b0099bcb44493fsm5010440ejx.147.2023.09.03.09.00.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 03 Sep 2023 09:00:34 -0700 (PDT) From: Alessandro Ros To: ffmpeg-devel@ffmpeg.org Date: Sun, 3 Sep 2023 18:00:13 +0200 Message-Id: <20230903160013.833742-1-aler9.dev@gmail.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v2] avformat/vpcc: fix VP9 metadata in FLV and RTMP 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: Alessandro Ros Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: vjyC+AzyTKh1 I integrated James A. comment and fixed patch format. In order to send VP9 tracks with FLV or RTMP, the enhanced RTMP specification tells that VPCodecConfigurationRecord, a.k.a. vpcC ISO-BMFF box, must be inserted into a metadata message. However, the function responsible for generating vpcCs currently returns invalid boxes, that are lacking the Version and Flag fields, inherited from FullBox. For some reason, both flags were being added manually in movenc. This patch fixes the issue. Signed-off-by: Alessandro Ros --- libavformat/movenc.c | 3 --- libavformat/vpcc.c | 2 ++ 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/libavformat/movenc.c b/libavformat/movenc.c index 7ef6cef46a..696ae5a6c9 100644 --- a/libavformat/movenc.c +++ b/libavformat/movenc.c @@ -1441,10 +1441,7 @@ static int mov_write_vpcc_tag(AVFormatContext *s, AVIOContext *pb, MOVTrack *tra avio_wb32(pb, 0); ffio_wfourcc(pb, "vpcC"); - avio_w8(pb, 1); /* version */ - avio_wb24(pb, 0); /* flags */ ff_isom_write_vpcc(s, pb, track->vos_data, track->vos_len, track->par); - return update_size(pb, pos); } diff --git a/libavformat/vpcc.c b/libavformat/vpcc.c index ea66959abf..256407dd6d 100644 --- a/libavformat/vpcc.c +++ b/libavformat/vpcc.c @@ -208,6 +208,8 @@ int ff_isom_write_vpcc(AVFormatContext *s, AVIOContext *pb, if (ret < 0) return ret; + avio_w8(pb, 1); /* version */ + avio_wb24(pb, 0); /* flags */ avio_w8(pb, vpcc.profile); avio_w8(pb, vpcc.level); avio_w8(pb, (vpcc.bitdepth << 4) | (vpcc.chroma_subsampling << 1) | vpcc.full_range_flag);