From patchwork Tue Apr 12 08:15:15 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhao Zhili X-Patchwork-Id: 35279 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:671c:b0:7c:62c8:b2d1 with SMTP id q28csp1454311pzh; Tue, 12 Apr 2022 01:16:09 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz+TjwnBOk5AVTltNOXccfP0FHkd1+eD2kaKXVAaFoUaEljGKXbkmUM5QbUDH2bqYe0cHDT X-Received: by 2002:a17:906:ae85:b0:6e8:76c2:1f1f with SMTP id md5-20020a170906ae8500b006e876c21f1fmr12729817ejb.333.1649751369747; Tue, 12 Apr 2022 01:16:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1649751369; cv=none; d=google.com; s=arc-20160816; b=0LEh1oKl+ddyuvWiBBUc6R4JWVXRVSnBt9h9FCNvEMxfzzHdD1kcbxI13/LO5wC95M st3cUMZ3E3XGhM/7u0ucWzx7bdVSOWK+13MKMUHZxAsMfvw5D3CTO+5Hu/uShqg7W1xU yI3fu7TbnR2KUxpbXc2bGezGeWFslzLawZIathSpYNcMtyqOWkrInIpaLO8wz9hMns0z LxGvxsFHR2Ai0vxNaM6ywa40cq/GEhXRUyWver3xE1rAizsLZ/atBmR6D++X5s0TjA80 NNaRuumSS+asQEv2b+8+KcrXpimugNSpE0f/Fxr88XW/8PhdwMdAAZGClv7ir8eLdfVF aoaQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:references:in-reply-to:date :to:from:message-id:dkim-signature:delivered-to; bh=BCKkKLJdA/zqYE+wUsSP4q66OS2mJO0ttk2O3k6YCOc=; b=rbVVE5OqlkY4//L8TUJc+wlq3ZfIWfGgbG7mw2PdxA7SAfkR8J/gJIg/+aqgDDuBMC PtEG7JL8gfHliJP+nwiM+Ssyvh8zN1VeyO0k0XfGjl0PudPkSquxQU5ObQNvhtdmwJ/T 0yjeDfdA2vvU1RgsH5WO+H3HDPk2vTjNVftEs8L0U88hWoR65M5EMDutmir5UqUkt2Z0 nV2RQRnBuWDOLKfRJlsH7L2j7bvXcWyO54/ffREjcU+Havi1sd2frhtm8sWdq6rImWtG lnNMg8+sP1jNOKhijVHr/p5S40StK+A75B/QJTEzXP6vIUe0xUYxooMBisjNicYem/Ig LLAg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b=iO9STkE7; 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=NONE dis=NONE) header.from=foxmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id e7-20020a056402330700b0041d93f87e93si806144eda.377.2022.04.12.01.16.09; Tue, 12 Apr 2022 01:16:09 -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=@foxmail.com header.s=s201512 header.b=iO9STkE7; 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=NONE dis=NONE) header.from=foxmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4FC8468B399; Tue, 12 Apr 2022 11:15:53 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from out203-205-221-205.mail.qq.com (out203-205-221-205.mail.qq.com [203.205.221.205]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id DB99868B381 for ; Tue, 12 Apr 2022 11:15:44 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1649751341; bh=DGGH8/zjMkG3Svtjp+A9/+DkAUuJbvNATnRpWKT85qo=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=iO9STkE7Kp8kYijHYkqxuXzZVbHU+Khstrq1i4tYkzx3g13uqsAGZRv4OGecIUbeq YzLONZg9+F02J7lIUl77nbyRVmJz5BaPNsNU5zJwmt3Hl/i50W+rcD1BQJHY81eYWD IsH7sa2l9dqK8JtHBE2+4hPvcEOMnItaIzgcoXVY= Received: from ZHILIZHAO-MB2.tencent.com ([113.108.77.68]) by newxmesmtplogicsvrsza8.qq.com (NewEsmtp) with SMTP id 3E314CF9; Tue, 12 Apr 2022 16:15:35 +0800 X-QQ-mid: xmsmtpt1649751340t4iwuh53o Message-ID: X-QQ-XMAILINFO: OBfNkvzAyASsA1A1aNrbAqjzhdUBlRh8Ca4f8USpl5HRfi3gwwOmCD0zp1uDY7 n20a1XblM8kYuifGIBtvK5pC9mVtMr6zNNhQ0yPy9Ra7j2xTlylJzW/+03VLeiuOmodzVBeghgxh 5qLCV235SSrUVW8WBpW7usyHyllYQhVzfiDbNplFqQldmqK6ayB9MP2buuG8j+hrMXVXq90iVB5e AE5KTUn9oUaDa+PkJAdhUKxMnWrZBIfOXy0vHXiGZFWXifSrmgmgdwDgBS/hnfSsY90Jj8sTs672 RL03tFbHKnmcRy5im5E0/e26o8EIq9sdGE952eUJV4cj5EjEl/aJj3wxgew4zXO5t7HBdkeBeQbs l7v3R1qMy5/aVdpQ1dGGtVTKYs1cD6f2w8Lj0AtmiONt9Ds/u20Q/QlUXjudvS3bkJVRUXD+qxnf /Ax31xXWOD5MNXB3f26zkSQyxSmApswMevLKZytuuAhaQAmfwkzGmkJpHlvLtExUTwa3bs37RtqR LWDl5jh0DhVVQyCtH1V1sHkE8fK4C7cOJ1qMBl0UyLko5xAPYBhOT6+eW8s1EkePnZ/newBFBNT8 DmA2VC3yF9La2v1UZ8nBGqt8XwP0ukUBzMZE1dWHS0p4/xON2DuOslbG5Zk/uS93y17DQenWABv2 5IZnu048bo6mDYyy2Nvn58u2m8nk5fH7yqJg9+ff6GMXw5h0VqdN87dv7J/4WUjlYZmSFaMlovHY HkINDqYUri6TUQ+0wEORtuBGfLC++88cmjciV/wZWpsZLJEK46PHiVHMna/bnEy5PTB4opX3AMnJ p8GvGrpNR9Cyoka20i24WDX7ewaoKjSGCKHbT7J9APxxgYzOY7zfSsdWwm0O8dAWMuLbD2gQmtz0 1mcnPMZDue/uzpH7izMQtn0/Wi1JCwjAsJpJ2OitoY1ua+m5lL1NJYGMO4GXVomknA+9RwU/vq From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Tue, 12 Apr 2022 16:15:15 +0800 X-OQ-MSGID: <20220412081522.43246-3-quinkblack@foxmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20220412081522.43246-1-quinkblack@foxmail.com> References: <20220412081522.43246-1-quinkblack@foxmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 03/10] avformat/hls: extract free_playlist method X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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: Zhao Zhili Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: CeRxtx0+amqJ --- libavformat/hls.c | 43 ++++++++++++++++++++++++------------------- 1 file changed, 24 insertions(+), 19 deletions(-) diff --git a/libavformat/hls.c b/libavformat/hls.c index e249810bce..ecb6237d2e 100644 --- a/libavformat/hls.c +++ b/libavformat/hls.c @@ -253,30 +253,35 @@ static void free_init_section_list(struct playlist *pls) pls->n_init_sections = 0; } +static void free_playlist(HLSContext *c, struct playlist *pls) +{ + free_segment_list(pls); + free_init_section_list(pls); + av_freep(&pls->main_streams); + av_freep(&pls->renditions); + av_freep(&pls->id3_buf); + av_dict_free(&pls->id3_initial); + ff_id3v2_free_extra_meta(&pls->id3_deferred_extra); + av_freep(&pls->init_sec_buf); + av_packet_free(&pls->pkt); + av_freep(&pls->pb.pub.buffer); + ff_format_io_close(c->ctx, &pls->input); + pls->input_read_done = 0; + ff_format_io_close(c->ctx, &pls->input_next); + pls->input_next_requested = 0; + if (pls->ctx) { + pls->ctx->pb = NULL; + avformat_close_input(&pls->ctx); + } + av_free(pls); +} + static void free_playlist_list(HLSContext *c) { int i; for (i = 0; i < c->n_playlists; i++) { struct playlist *pls = c->playlists[i]; - free_segment_list(pls); - free_init_section_list(pls); - av_freep(&pls->main_streams); - av_freep(&pls->renditions); - av_freep(&pls->id3_buf); - av_dict_free(&pls->id3_initial); - ff_id3v2_free_extra_meta(&pls->id3_deferred_extra); - av_freep(&pls->init_sec_buf); - av_packet_free(&pls->pkt); - av_freep(&pls->pb.pub.buffer); - ff_format_io_close(c->ctx, &pls->input); - pls->input_read_done = 0; - ff_format_io_close(c->ctx, &pls->input_next); - pls->input_next_requested = 0; - if (pls->ctx) { - pls->ctx->pb = NULL; - avformat_close_input(&pls->ctx); - } - av_free(pls); + free_playlist(c, pls); } av_freep(&c->playlists); c->n_playlists = 0;