From patchwork Sun Sep 3 16:08:32 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: aler9 X-Patchwork-Id: 43502 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4f16:b0:149:dfde:5c0a with SMTP id gi22csp749297pzb; Sun, 3 Sep 2023 09:09:21 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEpdfo2WcbHnK5bvf+E3ScRxaT1aZ/wGeieeLHYTetI92u+HwA5NRPvGD3t112Ni7GPOwBL X-Received: by 2002:aa7:d5c2:0:b0:522:18b6:c01f with SMTP id d2-20020aa7d5c2000000b0052218b6c01fmr8463350eds.3.1693757360730; Sun, 03 Sep 2023 09:09:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1693757360; cv=none; d=google.com; s=arc-20160816; b=JTmeQMbM6lMU0ElZ0xwej4NE6Hz+eanr3CevV1cjT8wmzDFW6nU2ozXyWjvFYXOv8m r3L9cwuXUjSDtzT9NR+52NvHpl55hEpKmPB4UoT3i5rq8EBRE7z8+RBhFiV62mAeOhhH PIsNadIrUC0Fo+hxoNc78aduzaDeNVkYA/tt+IXaugOTU4NuyWl7Rl/6GMHocd+t/llo h0zTXFT4fTMRc04kCn75sQGLXXK8++FOgSMS7M92npfsUjsfOk9NClpBRnYLYl38/w4A xR4V6ouSxUDGd03AgfE8AZduMOKhjH/NZRd22UP6hR/QOJ5DVyjGJRWDW3VSbYACTJRT iBeQ== 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=qSTwZ7FgvV0UJZ38Li1E99XbwXyvWYQ3T8jYYML7BTPNFfDtjtwFDTwB3lVn/P6hza KEOKOj52tNQRyM5n3wykxtABZvNV72MbMMZAyLMg14Vu/pEKfdDrw+cNFHRKPBFg71iq bb9DeJc9dBVMFBBUqnhz6JgNKfDkcozzH+jC/zPBOzGnIc4GwnMv3AuSVq2K/FVbK70D KPziN12WgTdbacY360xqE/hm/OBmKwX2RrdPs3VMsiZpUbYVO+fPKtrX1OQIrnHOyf2T QTKQ/t4rPlbb7Cme+fGptBncd+99b4851ibnEjv02QmRi4Sl9nmojZZJLcQcGfqsiPvX Enpw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20221208 header.b=hkF2pL1+; 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 v21-20020aa7d815000000b0052c228bf409si5416815edq.519.2023.09.03.09.09.20; Sun, 03 Sep 2023 09:09:20 -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=hkF2pL1+; 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 B292D68C579; Sun, 3 Sep 2023 19:09:17 +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 486B768C579 for ; Sun, 3 Sep 2023 19:09:11 +0300 (EEST) Received: by mail-ej1-f46.google.com with SMTP id a640c23a62f3a-9a1de3417acso340705966b.0 for ; Sun, 03 Sep 2023 09:09:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1693757351; x=1694362151; 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=hkF2pL1+dWMTrAiZ2D6KF59CfvJ0GEDw+F1lhQ/ZxT0A21O++LWN7k3ln/z9pkN8O1 dt9MSu/ebgZHoc/dAwZECO2ggadI/pwAQ4EQZmmdNqKLIM1qTC4rNaNdI1cx+fzNzWZp GxUamLJyOCUAa+jPEcWORrajS1prlODg3ByrrpVdOignoybdQ3Bwb9ClL7dUPV0Em6TV tusptZyqk35jjIzuCdHIYQDIxudQ3yleQXvy+tQ2OlM1RUOjuXpd6F+jSMWFoKP+vf5F ZmJ6HYD7xZw0S1eVf6APbEiBK0gdIj1tTlaDoUeUvRxABXlTN4DjamtVv+NX/UjhPNkm yJaw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1693757351; x=1694362151; 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=GY/atqVs7DRCaRPMv7Fqays3Iz0MQuAxMcF+nBIsDqYsOnzDLakYOOP4NIjX6cz5Bu rgWeBDK2PtqSO9AI74F2P+SlPHH9Z/AIAE/mAk+cWPcR37aKkNvdcCTeWe51Qn0ZgDsB CnVRGSkFmcDwTd1ie4v039O3py4G+iG+BI4Hj2M9fYZsM6vM6/8qSqNetz1T5MovFqyB Dy0AlVh21afakG3Au9pD49geguMh21qX1aFQcGZbzRzrFcEbQXUUX7xg8umHbg/B5XOF WXY1DJ67guSMChcRyEXJfEe2wCjlaB60FRjxXAF24E2XR1Y5+g8Ffr8cPOITER+qMi5Z +R3g== X-Gm-Message-State: AOJu0YyDw/59xXYccwE/LjrHHsVTGw0eKJSDujlmiCT4QFGgAZsOv7xZ RfOYyS0u91ILpwnUX9pIHj8czUXnBw07VQ== X-Received: by 2002:a17:906:cc4b:b0:9a1:c4ba:c04b with SMTP id mm11-20020a170906cc4b00b009a1c4bac04bmr8610808ejb.4.1693757350433; Sun, 03 Sep 2023 09:09:10 -0700 (PDT) Received: from localhost.localdomain ([151.21.203.178]) by smtp.gmail.com with ESMTPSA id y8-20020a170906914800b0098951bb4dc3sm4918511ejw.184.2023.09.03.09.09.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 03 Sep 2023 09:09:10 -0700 (PDT) From: Alessandro Ros To: ffmpeg-devel@ffmpeg.org Date: Sun, 3 Sep 2023 18:08:32 +0200 Message-Id: <20230903160831.855931-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: ewb5Y0tye5LS 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);