From patchwork Wed Mar 14 06:24:40 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rodger Combs X-Patchwork-Id: 7984 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.1.70 with SMTP id c67csp1636221jad; Tue, 13 Mar 2018 23:25:36 -0700 (PDT) X-Google-Smtp-Source: AG47ELtrguZgf72xzboVWWRLPbCDKO7Bbi8k4UzL6lOhMN6dXY6UuuBjPG9RWBbXDRT5zmwx+8ki X-Received: by 10.28.146.68 with SMTP id u65mr631861wmd.107.1521008736632; Tue, 13 Mar 2018 23:25:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1521008736; cv=none; d=google.com; s=arc-20160816; b=gfaiF6UisQms7SBDcSJRvY65uoCy4yWX+ZU5EPFzaQbFr21Vku3MSU4ktwY2dWILVW t2q7V3RyTJT2Ylon0SBN4ynavutTmwcixAsN+G1O2we7BytSfcoUkdIv+rbTfhzPUeKS 4pro6Qjdb009r4sFr3SQCTgjMlY9lWIJrXkKVWxBPYrYB6dzKBZWbmmw7v5m/0CCAsAR +zYwwSI5O7P/aCBYbWlGo7lLIZfiv4NY0qaHlYihI6J/GFasBI6VewZ0HKEAAnXMwMVH Ap5ttXbDxthqN1qXQgCp5WR6wOPKPO8GHpt+iXx1fCnuhW+zSMTmPkg/Bo81o11Ins3d G5eA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:dkim-signature:delivered-to:arc-authentication-results; bh=A65Kz2CtAk0eeUMl6OV/R7FOrLM9cS0vD90/wj+AS08=; b=iY0AiyOTHihxK3ZSp05NjtyukvVO4vZCE9QBvLPd3XkpcjfAfFmczhbv3Q2N71NajI bFClKI9qDJX1Nc6e/gyOrm/FV/CLEY5irQHtLVmv22ctdBOEsEo9WV25YdwQsYE/OnAp a177Yx6xT0RLwYuaS1qeKeCMfG0g59E042WrLZutR6YX6TLNR1LhBJSdThVRMvjS0FxD oLeltWfXRrWbcuBlzc/eakcUSJkocxVSN0+Vt096IbN3R91LgoQHmV5/e87fBH8afmsy OTB7OYUf5Pbda0TSnyoK0N9KeUmfE/PEYpmnH2HvMSUpnPkjlpY07lDGpZXKIqBAfYMa Ls8w== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=ClXnX3lS; 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 x81si107786wrb.100.2018.03.13.23.25.36; Tue, 13 Mar 2018 23:25:36 -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=20161025 header.b=ClXnX3lS; 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 D2FE068A10B; Wed, 14 Mar 2018 08:24:51 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-io0-f170.google.com (mail-io0-f170.google.com [209.85.223.170]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 79092689C0C for ; Wed, 14 Mar 2018 08:24:43 +0200 (EET) Received: by mail-io0-f170.google.com with SMTP id p78so2981578iod.13 for ; Tue, 13 Mar 2018 23:24:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=L05PKYlSt1/OthGqJLoj6bDTgsbL0eCRkech9eJ9FzI=; b=ClXnX3lSJMrg8ZLpLc9jokDnwrdqbhXQ453GlqnXOw1//loyfsaP//CcDmHz8kKVjr aw2aE71RW7rvH7jEOgG/RYp3qE0hFrOVovzJ9StibXK98Ve2KXTcPAYTwwwEMn84xC4M mp404n0ZDgIqThKCH1kZiK/PfNspSiel6vYlHjd6YXTGi2lvTqNz4FrNncLgX7hIz4+u hzNNxKP2JdhuoTXyrNzBLISmDsvUy9lxwijyS4rIeQ4IrNrouSLwUAwkx640HiJ0ZV5l sTVh/vkr4HqTrhlkfmZ6Gb847OiiFwk6BdIdn9IfBTN3X0p4p6zalwMQv3CemM7bM8LT 8KuQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=L05PKYlSt1/OthGqJLoj6bDTgsbL0eCRkech9eJ9FzI=; b=anRcAe7SJ08Vfn2s18bI861LipqYYSSrfM+RVLNjwj2hVPuxBAOJcz2UCZKSvQ7cRW pLUutOJhiu2ECh8llAdioW7Q7xelUk1yncQMddnXFHQrqQxk2JRlagLNlaagJy57OmwD G1os8/f+9D7xSHDjd82zS+XYLUL6WMG3ozofwFYnvYD9wgHRKzMK+gJpDJzfwz+dUrEB jiK/OuAI6AmatlWgi6gzG9W01Qo2PFGNkcWyQ8+30iGGTFyudPoFVEmYP3ngi2Ce5AbG GHA1p/9tafj+xVWXuAjUocMCai3ta1FlgKV1iyocCU2C5bnW9iQFaSyoAM7QpppKaVBq GB0w== X-Gm-Message-State: AElRT7GOGgTvURyBqXQdayGy2TkAUAiEcJ6ztfQFayr0y9HIkNhlfO/t fI0MGHtK++USyTvQ3rHX2v6ACfgn X-Received: by 10.107.130.80 with SMTP id e77mr3539431iod.245.1521008693515; Tue, 13 Mar 2018 23:24:53 -0700 (PDT) Received: from Rodgers-MBP.localdomain ([71.201.155.37]) by smtp.gmail.com with ESMTPSA id v134-v6sm394596ith.27.2018.03.13.23.24.52 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 13 Mar 2018 23:24:53 -0700 (PDT) From: Rodger Combs To: ffmpeg-devel@ffmpeg.org Date: Wed, 14 Mar 2018 01:24:40 -0500 Message-Id: <20180314062445.89909-5-rodger.combs@gmail.com> X-Mailer: git-send-email 2.16.2 In-Reply-To: <20180314062445.89909-1-rodger.combs@gmail.com> References: <20180314062445.89909-1-rodger.combs@gmail.com> Subject: [FFmpeg-devel] [PATCH 05/10] lavf/dashenc: don't call flush_init_segment before avformat_write_header 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 MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Fixes crash when muxing MKV-in-DASH --- libavformat/dashenc.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index 5689aef811..63ff827583 100644 --- a/libavformat/dashenc.c +++ b/libavformat/dashenc.c @@ -985,13 +985,6 @@ static int dash_init(AVFormatContext *s) av_log(s, AV_LOG_VERBOSE, "Representation %d init segment will be written to: %s\n", i, filename); - // Flush init segment - // except for mp4, since delay_moov is set and the init segment - // is then flushed after the first packets - if (strcmp(os->format_name, "mp4")) { - flush_init_segment(s, os); - } - s->streams[i]->time_base = st->time_base; // If the muxer wants to shift timestamps, request to have them shifted // already before being handed to this muxer, so we don't have mismatches @@ -1032,6 +1025,9 @@ static int dash_write_header(AVFormatContext *s) OutputStream *os = &c->streams[i]; if ((ret = avformat_write_header(os->ctx, NULL)) < 0) return ret; + + if ((ret = flush_init_segment(s, os)) < 0) + return ret; } ret = write_manifest(s, 0); if (!ret)