From patchwork Wed Apr 1 18:42:15 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 18573 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 1A2FC4489C8 for ; Wed, 1 Apr 2020 21:42:30 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id DFE8868A9D9; Wed, 1 Apr 2020 21:42:29 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 92FBA689D18 for ; Wed, 1 Apr 2020 21:42:23 +0300 (EEST) Received: by mail-wm1-f46.google.com with SMTP id f6so890555wmj.3 for ; Wed, 01 Apr 2020 11:42:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=3xdmLt1klsGzq26ChCH5cmA9KsiG4de8wb2rqte5CCM=; b=k5k+30xv7c26Hp7bb2ab05zrko9PzYFni/3t3VJtPB4o4XZRVoAq3+gncbQJXUalP3 5yS8Wznddsdoeqbd8ide1C9+F3/KGVZstJRtciaYlE4GY3jaei8S/DFnRZUgbGQi3b/k X0TjU1STNAvNgH9fiDfCyqWE49+8wcXWSaHYRHaj3TpR4oi2hEtnoOwTkfXQvbsQAwZQ CmRGhu9qktolV3KOnxIXSiM/9q6T7wHXL8X+nvjBAEiuFgUbRgyz1kBEWjuZ1TvoqHHF AveVUHB60GBGd7OBED5XZEFDkfmXObH/YlAM0Jr7RmURZN7oBHp/pbrBBMfX65so8vXe aSOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=3xdmLt1klsGzq26ChCH5cmA9KsiG4de8wb2rqte5CCM=; b=R/e2AI15SnEvjLP+2HeNtqYiBUuYhCc6XBEwNXzpqnxMNHAbfTK86CJcxDDEwIaQV+ jfDHOm6YAww4tgf67/KHlOCAiryOmpYPBQ7aPDHQMEpACFw+MO6v211dNqhQmmvKvszk qdChiM4Mo1MhxNgmY6k2L0mkHRKsi/zq13SN+va0l3e/M59rRSly3yQYHaypcolagFBX G/c1aMKTTgXASUtKIneD6WaPWiN7/okN0ucJwB7neB/lsQpFWvM/BG/ZHZZe5JIhk7ta wFxdLq1Q2FQWTMY0jUNoMRquiyqVP4DW44I+Vv2w1yK8Z6Vfr28s3UkrdQql2UbnmdiH X7EA== X-Gm-Message-State: AGi0Puae8U4lrDLCWfTJtWbM3kLK4/gl2ElkRJ/b/BOoYcWSrOdB50iS Id6UnYnxwriodCjEnnsBeMp0NLfj X-Google-Smtp-Source: APiQypI4znuCMk1pFppAfcOuEGZDhNQoBHApbQSu334bybkWfGwO6vInBKgTuiWr6FX2vkB560k9hQ== X-Received: by 2002:a1c:c90a:: with SMTP id f10mr5520229wmb.179.1585766542610; Wed, 01 Apr 2020 11:42:22 -0700 (PDT) Received: from sblaptop.fritz.box (ipbcc1ab57.dynamic.kabel-deutschland.de. [188.193.171.87]) by smtp.gmail.com with ESMTPSA id 195sm3706492wmb.8.2020.04.01.11.42.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 01 Apr 2020 11:42:21 -0700 (PDT) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 1 Apr 2020 20:42:15 +0200 Message-Id: <20200401184215.18433-1-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] fate/matroska: Add test for updating CodecPrivate from packet sidedata X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 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: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" containing updated extradata, in this case a new FLAC streaminfo. Furthermore, it also tests that the Matroska muxer is able to preserve uncommon channel layouts by adding Vorbis comments to the CodecPrivate. Signed-off-by: Andreas Rheinhardt --- This is in particular intended to test patch [1] (using fewer frames for the last track ensures that (after the removal of the seekbacks in mkv_check_new_extra_data()) the end position won't be at the end of the buffer when writing the final version of the Tracks element; but this won't be a problem after the switch to avio_get_dyn_buf() in the commit before [1].) [1]: https://ffmpeg.org/pipermail/ffmpeg-devel/2020-January/256208.html tests/fate/matroska.mak | 12 +++++ tests/ref/fate/matroska-flac-extradata-update | 53 +++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 tests/ref/fate/matroska-flac-extradata-update diff --git a/tests/fate/matroska.mak b/tests/fate/matroska.mak index b9ed7322fd..02f2ea211f 100644 --- a/tests/fate/matroska.mak +++ b/tests/fate/matroska.mak @@ -32,6 +32,18 @@ fate-matroska-lzo-decompression: CMD = framecrc -i $(TARGET_SAMPLES)/mkv/lzo.mka FATE_MATROSKA-$(call ALLYES, MATROSKA_DEMUXER FLAC_PARSER) += fate-matroska-flac-channel-mapping fate-matroska-flac-channel-mapping: CMD = framecrc -i $(TARGET_SAMPLES)/mkv/flac_channel_layouts.mka -map 0 -c:a copy +# This tests that the Matroska muxer writes the channel layout +# of FLAC tracks as a Vorbis comment in the CodecPrivate if necessary +# and that FLAC extradata is correctly updated when a packet +# with sidedata containing new extradata is encountered. +# Furthermore it tests everything the matroska-flac-channel-mapping test +# tests and it also tests the FLAC decoder and encoder, in particular +# the latter's ability to send updated extradata. +FATE_MATROSKA-$(call ALLYES, FLAC_DECODER FLAC_ENCODER FLAC_PARSER \ + MATROSKA_DEMUXER MATROSKA_MUXER) += fate-matroska-flac-extradata-update +fate-matroska-flac-extradata-update: CMD = transcode matroska $(TARGET_SAMPLES)/mkv/flac_channel_layouts.mka \ + matroska "-map 0 -map 0:0 -c flac -frames:a:2 8" "-map 0 -c copy" + FATE_MATROSKA_FFPROBE-$(call ALLYES, MATROSKA_DEMUXER) += fate-matroska-spherical-mono fate-matroska-spherical-mono: CMD = run ffprobe$(PROGSSUF)$(EXESUF) -show_entries stream_side_data_list -select_streams v -v 0 $(TARGET_SAMPLES)/mkv/spherical.mkv diff --git a/tests/ref/fate/matroska-flac-extradata-update b/tests/ref/fate/matroska-flac-extradata-update new file mode 100644 index 0000000000..743486c974 --- /dev/null +++ b/tests/ref/fate/matroska-flac-extradata-update @@ -0,0 +1,53 @@ +2b363aecd6422c3ce9964983f5d0f3ef *tests/data/fate/matroska-flac-extradata-update.matroska +2049 tests/data/fate/matroska-flac-extradata-update.matroska +#extradata 0: 34, 0x7acb09e7 +#extradata 1: 34, 0x7acb09e7 +#extradata 2: 34, 0x443402dd +#tb 0: 1/1000 +#media_type 0: audio +#codec_id 0: flac +#sample_rate 0: 48000 +#channel_layout 0: 3f +#channel_layout_name 0: 5.1 +#tb 1: 1/1000 +#media_type 1: audio +#codec_id 1: flac +#sample_rate 1: 48000 +#channel_layout 1: 60f +#channel_layout_name 1: 5.1(side) +#tb 2: 1/1000 +#media_type 2: audio +#codec_id 2: flac +#sample_rate 2: 48000 +#channel_layout 2: 3f +#channel_layout_name 2: 5.1 +0, 0, 0, 96, 26, 0x4e160341 +1, 0, 0, 96, 26, 0x4e160341 +2, 0, 0, 96, 26, 0x4e160341 +0, 96, 96, 96, 26, 0x4e17035c +1, 96, 96, 96, 26, 0x4e17035c +2, 96, 96, 96, 26, 0x4e17035c +0, 192, 192, 96, 26, 0x4de40383 +1, 192, 192, 96, 26, 0x4de40383 +2, 192, 192, 96, 26, 0x4de40383 +0, 288, 288, 96, 26, 0x4e3903a2 +1, 288, 288, 96, 26, 0x4e3903a2 +2, 288, 288, 96, 26, 0x4e3903a2 +0, 384, 384, 96, 26, 0x4f9a03d5 +1, 384, 384, 96, 26, 0x4f9a03d5 +2, 384, 384, 96, 26, 0x4f9a03d5 +0, 480, 480, 96, 26, 0x501303e0 +1, 480, 480, 96, 26, 0x501303e0 +2, 480, 480, 96, 26, 0x501303e0 +0, 576, 576, 96, 26, 0x5160042f +1, 576, 576, 96, 26, 0x5160042f +2, 576, 576, 96, 26, 0x5160042f +0, 672, 672, 96, 26, 0x50dd042e +1, 672, 672, 96, 26, 0x50dd042e +2, 672, 672, 96, 26, 0x50dd042e +0, 768, 768, 96, 26, 0x53de0499 +1, 768, 768, 96, 26, 0x53de0499 +0, 864, 864, 96, 26, 0x53df04b4 +1, 864, 864, 96, 26, 0x53df04b4 +0, 960, 960, 42, 26, 0x5740044b +1, 960, 960, 42, 26, 0x5740044b