From patchwork Tue Mar 13 04:46:48 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rodger Combs X-Patchwork-Id: 7955 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.1.70 with SMTP id c67csp332869jad; Mon, 12 Mar 2018 21:53:07 -0700 (PDT) X-Google-Smtp-Source: AG47ELtQL/+IA8Yca0ihJObZsuuBYKOyE2L++j76/zF2BFMnrF8dVTOCQIU6xavJzjS/4xjkxiSd X-Received: by 10.28.223.212 with SMTP id w203mr4716176wmg.96.1520916787332; Mon, 12 Mar 2018 21:53:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1520916787; cv=none; d=google.com; s=arc-20160816; b=Lk35RkQOwarKvZcbFDuH97N31QoExfS+14Nl3Clt8O4izZl8N+oWSDqII6/RV+WGdu OWDskRHrPNwniob4vaathyc/x2lCoDWCooykF62xsWOxdnZpjyoPCHD8pnG+0br6n39L KIvzl82gXcv1YmVU6ltmgA19Q8nMBtGvk5HxgFcDHgEK+Z8OzMJfC3EpnbQLwWIMvm5W RXolyPHqT7FJSzNXIOg1dmyg+o20rYG64cG8algUAC/soIADQIxI5PohwMncBILKeROU 6BuRSw0n6alXDz0+nlcKaokhCdPDLALl3GR8KsC3DqUR8sQRLb2johw3wWbii8y5w1hD evWA== 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=BYdGw5gd5IDFakRQrwm4by+TOsuCO1u+9pbnrQsZ6J30Nc9LIwijfo24yr+ip5oH62 s5Q+EmX3FI2Trq52X/jL6VLU2O60bkYlP9tdmo2GyyTSe6wZcC5a27JgBc5SNJItmpM8 jEN/IPKgXiNqgeWuBRcYA+J0OB2UIQiwgsLXkm8D1zvSjgLI6tykp4teWgrFEsCCjJ6t AWIdK4LfFpyowo5+Lla/4en0zCd73N5nUMUE3fxDKOzq4C/NxB3Y1X8PZMgh3PPXOe3u Uyug++mugxmKInF087Pn1Y+Cw8VY0OUZlusNR1/H1nqFAVRlZWE0v6LiXT9urGAOYBHB bbhg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=ithQrGbD; 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 o130si4157385wma.144.2018.03.12.21.53.06; Mon, 12 Mar 2018 21:53: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=20161025 header.b=ithQrGbD; 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 1AFE4689E62; Tue, 13 Mar 2018 06:52:55 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-io0-f179.google.com (mail-io0-f179.google.com [209.85.223.179]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6B283689C2F for ; Tue, 13 Mar 2018 06:52:53 +0200 (EET) Received: by mail-io0-f179.google.com with SMTP id v10so7494562iob.6 for ; Mon, 12 Mar 2018 21:53:04 -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=ithQrGbD0jA2/VQHCYp4Bmf5X0b0w0iYRoM1TfWNLqOJ+Uw68ODtwzlbxChGi9eJ96 8r3EzMfcdEODfFzFswSt3TdqVK+gMpmGFOEy7Lm1EtwXgWa307ZmBP+d5VD2X+irFnya h02BdOLXvbVGuWTgQ9TlNc3lRSvTW0CItVEBHmSGhNVkm/ju55v+lgTT0cxhzRqnAoMC BnQA4KAsO9Irb0TOW3yGiOm+8kgHKa3G7VIE6w+bUfdR5s1L4E4RoVQQCAST5i5quBOm QNErNLvKfZnq3dv7YlvtnE6NNRAEMqQ+5tzmrS4oqTVktMk9MR8Q2KxB1FiVUV/HTQfd zzRQ== 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=fCnAvG4S4xQgJXi8UUm5lAPg3PCK/VHGt8GZQINKIeaLV7M4gx/GXuLtxhJSTMdriX g68lq/lm1XhSDePsk2oJj/H/lK43hV73V/WAI5bvZseza33d2FRxmGMHhA5v3DJSS82i m9mqTAXT5Z4SblLoye5UcEi7x4YBhA9Oeg2vq6Z4aCraV3M47bIClIBhW6PuvL289khK 2niIWlQ93lBwmL5mJ8v+xZGd2jIIpIPYYenosPOmpYPBjM+y2XPdy70U5/rXX6dmlCfk jcocIctWvBgnke3UdKPuRSMZxGtEXbo6AQCMyOHeiMo9IiFntpUaCWi/0GZ0uCt/FjdB ZrcQ== X-Gm-Message-State: AElRT7EaFTZU2OqR6NisrU/y28MmdfWT3AA8UzSEOaRFq8v+XOKp8k6J jsYevKxPRIQrUREt5xmD1knp9hll X-Received: by 10.107.128.141 with SMTP id k13mr11902397ioi.152.1520916415461; Mon, 12 Mar 2018 21:46:55 -0700 (PDT) Received: from Rodgers-MBP.localdomain ([71.201.155.37]) by smtp.gmail.com with ESMTPSA id e22sm585120ioc.1.2018.03.12.21.46.54 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 12 Mar 2018 21:46:55 -0700 (PDT) From: Rodger Combs To: ffmpeg-devel@ffmpeg.org Date: Mon, 12 Mar 2018 23:46:48 -0500 Message-Id: <20180313044648.40735-4-rodger.combs@gmail.com> X-Mailer: git-send-email 2.16.2 In-Reply-To: <20180313044648.40735-1-rodger.combs@gmail.com> References: <20180313044648.40735-1-rodger.combs@gmail.com> Subject: [FFmpeg-devel] [PATCH 4/4] 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)