From patchwork Tue Sep 24 11:24:00 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 15254 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 BDC68449561 for ; Tue, 24 Sep 2019 14:24:36 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id AB9DE689E39; Tue, 24 Sep 2019 14:24:36 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pl1-f196.google.com (mail-pl1-f196.google.com [209.85.214.196]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3AFB0689E26 for ; Tue, 24 Sep 2019 14:24:30 +0300 (EEST) Received: by mail-pl1-f196.google.com with SMTP id q24so851223plr.13 for ; Tue, 24 Sep 2019 04:24:30 -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; bh=V1rT6J1f7d+dt/aEOHm5+AXQYxWYuLiyNewntqq6UcQ=; b=vg0OGD+FLFJ/ahC5qdTbS4MO33ePaAZLx1QHyTs6PTPZyEujYnAiiTfxv86wJ+pa18 Sc0SB/casXDnsBK7+f0tvgS/0JIMkcuIQjLV+v4+ia1RHh8FYQLrDLPV3pv4sUAfO8C/ p1sss6lLNkYGgKXuGc4cv7ABrmHDK8yVCasFP/CNqr6XPyPN0yPNsSyFPj38Tz5seJdg 44VNHFviaidjhWJQAWjMDDXywG+aQYwxV37x8vlUGHRPr+EAifDj355S3nMMg5Jm2xu+ 1XFtRWCAPa/PIVgFiQR++r4T3V6JYGtqD7NKdazJXleQkrrl8PXmzFUzeFZdO5HvOnPS BOQw== 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; bh=V1rT6J1f7d+dt/aEOHm5+AXQYxWYuLiyNewntqq6UcQ=; b=oB5UIQQHWaxJKtZa7Fy3ErH9djRDRMg0AvMqsAwjFLw6sPZ4egOuV8A0dDKu1lDS8R UM/U/4I6UTZqkECq4oQ9ZGlDg2C70l/az2HryuN39DMlCdDXYRi2iyMfIs/49bK+4D9P a6T2FxEcCr1jWHwTt9TIpChvcwRAT/Mr/8J1PixsskABJLh7+efYSa8/i0yv8Otjb+Um H1nhVzTtgPELyWDkm9hI3WQMy8uSIfGWx81DX9WWh1d1htns7bFe6P04jVMyeSDAX9/7 FeWFiFpiby3dAiAbmkbLW05cQQgwAH+0NHOnQh6XTnlm8g6DTTV/9Ib7rTjFWSQ5WaBc oBzg== X-Gm-Message-State: APjAAAUJ1aTMxrx6Bf10pNGF+mMlDkf9TvkcGB7TP0eBjwl7+r34rRJs QfF7c3VfUUshHIYE8dOrqqwTGINM X-Google-Smtp-Source: APXvYqwmFs7kHuweNtz/4ki7Wfy116gVYMWF/uhi4Yl1ho7FZHB5g2S2evJpeNNdzkurY4yR9ck7+g== X-Received: by 2002:a17:902:fe16:: with SMTP id g22mr2373135plj.246.1569324268438; Tue, 24 Sep 2019 04:24:28 -0700 (PDT) Received: from vpn.localdomain ([47.90.99.151]) by smtp.gmail.com with ESMTPSA id y7sm1887217pfn.142.2019.09.24.04.24.27 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 24 Sep 2019 04:24:27 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 24 Sep 2019 19:24:00 +0800 Message-Id: <20190924112401.14020-3-lance.lmwang@gmail.com> X-Mailer: git-send-email 2.9.5 In-Reply-To: <20190924112401.14020-1-lance.lmwang@gmail.com> References: <1568595818-7943-1-git-send-email-lance.lmwang@gmail.com> <20190924112401.14020-1-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v4 3/4] avformat/hlsenc: replace with av_dirname to get the directory 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: Limin Wang MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Limin Wang Signed-off-by: Limin Wang --- libavformat/hlsenc.c | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c index d663785e4a..753addcbde 100644 --- a/libavformat/hlsenc.c +++ b/libavformat/hlsenc.c @@ -486,7 +486,7 @@ static int hls_delete_old_segments(AVFormatContext *s, HLSContext *hls, float playlist_duration = 0.0f; int ret = 0, path_size, sub_path_size; int segment_cnt = 0; - char *dirname = NULL, *p, *sub_path; + char *dirname = NULL, *sub_path; char *path = NULL; char *vtt_dirname = NULL; AVDictionary *options = NULL; @@ -517,13 +517,8 @@ static int hls_delete_old_segments(AVFormatContext *s, HLSContext *hls, } if (segment && !hls->use_localtime_mkdir) { - dirname = hls->segment_filename ? av_strdup(hls->segment_filename): av_strdup(vs->avf->url); - if (!dirname) { - ret = AVERROR(ENOMEM); - goto fail; - } - p = (char *)av_basename(dirname); - *p = '\0'; + char *dirname_r = hls->segment_filename ? av_strdup(hls->segment_filename): av_strdup(vs->avf->url); + dirname = (char*)av_dirname(dirname_r); } /* if %v is present in the file's directory @@ -542,7 +537,7 @@ static int hls_delete_old_segments(AVFormatContext *s, HLSContext *hls, } } - av_free(dirname); + av_freep(&dirname); dirname = r_dirname; } @@ -578,13 +573,8 @@ static int hls_delete_old_segments(AVFormatContext *s, HLSContext *hls, } if ((segment->sub_filename[0] != '\0')) { - vtt_dirname = av_strdup(vs->vtt_avf->url); - if (!vtt_dirname) { - ret = AVERROR(ENOMEM); - goto fail; - } - p = (char *)av_basename(vtt_dirname); - *p = '\0'; + char *vtt_dirname_r = av_strdup(vs->vtt_avf->url); + vtt_dirname = (char*)av_dirname(vtt_dirname_r); sub_path_size = strlen(segment->sub_filename) + 1 + strlen(vtt_dirname); sub_path = av_malloc(sub_path_size); if (!sub_path) {