[FFmpeg-devel] [PATCH] avformat/dashenc: Fix the EXT-X-TARGETDURATION as per the hls specification
Steven Liu
lingjiujianke at gmail.com
Fri Dec 22 01:40:52 EET 2017
2017-12-22 7:37 GMT+08:00 Steven Liu <lingjiujianke at gmail.com>:
> 2017-12-21 18:09 GMT+08:00 Karthick J <kjeyapal at akamai.com>:
>> From: Karthick Jeyapal <kjeyapal at akamai.com>
>>
>> The HLS specification states the following about EXT-X-TARGETDURATION
>>
>> 4.3.3.1. EXT-X-TARGETDURATION
>>
>> The EXT-X-TARGETDURATION tag specifies the maximum Media Segment
>> duration. The EXTINF duration of each Media Segment in the Playlist
>> file, when rounded to the nearest integer, MUST be less than or equal
>> to the target duration; longer segments can trigger playback stalls
>> or other errors. It applies to the entire Playlist file. Its format
>> is:
>>
>> #EXT-X-TARGETDURATION:<s>
>>
>> where s is a decimal-integer indicating the target duration in
>> seconds. The EXT-X-TARGETDURATION tag is REQUIRED.
>>
>> Currently the dashenc rounds the duration to the next integer,
>> rather than rounding the duration to the nearest integer.
>> ---
>> libavformat/dashenc.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c
>> index 5687530..5368a23 100644
>> --- a/libavformat/dashenc.c
>> +++ b/libavformat/dashenc.c
>> @@ -358,7 +358,7 @@ static void output_segment_list(OutputStream *os, AVIOContext *out, DASHContext
>> Segment *seg = os->segments[i];
>> double duration = (double) seg->duration / timescale;
>> if (target_duration <= duration)
>> - target_duration = hls_get_int_from_double(duration);
>> + target_duration = lrint(duration);
>> }
>>
>> ff_hls_write_playlist_header(out_hls, 6, -1, target_duration,
>> --
>> 1.9.1
>>
>> _______________________________________________
>> ffmpeg-devel mailing list
>> ffmpeg-devel at ffmpeg.org
>> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
>
> LGTM, I have checked from HLS Team, Set the EXT-X-TARGETDURATION by
> print(EXTINF).
And will apply the old version modify hlsenc patch,
Thanks
>
>
> Thanks
More information about the ffmpeg-devel
mailing list