From patchwork Tue Oct 30 23:20:42 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Thompson X-Patchwork-Id: 10857 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 ED73F44C2E0 for ; Wed, 31 Oct 2018 01:20:47 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 63F4868A796; Wed, 31 Oct 2018 01:20:19 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr1-f50.google.com (mail-wr1-f50.google.com [209.85.221.50]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id CCA9168A6B7 for ; Wed, 31 Oct 2018 01:20:13 +0200 (EET) Received: by mail-wr1-f50.google.com with SMTP id u1-v6so14482453wrn.0 for ; Tue, 30 Oct 2018 16:20:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jkqxz-net.20150623.gappssmtp.com; s=20150623; h=to:from:subject:message-id:date:user-agent:mime-version :content-language:content-transfer-encoding; bh=M9r60slrZufp3ZONQlUc9iMEGVLBx7Lxv6mdkwme+FY=; b=o86Z8+Mv7wt0nQCbhsOh2P/2Nnt0gpdBvD/yoBe8cvgKg1Ms/NFW8lD4mdVSfUk4Mj n5BClUWOOi4IMQZlkj66BJlWCR3iup4BRfkidxXSmPIK01Thm2o04nELtv01gHnsJmWy E8maoeiE3Y2EhkIx91nercm3838ES3D1njnLpV4glfvnyWtseog1H0I1NjcpUGM7509X 5G7qqLj0MRFPGAyAn4uMLnuEWsnN35pHAGnezjJPDeug4PjVknbP6ToOrTTGLGHOOqOS IWuYGbpFRqh/MVFtTDBc8JpW0D7RUVtYsmlDgcec4/fipRTcBs8oxopzLMF1S383pvef JXjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:from:subject:message-id:date:user-agent :mime-version:content-language:content-transfer-encoding; bh=M9r60slrZufp3ZONQlUc9iMEGVLBx7Lxv6mdkwme+FY=; b=IMYx/NY8uTKruqb+pweuAt59/CVn/O1QNUV6GB2ffLVffxuj8vo5YgX5FjvfbZCHx3 yfJnbsmN96h+YNKt/eLHy+0Yu2/lm0KE/KCS3mpqbMaA6K/9Q+xXnRWu5JdA9JPe3UFv 1cUT/qK5UnpoofQk4J99dEMS3g0GWIKl/hIUbUOf9XVa+T1epbrtlVwakjSZnmKnnSJJ fFlSkKW9o1xp10IP8KPpoJxBkZI6vhNu2f5zKNmv3f3BbidN9L1uj/oQBxvbw87MAeR9 BaPM5IzeDbH5RrfcQNlwt/PlsFjpR3uF7YjdFhGdN1nUIe9nrvjp/2yevD7E1uih3FXT cWbg== X-Gm-Message-State: AGRZ1gJ7fxChI5Eq5G+qPuTuJRvOY6ONOP6REr40DX2x7nLWMUGP5RYJ ILx0Ed7CXZy8IT96UwytSw+3TAEDI78= X-Google-Smtp-Source: AJdET5eWlanNkNriumhEkkYLFq809KK2A/kS+0aSZN+WvI7n/qQOtlVKIFVthoPC69O+YerUx6CdFQ== X-Received: by 2002:adf:916a:: with SMTP id j97-v6mr580884wrj.179.1540941644524; Tue, 30 Oct 2018 16:20:44 -0700 (PDT) Received: from [192.168.0.4] (cpc91242-cmbg18-2-0-cust650.5-4.cable.virginm.net. [82.8.130.139]) by smtp.gmail.com with ESMTPSA id b143-v6sm28403822wma.28.2018.10.30.16.20.43 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 30 Oct 2018 16:20:43 -0700 (PDT) To: FFmpeg development discussions and patches From: Mark Thompson Message-ID: Date: Tue, 30 Oct 2018 23:20:42 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 Content-Language: en-US Subject: [FFmpeg-devel] [PATCH] lavf/hlsenc: Fix mixed declarations and code 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" --- libavformat/hlsenc.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c index f8f060d065..73282ed31a 100644 --- a/libavformat/hlsenc.c +++ b/libavformat/hlsenc.c @@ -2348,26 +2348,31 @@ static int hls_write_trailer(struct AVFormatContext *s) return AVERROR(ENOMEM); } if ( hls->segment_type == SEGMENT_TYPE_FMP4) { + int range_length; + if (!vs->init_range_length) { + uint8_t *buffer; + int byterange_mode; + av_write_frame(vs->avf, NULL); /* Flush any buffered data */ avio_flush(oc->pb); - uint8_t *buffer = NULL; - int range_length = avio_close_dyn_buf(oc->pb, &buffer); + buffer = NULL; + range_length = avio_close_dyn_buf(oc->pb, &buffer); avio_write(vs->out, buffer, range_length); av_free(buffer); vs->init_range_length = range_length; avio_open_dyn_buf(&oc->pb); vs->packets_written = 0; vs->start_pos = range_length; - int byterange_mode = (hls->flags & HLS_SINGLE_FILE) || (hls->max_seg_size > 0); + byterange_mode = (hls->flags & HLS_SINGLE_FILE) || (hls->max_seg_size > 0); if (!byterange_mode) { ff_format_io_close(s, &vs->out); hlsenc_io_close(s, &vs->out, vs->base_output_dirname); } } - int range_length = 0; + range_length = 0; if (!(hls->flags & HLS_SINGLE_FILE)) { ret = hlsenc_io_open(s, &vs->out, vs->avf->url, NULL); if (ret < 0) {