From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 4C45C47CB8 for ; Tue, 17 Oct 2023 15:51:44 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D81B768CA2A; Tue, 17 Oct 2023 18:51:41 +0300 (EEST) Received: from mail-pf1-f170.google.com (mail-pf1-f170.google.com [209.85.210.170]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 61CD968C95D for ; Tue, 17 Oct 2023 18:51:35 +0300 (EEST) Received: by mail-pf1-f170.google.com with SMTP id d2e1a72fcca58-6bd73395bceso2073997b3a.0 for ; Tue, 17 Oct 2023 08:51:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1697557892; x=1698162692; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=fKO/HMW00dH0pyfYYvCsIQa4tE3dYsIuyKYhDYdC3YE=; b=TAG0dfZGGmcWJ1VXU4ifa3uEXvhlMRpm+W4rPbGCJ6CBhalZ72MyvS8KykHrgmRZXc c6S/2Ea6EzwUGJQgomeiJ+WHNLRDazveuYVsAsUHB+2Ud6BMZX5+JeI9nr58e3bLthiM zinHelD7NaRxCO08mcg6Ytl1JAutT/w+0uwyA+W16sb50DF8BVegOLWS7ufYrQofWoAt pGelXYLHLaRvOk/hSStxuFDUy9swEcp5yrHG6/OqanhJkireYzPY4thJ2lziZc56UOrn 7XeOJbMDkUnooV9HCfZMDtKb7YGRqH/O5NsegnjNPPmzXe24/c706uHm71MZguEYhSTR 8a8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697557892; x=1698162692; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=fKO/HMW00dH0pyfYYvCsIQa4tE3dYsIuyKYhDYdC3YE=; b=PWtP9n7sUyBbJNZpL48UoB9RvDRfdzq1GDYrqoEyxg1fpTbfiDdViA0ySXwfk9Pp91 ll/9pWwnkvMImdNg0zbs4e+DcUzMITP6qnSaDbkr7HkTcuHxJZ310uPQulMmvGo8uznZ 2d7AWJ50FTfYIcNwssBfRFbMBGci3sRHxEcIqvirLs3jyZNWMvXQL7mmUM+kOcvepcmG 7AySA6RKGTmYTL321qg4RZzkp1DuBxA/HqRZtIbKcApYbPyKSAy/hmoSKI65rSNXWiIk u2R/HgqK3e+JO1OqyPHp5DE7tUtvgMRj5dIDtPkReEXcHDI8hwRxmrRMDa/N3BH/saMb ooTw== X-Gm-Message-State: AOJu0YxLkyt51z5543R8TCvZGmnWWZmus1E8aIen+KSrqMWgnXDFi4mC 5A5eL1K2BYmtksMRZCyYApUCwl7k2YTZJA== X-Google-Smtp-Source: AGHT+IGfoexWez43BBCOuZaU/rJ6OnyC1VgbxdLervcZrhQyLAUAqKfQ/iP9V9wxd3iURszalra0Tw== X-Received: by 2002:a05:6a00:290f:b0:68f:c1e0:a2c4 with SMTP id cg15-20020a056a00290f00b0068fc1e0a2c4mr3473675pfb.3.1697557892207; Tue, 17 Oct 2023 08:51:32 -0700 (PDT) Received: from localhost.localdomain ([2605:a601:a98f:6200:d463:8d09:8b65:390d]) by smtp.gmail.com with ESMTPSA id w17-20020aa79a11000000b006930db1e6cfsm1609789pfj.62.2023.10.17.08.51.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Oct 2023 08:51:31 -0700 (PDT) From: Dave Johansen To: ffmpeg-devel@ffmpeg.org Date: Tue, 17 Oct 2023 09:51:00 -0600 Message-Id: <20231017155100.43908-1-davejohansen@gmail.com> X-Mailer: git-send-email 2.39.2 (Apple Git-143) MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] Add init_program_date_time so start time can be specified 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: Dave Johansen Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: --- doc/muxers.texi | 3 +++ libavformat/hlsenc.c | 7 ++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/doc/muxers.texi b/doc/muxers.texi index f6071484ff..87c19a5cb9 100644 --- a/doc/muxers.texi +++ b/doc/muxers.texi @@ -1086,6 +1086,9 @@ seeking. This flag should be used with the @code{hls_time} option. @item program_date_time Generate @code{EXT-X-PROGRAM-DATE-TIME} tags. +@item init_program_date_time +Time to start program date time at. + @item second_level_segment_index Makes it possible to use segment indexes as %%d in hls_segment_filename expression besides date/time values when strftime is on. diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c index 4ef84c05c1..474322cc21 100644 --- a/libavformat/hlsenc.c +++ b/libavformat/hlsenc.c @@ -28,6 +28,8 @@ #include #endif +#include "float.h" + #include "libavutil/avassert.h" #include "libavutil/mathematics.h" #include "libavutil/avstring.h" @@ -212,6 +214,8 @@ typedef struct HLSContext { int64_t recording_time; int64_t max_seg_size; // every segment file max size + double init_program_date_time; + char *baseurl; char *vtt_format_options_str; char *subtitle_filename; @@ -2867,7 +2871,7 @@ static int hls_init(AVFormatContext *s) char *p = NULL; int http_base_proto = ff_is_http_proto(s->url); int fmp4_init_filename_len = strlen(hls->fmp4_init_filename) + 1; - double initial_program_date_time = av_gettime() / 1000000.0; + double initial_program_date_time = hls->init_program_date_time ? hls->init_program_date_time : av_gettime() / 1000000.0; if (hls->use_localtime) { pattern = get_default_pattern_localtime_fmt(s); @@ -3141,6 +3145,7 @@ static const AVOption options[] = { {"split_by_time", "split the hls segment by time which user set by hls_time", 0, AV_OPT_TYPE_CONST, {.i64 = HLS_SPLIT_BY_TIME }, 0, UINT_MAX, E, "flags"}, {"append_list", "append the new segments into old hls segment list", 0, AV_OPT_TYPE_CONST, {.i64 = HLS_APPEND_LIST }, 0, UINT_MAX, E, "flags"}, {"program_date_time", "add EXT-X-PROGRAM-DATE-TIME", 0, AV_OPT_TYPE_CONST, {.i64 = HLS_PROGRAM_DATE_TIME }, 0, UINT_MAX, E, "flags"}, + {"init_program_date_time", "Time to start program date time at", OFFSET(init_program_date_time), AV_OPT_TYPE_DOUBLE, {.dbl = 0 }, 0, DBL_MAX, E}, {"second_level_segment_index", "include segment index in segment filenames when use_localtime", 0, AV_OPT_TYPE_CONST, {.i64 = HLS_SECOND_LEVEL_SEGMENT_INDEX }, 0, UINT_MAX, E, "flags"}, {"second_level_segment_duration", "include segment duration in segment filenames when use_localtime", 0, AV_OPT_TYPE_CONST, {.i64 = HLS_SECOND_LEVEL_SEGMENT_DURATION }, 0, UINT_MAX, E, "flags"}, {"second_level_segment_size", "include segment size in segment filenames when use_localtime", 0, AV_OPT_TYPE_CONST, {.i64 = HLS_SECOND_LEVEL_SEGMENT_SIZE }, 0, UINT_MAX, E, "flags"}, -- 2.39.2 (Apple Git-143) _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".