From patchwork Sun Jul 21 14:31:37 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jun Zhao X-Patchwork-Id: 14020 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 9586D4498FA for ; Sun, 21 Jul 2019 17:31:58 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 7C0A568AB0B; Sun, 21 Jul 2019 17:31:58 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pg1-f193.google.com (mail-pg1-f193.google.com [209.85.215.193]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E5A6F68A52D for ; Sun, 21 Jul 2019 17:31:51 +0300 (EEST) Received: by mail-pg1-f193.google.com with SMTP id x15so6077995pgg.8 for ; Sun, 21 Jul 2019 07:31:51 -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=EQuITG/S9wwcj2gssBvBORJHHxGDPjuRdm17QxmX5y8=; b=EEgESbyUL0lwWByKGEhPnWlh2Lp2inSQ0EvGkXd77AsWwMKFzdJbuc4iODaeaZdr7k 35CF+ksCU5In9BiLlvTaohhcgmrnQUIs7DYbnLElbo9rXeK9ZD5XH1O10fYFIhvrhdJb itIUiCxHfS7KPsEgxxrcNHWjexHBa7jjj3OjV32OdINxBKOz70k+q9CFcBOp8p5xImte Ub5jBtTQcZChKql1rOSn8L+lW/A1AP8VQUQFgdGaX015J39TA0k3hFhGEmE+ZXfez3Xd NLwqcUWvZ52zxgXePkpI+Rq+pTwQ22MkJ/KU5CioBXXzGd3Z/1AoQ6KUJiPMNDOmlHLf QhGA== 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=EQuITG/S9wwcj2gssBvBORJHHxGDPjuRdm17QxmX5y8=; b=JUg7ge+IvdMV8kwOkdg2I5r2JlE9fjC+HL1pbA+IkJ4aPIsFnuAfbUKKIIM6nBGxza Ef+tsnJXYm9gpJk2CZjTprMLYh2V2ZR1hEy2xb47iNk/dD4NjBA7iBN6DFs8yIhhuaM0 YEXLsUcGf3KOC4kRoSFE6SvCcP39cfHScWuKEY89MRv01LyZeP8Jon2OZHk+Vr/AAVdQ 4kerLBWE16ruk1Uz0WrA0C7SRrn4CS9z7ydNWi1u+Y9bYBS7s24swfRYFMAZorQAOO/V T22+yOEr2RNCz6TaAc3BeTgDDjOskcGcSeNTvHw1RbOclX+Pfo7cPaRR09jTzBlkcglV /K+A== X-Gm-Message-State: APjAAAVdXBpHxVmFC9TT+m3W3Ngb0XxnA6U8CkKceIuHt4xNy6+qd9Vs gbLUTmbfcU7+VdcSP4nfHIH8nk0Q X-Google-Smtp-Source: APXvYqxloB0kxjTrsYwgFRKSbKMjnH+d7shuLlbMcQlREeCylJFARfUhhYrf3dAZQTDR70uPWuzxDg== X-Received: by 2002:a17:90a:cf0d:: with SMTP id h13mr20057396pju.63.1563719510174; Sun, 21 Jul 2019 07:31:50 -0700 (PDT) Received: from localhost.localdomain ([47.90.47.25]) by smtp.gmail.com with ESMTPSA id w18sm46148194pfj.37.2019.07.21.07.31.49 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 21 Jul 2019 07:31:49 -0700 (PDT) From: Jun Zhao To: ffmpeg-devel@ffmpeg.org Date: Sun, 21 Jul 2019 22:31:37 +0800 Message-Id: <1563719497-3780-3-git-send-email-mypopydev@gmail.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1563719497-3780-1-git-send-email-mypopydev@gmail.com> References: <1563719497-3780-1-git-send-email-mypopydev@gmail.com> Subject: [FFmpeg-devel] [PATCH V1 3/3] lavf/hls: replace the same code logic with ensure_playlist() 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: vacingfang MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: vacingfang Replace the same code logic with ensure_playlist(), it's will help reusable blocks of code. Reviewed-by: Jun Zhao Signed-off-by: vacingfang --- libavformat/hls.c | 10 +++------- 1 files changed, 3 insertions(+), 7 deletions(-) diff --git a/libavformat/hls.c b/libavformat/hls.c index 238ebd0..0522445 100644 --- a/libavformat/hls.c +++ b/libavformat/hls.c @@ -861,13 +861,9 @@ static int parse_playlist(HLSContext *c, const char *url, } if (is_segment) { struct segment *seg; - if (!pls) { - if (!new_variant(c, 0, url, NULL)) { - ret = AVERROR(ENOMEM); - goto fail; - } - pls = c->playlists[c->n_playlists - 1]; - } + ret = ensure_playlist(c, &pls, url); + if (ret < 0) + goto fail; seg = av_malloc(sizeof(struct segment)); if (!seg) { ret = AVERROR(ENOMEM);