[FFmpeg-devel] [PATCH] avformat/hlsenc: increase initial program date time precision
Steven Liu
lingjiujianke at gmail.com
Sun Jul 19 12:20:38 EEST 2020
Marton Balint <cus at passwd.hu> 于2020年7月19日周日 上午6:04写道:
>
> Also query time only once, not for every variant stream, otherwise variant
> streams might get a slightly different initial program date time. And we can
> set this unconditionally because HLS_PROGRAM_DATE_TIME flag is checked
> elsewhere.
>
> Signed-off-by: Marton Balint <cus at passwd.hu>
> ---
> libavformat/hlsenc.c | 8 ++------
> 1 file changed, 2 insertions(+), 6 deletions(-)
>
> diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c
> index df84e6487d..39ff1fa1e7 100644
> --- a/libavformat/hlsenc.c
> +++ b/libavformat/hlsenc.c
> @@ -2704,6 +2704,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;
is it AV_TIME_BASE?
>
> if (hls->use_localtime) {
> pattern = get_default_pattern_localtime_fmt(s);
> @@ -2798,12 +2799,7 @@ static int hls_init(AVFormatContext *s)
> vs->start_pts = AV_NOPTS_VALUE;
> vs->end_pts = AV_NOPTS_VALUE;
> vs->current_segment_final_filename_fmt[0] = '\0';
> -
> - if (hls->flags & HLS_PROGRAM_DATE_TIME) {
> - time_t now0;
> - time(&now0);
> - vs->initial_prog_date_time = now0;
> - }
> + vs->initial_prog_date_time = initial_program_date_time;
>
> for (j = 0; j < vs->nb_streams; j++) {
> vs->has_video += vs->streams[j]->codecpar->codec_type == AVMEDIA_TYPE_VIDEO;
> --
> 2.26.2
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
More information about the ffmpeg-devel
mailing list