From patchwork Sat May 2 17:16:56 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 19438 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 2D40F44BB45 for ; Sat, 2 May 2020 20:17:57 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1278A68C894; Sat, 2 May 2020 20:17:57 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm1-f67.google.com (mail-wm1-f67.google.com [209.85.128.67]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 867BA68C87B for ; Sat, 2 May 2020 20:17:49 +0300 (EEST) Received: by mail-wm1-f67.google.com with SMTP id u16so3757768wmc.5 for ; Sat, 02 May 2020 10:17:49 -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:in-reply-to:references :mime-version:content-transfer-encoding; bh=eYNESwT5QdaWvA8ZigLdOLmsvfdXXDmlkW2gTFOEo+E=; b=cs0g36LUNJaSicY1agEfnEJ07WOV4PkjKouxm9AcfG1gNA//gjRQCxxE2hUCmQu5tt GRFDCVLusre8BnLm6DunJ7UBwwLdVew5qiDEMdNmaIF33fBkNpYcxnppOV4tgGpfmu7v znowxVFfmUFR1oPcswt0EjqPdzFVfc+ENSxFRe1nPBOMD6YrzIHc0l8zr9XIR8JZrbP6 Oh2V3U2+0t/KclT0KZVvNsDRzVG7DoLwS3yEBCN+b9/b0d09aWqh/BlgqwK2pcuQh5gL b2FTnnPdj4VMssS1469MOHhfmAR9oWwQyKLncVtzeO1A47FdkyEy/xMFY8p7WzeuZz0y DAQQ== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=eYNESwT5QdaWvA8ZigLdOLmsvfdXXDmlkW2gTFOEo+E=; b=izqmqYP2ysd8DBViHTcfEUfE2DLcZOcaVEYBpuFkvh2UGGtgMcvrhk/7/V6VnrLj+a pfYZn/4g8XVFuEEy/OS9GNBgiuSAgtRmsEqiGzNO8lzSCyYMv2Pedk1SKMtyUG8Ukc7q HWncOJ3MX98a8f3oixGMas+7cUluJH1RfasPhL53YKeUFGiT2AbPP0R7jwUazqRfvFDs H+iUGnmic9wb54SLDUCtaE5hjFZ2IMaJHjOkROAOMjDTjsN0k1+j6Z0xTUThqmsEfFkl 7j7Jtsg4bkGDU8MNOitJO3yXsteNbZ8is85PHxeAgc61hJyCEZa9U5kJWx5w2YKCDOy/ BJgQ== X-Gm-Message-State: AGi0PuamQFPIIYggRuCahseJMpVK1pPDOEVeO6Ps0GxEwNCG5/vlms+G bbJTKghmrO/sgjBPVjrho60fld0h X-Google-Smtp-Source: APiQypIEQM9LvRlSTVtzpelmu1QwnR/nMnMN+apTEOvwXtGWYW7rVKguc8UWegh2eAaVX1SfWR5wVg== X-Received: by 2002:a7b:c459:: with SMTP id l25mr5332083wmi.52.1588439868594; Sat, 02 May 2020 10:17:48 -0700 (PDT) Received: from sblaptop.fritz.box (ipbcc1ab57.dynamic.kabel-deutschland.de. [188.193.171.87]) by smtp.gmail.com with ESMTPSA id u74sm5241524wmu.13.2020.05.02.10.17.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 May 2020 10:17:47 -0700 (PDT) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 2 May 2020 19:16:56 +0200 Message-Id: <20200502171700.28991-4-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200429222156.29129-1-andreas.rheinhardt@gmail.com> References: <20200429222156.29129-1-andreas.rheinhardt@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 09/13] avformat/matroskaenc: Don't reserve space for duration when unseekable 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" We won't be able to seek back to write the actual duration anyway. FATE-tests using the md5pipe command had to be updated due to this change. Signed-off-by: Andreas Rheinhardt --- This is the one and only place where is_live still differs from !(pb->seekable & AVIO_SEEKABLE_NORMAL): No duration is ever written when is_live is set. libavformat/matroskaenc.c | 2 +- tests/fate/matroska.mak | 2 +- tests/fate/wavpack.mak | 4 ++-- tests/ref/fate/binsub-mksenc | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c index ccbd73cbe4..10b64e2965 100644 --- a/libavformat/matroskaenc.c +++ b/libavformat/matroskaenc.c @@ -1869,7 +1869,7 @@ static int mkv_write_header(AVFormatContext *s) int64_t scaledDuration = av_rescale(metadata_duration, 1000, AV_TIME_BASE); put_ebml_float(pb, MATROSKA_ID_DURATION, scaledDuration); av_log(s, AV_LOG_DEBUG, "Write early duration from metadata = %" PRIu64 "\n", scaledDuration); - } else { + } else if (s->pb->seekable & AVIO_SEEKABLE_NORMAL) { put_ebml_void(pb, 11); // assumes double-precision float to be written } } diff --git a/tests/fate/matroska.mak b/tests/fate/matroska.mak index 1d2921194f..b69f9792a8 100644 --- a/tests/fate/matroska.mak +++ b/tests/fate/matroska.mak @@ -12,7 +12,7 @@ fate-matroska-prores-header-insertion-bz2: CMD = framecrc -i $(TARGET_SAMPLES)/m FATE_MATROSKA-$(call DEMMUX, MATROSKA, MATROSKA) += fate-matroska-remux fate-matroska-remux: CMD = md5pipe -i $(TARGET_SAMPLES)/vp9-test-vectors/vp90-2-2pass-akiyo.webm -color_trc 4 -c:v copy -fflags +bitexact -strict -2 -f matroska fate-matroska-remux: CMP = oneline -fate-matroska-remux: REF = 8369f24de64aaa52cf57a699dcdc7d58 +fate-matroska-remux: REF = acaf96f1832264d7f2845b16dd4ab082 FATE_MATROSKA-$(call ALLYES, MATROSKA_DEMUXER VORBIS_PARSER) += fate-matroska-xiph-lacing fate-matroska-xiph-lacing: CMD = framecrc -i $(TARGET_SAMPLES)/mkv/xiph_lacing.mka -c:a copy diff --git a/tests/fate/wavpack.mak b/tests/fate/wavpack.mak index c62b3ceefd..f98eaf9a0b 100644 --- a/tests/fate/wavpack.mak +++ b/tests/fate/wavpack.mak @@ -91,12 +91,12 @@ fate-wavpack-matroskamode: CMD = md5 -i $(TARGET_SAMPLES)/wavpack/special/matros FATE_WAVPACK-$(call DEMMUX, WV, MATROSKA) += fate-wavpack-matroska_mux-mono fate-wavpack-matroska_mux-mono: CMD = md5pipe -i $(TARGET_SAMPLES)/wavpack/num_channels/mono_16bit_int.wv -c copy -fflags +bitexact -f matroska fate-wavpack-matroska_mux-mono: CMP = oneline -fate-wavpack-matroska_mux-mono: REF = a378996c1bb5a54998fc804fb1ad97b1 +fate-wavpack-matroska_mux-mono: REF = 5388d452e84958d204de9974bb4e3947 FATE_WAVPACK-$(call DEMMUX, WV, MATROSKA) += fate-wavpack-matroska_mux-61 fate-wavpack-matroska_mux-61: CMD = md5pipe -i $(TARGET_SAMPLES)/wavpack/num_channels/eva_2.22_6.1_16bit-partial.wv -c copy -fflags +bitexact -f matroska fate-wavpack-matroska_mux-61: CMP = oneline -fate-wavpack-matroska_mux-61: REF = 3d708dfce5ac85df114ea91b30143708 +fate-wavpack-matroska_mux-61: REF = c28c51910fc8f3806b1ada1efc82ccae FATE_SAMPLES_AVCONV += $(FATE_WAVPACK-yes) fate-wavpack: $(FATE_WAVPACK-yes) diff --git a/tests/ref/fate/binsub-mksenc b/tests/ref/fate/binsub-mksenc index b4c08e57dd..48a7a56260 100644 --- a/tests/ref/fate/binsub-mksenc +++ b/tests/ref/fate/binsub-mksenc @@ -1 +1 @@ -3dd15fa67a1df541aa89565ceb7047cf +8f355f39124753f89ead698e66f98098