From patchwork Mon Dec 18 08:47:36 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Liu Steven X-Patchwork-Id: 6854 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.79.195 with SMTP id r64csp15297jad; Mon, 18 Dec 2017 00:48:18 -0800 (PST) X-Google-Smtp-Source: ACJfBouPqxXRs/lqCQ4W/qMi5jsYgBA/0IdOnuHlSZjihVvoaKWYtIMAj03nWsazlA8Bd3//Nmgf X-Received: by 10.223.196.147 with SMTP id m19mr3563155wrf.7.1513586898575; Mon, 18 Dec 2017 00:48:18 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1513586898; cv=none; d=google.com; s=arc-20160816; b=AJU7d9YnIHDlITuDefnyqxzpoOrnH5yZrMVhpiEcsnCH2styPTV/jmlzQzRlJs115j CcXZot4PU2IQPdmge4JRHHqQzBdafzZHzw6Y8s8snaUscZv+UQnRNI90ZLNLVqQ3tJ8+ k1hdZ6NDb+t5gELn2kV08GokTROrKGPRPYgGRo1FSE4xVxKE8H8v4PYgXWa0P8leMMZu +tlt4oetv7Jy0oIDiUC+XPEtaroKQ9TIiNQmz006caBKaOpXvBhQMb6JUSj31PdFkaV1 Bv3PVbSgDXj7pYFut+h6RS+IQeImnINK7sVeECjOldsjvTOHJAyY/y+nZrWfMLMhsrBN V8sQ== 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:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:feedback-id:message-id:date:to:from :delivered-to:arc-authentication-results; bh=s24DjbkqZQuifuZH/2Bh6sDv2KvQmrVhu/KjPML/pS8=; b=Mze42As++v86sKcLMyLzOnqR36kvH2bBpA2sVUGRsSZSVlh0p6QU+n9MCMJly3dIuZ L06yh8DAxDz/XuppRRcQBs9GsVGnw70lHso3uvhNMu2ZUvHFbo2TvN0G3OtMoINUmbhL CLYsqOPOuWPUI544wydZc1n3gvseWsELU8BceVVL3aG5iG3WwuyXjZYTTfUMzrk/OcW9 11JHJ9cPBInuAG2FM4zaP8npNOHvzZS04iWu7BZII2FxKVtNK0IqLzNOaUKAP871yjfF GqG+ZawdXIFFRP/hADjYJjBWLjQoBfagNTvWvZQcAh19Zj0CgcsNamLQOrowNymnYxx1 +xhw== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id z51si1989903wrc.174.2017.12.18.00.48.18; Mon, 18 Dec 2017 00:48:18 -0800 (PST) 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; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 816F4689BD3; Mon, 18 Dec 2017 10:47:56 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from smtpbg292.qq.com (smtpbg292.qq.com [113.108.11.231]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3C282689CFD for ; Mon, 18 Dec 2017 10:47:53 +0200 (EET) X-QQ-mid: bizesmtp5t1513586857tdx2f98a5 Received: from localhost (unknown [47.90.47.25]) by esmtp4.qq.com (ESMTP) with id ; Mon, 18 Dec 2017 16:47:37 +0800 (CST) X-QQ-SSF: 01900000000000F0FJ90 X-QQ-FEAT: NCurqkplqhOMO0Qvw/C6C01AxpL/p28oiN5hvGIO7lFwsX4cdxDvRz6qzlttl A8BS0gXOeidM5eUXRqgxwxmbI9tLgmn3QDTphQYcUXlscYGjTD5X5Rma8vn8u1+ltbZWkyL yQrLN/ytAXDSID/yRph5Z+hZ3aWyh8Fzmzn/sESY2np67QbRocGahIL2BFfZMGg5YkmNa5b Ukal3dyV4/1+0olEkMU6l63pkVoFWoTzQV66tPQsFjfXuvXXuEl/dDNkBEjfUm8DptlNm0A M75rtN3aKTe0rpXWW8jV1Evkc= X-QQ-GoodBg: 0 From: Steven Liu To: ffmpeg-devel@ffmpeg.org Date: Mon, 18 Dec 2017 16:47:36 +0800 Message-Id: <20171218084736.13970-1-lq@chinaffmpeg.org> X-Mailer: git-send-email 2.10.1.382.ga23ca1b.dirty X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:chinaffmpeg.org:qybgforeign:qybgforeign1 X-QQ-Bgrelay: 1 Subject: [FFmpeg-devel] [PATCH 3/4] avformat/hlsenc: use hlsenc_io_* APIs 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: Steven Liu MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Signed-off-by: Steven Liu --- libavformat/hlsenc.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c index 0eebcb4462..0cb75ff198 100644 --- a/libavformat/hlsenc.c +++ b/libavformat/hlsenc.c @@ -440,7 +440,7 @@ static int hls_delete_old_segments(AVFormatContext *s, HLSContext *hls, av_dict_set(&options, "method", "DELETE", 0); if ((ret = vs->avf->io_open(vs->avf, &out, path, AVIO_FLAG_WRITE, &options)) < 0) goto fail; - ff_format_io_close(vs->avf, &out); + hlsenc_io_close(vs->avf, &out, path); } else if (unlink(path) < 0) { av_log(hls, AV_LOG_ERROR, "failed to delete old segment %s: %s\n", path, strerror(errno)); @@ -463,7 +463,7 @@ static int hls_delete_old_segments(AVFormatContext *s, HLSContext *hls, av_free(sub_path); goto fail; } - ff_format_io_close(vs->avf, &out); + hlsenc_io_close(vs->avf, &out, sub_path); } else if (unlink(sub_path) < 0) { av_log(hls, AV_LOG_ERROR, "failed to delete old segment %s: %s\n", sub_path, strerror(errno)); @@ -556,8 +556,10 @@ static int do_encrypt(AVFormatContext *s, VariantStream *vs) } ff_data_to_hex(hls->key_string, key, sizeof(key), 0); - if ((ret = s->io_open(s, &pb, hls->key_file, AVIO_FLAG_WRITE, NULL)) < 0) - return ret; + ret = hlsenc_io_open(s, &pb, hls->key_file, NULL); + if (ret < 0) { + return ret;; + } avio_seek(pb, 0, SEEK_CUR); avio_write(pb, key, KEYSIZE); avio_close(pb); @@ -588,7 +590,7 @@ static int hls_encryption_start(AVFormatContext *s) ff_get_line(pb, hls->iv_string, sizeof(hls->iv_string)); hls->iv_string[strcspn(hls->iv_string, "\r\n")] = '\0'; - ff_format_io_close(s, &pb); + hlsenc_io_close(s, &pb, hls->key_info_file); if (!*hls->key_uri) { av_log(hls, AV_LOG_ERROR, "no key URI specified in key info file\n"); @@ -606,7 +608,7 @@ static int hls_encryption_start(AVFormatContext *s) } ret = avio_read(pb, key, sizeof(key)); - ff_format_io_close(s, &pb); + hlsenc_io_close(s, &pb, hls->key_file); if (ret != sizeof(key)) { av_log(hls, AV_LOG_ERROR, "error reading key file %s\n", hls->key_file); if (ret >= 0 || ret == AVERROR_EOF) @@ -1812,7 +1814,6 @@ static int hls_write_packet(AVFormatContext *s, AVPacket *pkt) vs->init_range_length = range_length; avio_open_dyn_buf(&oc->pb); vs->packets_written = 0; - ff_format_io_close(s, &vs->out); hlsenc_io_close(s, &vs->out, vs->base_output_dirname); } } else { @@ -1845,7 +1846,7 @@ static int hls_write_packet(AVFormatContext *s, AVPacket *pkt) if (ret < 0) { return ret; } - ff_format_io_close(s, &vs->out); + hlsenc_io_close(s, &vs->out, vs->avf->filename); } ret = hls_append_segment(s, hls, vs, vs->duration, vs->start_pos, vs->size); vs->start_pos = new_start_pos; @@ -1925,14 +1926,14 @@ static int hls_write_trailer(struct AVFormatContext *s) if (ret < 0) { return ret; } - ff_format_io_close(s, &vs->out); + hlsenc_io_close(s, &vs->out, vs->avf->filename); } av_write_trailer(oc); if (oc->pb) { vs->size = avio_tell(vs->avf->pb) - vs->start_pos; if (hls->segment_type != SEGMENT_TYPE_FMP4) - ff_format_io_close(s, &oc->pb); + hlsenc_io_close(s, &oc->pb, oc->filename); if ((hls->flags & HLS_TEMP_FILE) && oc->filename[0]) { hls_rename_temp_file(s, oc); @@ -1948,7 +1949,7 @@ static int hls_write_trailer(struct AVFormatContext *s) if (vtt_oc->pb) av_write_trailer(vtt_oc); vs->size = avio_tell(vs->vtt_avf->pb) - vs->start_pos; - ff_format_io_close(s, &vtt_oc->pb); + hlsenc_io_close(s, &vtt_oc->pb, vtt_oc->filename); } av_freep(&vs->basename); av_freep(&vs->base_output_dirname);