From patchwork Wed Nov 17 11:34:45 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steven Liu X-Patchwork-Id: 31460 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:d206:0:0:0:0:0 with SMTP id q6csp619289iob; Wed, 17 Nov 2021 03:35:10 -0800 (PST) X-Google-Smtp-Source: ABdhPJydrHy/MpfieVjqJYuLgcgOMG7uTHTTJV33Gg7TjOiACUj1sW+z18g8gq8B8iNJgsDXp6Tf X-Received: by 2002:a17:906:794f:: with SMTP id l15mr21675063ejo.324.1637148910644; Wed, 17 Nov 2021 03:35:10 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1637148910; cv=none; d=google.com; s=arc-20160816; b=W9scUFW54nmlbo3JKBgzwAiib6v3m+Ic5qts1KZBqDV79caHqImmfTJ7niOOnkH4Sv 8teVhoIBN+A+aYidIwJxcpJkSMX5jadETjdawVgLlZEn9mRJ6ZG5G1gj+wEsWbYdlLTB XODFLpxmkaiNVCZVgu2EeuYQOHHWflCSnIZMwENgskHW36oz/E0hwFu1agvbiJYH+BJN PuUNrrHO2GqvRVbMGXeTTXj1SaHm2GdePv/iyTnIjI0pWka+B3ITmDezEEeFxJv5Vva0 Pt5GDtZC6I1kRNkZoFEiMRM506bAzdQjT2CDUcW+TGFQqZSjZ5yZOP0kUWSANJNUTNmV hcpw== 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:feedback-id:mime-version:references :in-reply-to:message-id:date:to:from:delivered-to; bh=LHeQfCIEcHKNz73VQ06kPVacWdITmANUvw+ZooM8J0s=; b=z0Y9QyySeN0HoMrh8GvO7FRpqLZKnFkpbbUMARLarVWZSrSAH953+Y40rVL2Z9ZX7c s8WJ5xbLnxgKPCJDuk99NGvlNIDU/PRKUGzSI26SlQmJxcMw5SRhK+5g81XPEEcBoKfU XJ1+vvo9qS8gGquGYkBbsE39n7D8pHe1jmudxtQhdhNeiRRsIHL8//efEqI3IrlJK7qF A3JKNGaBnPUkpcE30niVAW6jkqblF3XpNSBzZ+3UEgQGTBfbMjQ6pdVnS+/fuGKc+tj2 r7u/AdvN9vusnILyQF9/HDGCg7XInKRvCm4B6Yk4yL1LGEivYlwtKHjVfeWihzDxsBz0 MH/w== 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 b12si37943952edu.392.2021.11.17.03.35.09; Wed, 17 Nov 2021 03:35:10 -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 3135D68AE5D; Wed, 17 Nov 2021 13:35:05 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from smtpbg587.qq.com (smtpbg126.qq.com [106.55.201.22]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C51FC68ADE7 for ; Wed, 17 Nov 2021 13:34:57 +0200 (EET) X-QQ-mid: bizesmtp49t1637148891t80r9ld9 Received: from localhost (unknown [103.107.216.231]) by esmtp6.qq.com (ESMTP) with id ; Wed, 17 Nov 2021 19:34:50 +0800 (CST) X-QQ-SSF: 01100000002000Z0Z000B00A0000000 X-QQ-FEAT: Mx1dxJbW4IWB6/30ryXx5yzRDlsDYaUz9q5lX1D/EJURmXMynfTXp0Q/9Ics9 y57tBPgtG4EdMoS7uktBmOL8OD/KiD/iXehK7QowqhGuENseWclzPqv4ng3++g/DR6cKECY k+XWp1xRegNFH3ced/F4bO0XgMMiHmvkZtKAb8IjyvZ2MgIsSxxS0fxMEm8q0hrLkclTqKX NjN2Lht+EKv0i4LfTrZoN7iQvGP27XVHOEFyPHuHPiymTGlzJZ9gUmWHXKZ/6jPGwxvmhpc 2s3oj1KYke3hYDnBjqWDEmE267df7JsQrumK9lwJgi9vOPeg1EKgNZhBr9/2XQwmRyaU3OL hQTlfb9CtHu7r/aA2M= X-QQ-GoodBg: 0 From: Steven Liu To: ffmpeg-devel@ffmpeg.org Date: Wed, 17 Nov 2021 19:34:45 +0800 Message-Id: <20211117113445.85351-2-lq@chinaffmpeg.org> X-Mailer: git-send-email 2.25.0 In-Reply-To: <20211117113445.85351-1-lq@chinaffmpeg.org> References: <20211117113445.85351-1-lq@chinaffmpeg.org> MIME-Version: 1.0 X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:chinaffmpeg.org:qybgspam:qybgspam2 Subject: [FFmpeg-devel] [PATCH 2/2] avformat/hlsenc: deprecate hls_ts_options option 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: Steven Liu Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: H5UXgQJzWwPR From: Steven Liu Because the hls_ts_options will be misunderstand by user, and then user can use hls_segment_options instead of hls_ts_options. Signed-off-by: Steven Liu --- doc/muxers.texi | 2 ++ libavformat/hlsenc.c | 6 ++++-- libavformat/version.h | 4 ++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/doc/muxers.texi b/doc/muxers.texi index 287ea569fd..a8e763a859 100644 --- a/doc/muxers.texi +++ b/doc/muxers.texi @@ -799,6 +799,7 @@ were recently referenced in the playlist. Default value is 1, meaning segments o Set output format options using a :-separated list of key=value parameters. Values containing @code{:} special characters must be escaped. +@code{hls_ts_options} is deprecated. @item hls_start_number_source Start the playlist sequence number (@code{#EXT-X-MEDIA-SEQUENCE}) according to the specified source. @@ -923,6 +924,7 @@ produce the playlist, @file{out.m3u8}, and segment files: Set output format options using a :-separated list of key=value parameters. Values containing @code{:} special characters must be escaped. +@code{hls_segment_options} instead of hls_ts_options. @item hls_key_info_file @var{key_info_file} Use the information in @var{key_info_file} for segment encryption. The first diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c index db0a4675fd..3a085d81bc 100644 --- a/libavformat/hlsenc.c +++ b/libavformat/hlsenc.c @@ -3102,12 +3102,14 @@ static const AVOption options[] = { {"hls_init_time", "set segment length at init list", OFFSET(init_time), AV_OPT_TYPE_DURATION, {.i64 = 0}, 0, INT64_MAX, E}, {"hls_list_size", "set maximum number of playlist entries", OFFSET(max_nb_segments), AV_OPT_TYPE_INT, {.i64 = 5}, 0, INT_MAX, E}, {"hls_delete_threshold", "set number of unreferenced segments to keep before deleting", OFFSET(hls_delete_threshold), AV_OPT_TYPE_INT, {.i64 = 1}, 1, INT_MAX, E}, - {"hls_ts_options","set hls mpegts list of options for the container format used for hls", OFFSET(format_options), AV_OPT_TYPE_DICT, {.str = NULL}, 0, 0, E}, +#if FF_HLS_TS_OPTIONS + {"hls_ts_options","set hls mpegts list of options for the container format used for hls(will be deprecated)", OFFSET(format_options), AV_OPT_TYPE_DICT, {.str = NULL}, 0, 0, E}, +#endif {"hls_vtt_options","set hls vtt list of options for the container format used for hls", OFFSET(vtt_format_options_str), AV_OPT_TYPE_STRING, {.str = NULL}, 0, 0, E}, {"hls_allow_cache", "explicitly set whether the client MAY (1) or MUST NOT (0) cache media segments", OFFSET(allowcache), AV_OPT_TYPE_INT, {.i64 = -1}, INT_MIN, INT_MAX, E}, {"hls_base_url", "url to prepend to each playlist entry", OFFSET(baseurl), AV_OPT_TYPE_STRING, {.str = NULL}, 0, 0, E}, {"hls_segment_filename", "filename template for segment files", OFFSET(segment_filename), AV_OPT_TYPE_STRING, {.str = NULL}, 0, 0, E}, - {"hls_segment_options","set segments files format options of hls", OFFSET(format_options), AV_OPT_TYPE_DICT, {.str = NULL}, 0, 0, E}, + {"hls_segment_options","set segments files format options of hls (instead of hls_ts_options)", OFFSET(format_options), AV_OPT_TYPE_DICT, {.str = NULL}, 0, 0, E}, {"hls_segment_size", "maximum size per segment file, (in bytes)", OFFSET(max_seg_size), AV_OPT_TYPE_INT, {.i64 = 0}, 0, INT_MAX, E}, {"hls_key_info_file", "file with key URI and key file path", OFFSET(key_info_file), AV_OPT_TYPE_STRING, {.str = NULL}, 0, 0, E}, {"hls_enc", "enable AES128 encryption support", OFFSET(encrypt), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, E}, diff --git a/libavformat/version.h b/libavformat/version.h index 81ed517609..5da9291009 100644 --- a/libavformat/version.h +++ b/libavformat/version.h @@ -64,6 +64,10 @@ #ifndef FF_API_AVIOCONTEXT_WRITTEN #define FF_API_AVIOCONTEXT_WRITTEN (LIBAVFORMAT_VERSION_MAJOR < 60) #endif +#ifndef FF_HLS_TS_OPTIONS +#define FF_HLS_TS_OPTIONS (LIBAVFORMAT_VERSION_MAJOR < 60) +#endif + #ifndef FF_API_R_FRAME_RATE