2017-01-11 4:59 GMT+08:00 Bodecs Bela <bode...@vivanet.hu>: > > > 2017.01.10. 16:40 keltezéssel, Steven Liu írta: > >> 2017-01-10 23:22 GMT+08:00 Bodecs Bela <bode...@vivanet.hu>: >> >> >>> 2017.01.10. 12:10 keltezéssel, Steven Liu írta: >>> >>> 2017-01-10 17:42 GMT+08:00 Bodecs Bela <bode...@vivanet.hu>: >>>> >>>> >>>> 2017.01.10. 6:53 keltezéssel, Steven Liu írta: >>>>> >>>>> 2017-01-08 8:22 GMT+08:00 Steven Liu <lingjiujia...@gmail.com>: >>>>> >>>>>> >>>>>> 2017-01-08 1:37 GMT+08:00 Bodecs Bela <bode...@vivanet.hu>: >>>>>> >>>>>>> >>>>>>> 2017.01.07. 0:32 keltezéssel, Steven Liu írta: >>>>>>> >>>>>>>> 2017-01-07 0:47 GMT+08:00 Bodecs Bela <bode...@vivanet.hu>: >>>>>>>> >>>>>>>> 2017.01.06. 17:33 keltezéssel, Steven Liu írta: >>>>>>>>> >>>>>>>>> 2017-01-07 0:22 GMT+08:00 Bodecs Bela <bode...@vivanet.hu>: >>>>>>>>>> >>>>>>>>>> 2017.01.06. 16:50 keltezéssel, Steven Liu írta: >>>>>>>>>> >>>>>>>>>>> 2017-01-06 22:07 GMT+08:00 Bodecs Bela <bode...@vivanet.hu>: >>>>>>>>>>> >>>>>>>>>>>> Dear All, >>>>>>>>>>>> >>>>>>>>>>>> in avformat/hlsenc the start_number option starts the playlist >>>>>>>>>>>>> >>>>>>>>>>>>> sequence >>>>>>>>>>>>> >>>>>>>>>>>>>> number >>>>>>>>>>>>>> (#EXT-X-MEDIA-SEQUENCE) from the specified number. Unless >>>>>>>>>>>>>> hls_flags >>>>>>>>>>>>>> single_file is set, it also specifies starting sequence >>>>>>>>>>>>>> numbers >>>>>>>>>>>>>> of >>>>>>>>>>>>>> segment and subtitle filenames. Sometimes it is usefull to >>>>>>>>>>>>>> have >>>>>>>>>>>>>> unique >>>>>>>>>>>>>> starting numbers at each run, but currently it is only >>>>>>>>>>>>>> achiveable >>>>>>>>>>>>>> by >>>>>>>>>>>>>> setting this parameter manually. >>>>>>>>>>>>>> This patch enables to set start_number parameter automatically >>>>>>>>>>>>>> for >>>>>>>>>>>>>> practically unique numbers. If start_number is set to -1, then >>>>>>>>>>>>>> the start number will be the seconds since epoch (1970-01-01 >>>>>>>>>>>>>> 00:00:00). >>>>>>>>>>>>>> If set to -2, then the start number will be based on the >>>>>>>>>>>>>> current >>>>>>>>>>>>>> date/time value as YYYYmmddHHMMSS. e.g. 20161231235659. >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> thank you, >>>>>>>>>>>>>> >>>>>>>>>>>>>> Bela Bodecs >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>>> ffmpeg-devel mailing list >>>>>>>>>>>>>> ffmpeg-devel@ffmpeg.org >>>>>>>>>>>>>> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> Two question: >>>>>>>>>>>>>> >>>>>>>>>>>>>> 1. char b[21]; Why this is 21 ? >>>>>>>>>>>>>> >>>>>>>>>>>>>> you are right, 15 is enough. >>>>>>>>>>>>>> >>>>>>>>>>>>> 2. + {"start_number", "set first number in the sequence", >>>>>>>>>>>>> >>>>>>>>>>>>> OFFSET(start_sequence),AV_OPT_TYPE_INT64, {.i64 = 0}, >>>>>>>>>>>> -2, >>>>>>>>>>>> >>>>>>>>>>>> INT64_MAX, >>>>>>>>>>>>> E}, >>>>>>>>>>>>> Why is this -2 and the help message maybe need more infomation, >>>>>>>>>>>>> for >>>>>>>>>>>>> example >>>>>>>>>>>>> -2 mean -1 mean 0 mean, and default value. >>>>>>>>>>>>> >>>>>>>>>>>>> yes, I have altered now but I have written verbosly into the >>>>>>>>>>>>> doc >>>>>>>>>>>>> >>>>>>>>>>>>> (muxers.texi), here: >>>>>>>>>>>>> >>>>>>>>>>>>> +If set to -1, then the start number will be the seconds since >>>>>>>>>>>> epoch >>>>>>>>>>>> (1970-01-01 00:00:00). >>>>>>>>>>>> +If set to -2, then the start number will be based on the >>>>>>>>>>>> current >>>>>>>>>>>> date/time as YYYYmmddHHMMSS. e.g. 20161231235759. >>>>>>>>>>>> +Default value is 0. >>>>>>>>>>>> >>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>> >>>>>>>>>>>> ffmpeg-devel mailing list >>>>>>>>>>>> >>>>>>>>>>>> ffmpeg-devel@ffmpeg.org >>>>>>>>>>>> >>>>>>>>>>>>> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel >>>>>>>>>>>>> >>>>>>>>>>>>> I have enclosed a fixed version. A have changed some code, >>>>>>>>>>>>> where >>>>>>>>>>>>> greater >>>>>>>>>>>>> >>>>>>>>>>>>> than 32 bit long sequence numbers were not handled correctly. >>>>>>>>>>>>> >>>>>>>>>>>>> (av_get_frame_filename2) >>>>>>>>>>>> >>>>>>>>>>>> thank you. >>>>>>>>>>>> Bela Bodecs >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>> ffmpeg-devel mailing list >>>>>>>>>>>> ffmpeg-devel@ffmpeg.org >>>>>>>>>>>> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> + {"start_number", "set first number in the sequence, 0 is >>>>>>>>>>>> default, >>>>>>>>>>>> >>>>>>>>>>>> -1: >>>>>>>>>>>> >>>>>>>>>>>> second since epoch, -2: current datetime as YYYYMMDDhhmmss, >>>>>>>>>>> actual >>>>>>>>>>> value >>>>>>>>>>> otherwise", OFFSET(start_sequence),AV_OPT_TYPE_INT64, {.i64 = >>>>>>>>>>> 0}, >>>>>>>>>>> -2, >>>>>>>>>>> INT64_MAX, E}, >>>>>>>>>>> >>>>>>>>>>> I have check this option, i think add flag to control the >>>>>>>>>>> start_number >>>>>>>>>>> maybe better, >>>>>>>>>>> for example: >>>>>>>>>>> hls_flags >>>>>>>>>>> hls_playlist_type >>>>>>>>>>> >>>>>>>>>>> maybe add a start_number_flags is better, What about you think? >>>>>>>>>>> >>>>>>>>>>> Using hls_flags is not enough to specify different values for >>>>>>>>>>> them. >>>>>>>>>>> >>>>>>>>>>> NO, i am not mean use hls_flags, i mean you can creat a new >>>>>>>>>>> flags, >>>>>>>>>>> >>>>>>>>>> start_number_flags >>>>>>>>>> >>>>>>>>> generic >>>>>>>>> epoch >>>>>>>>> datetime >>>>>>>>> >>>>>>>>> Ok, I see it. May I implement it? >>>>>>>>> >>>>>>>>> yes, of course ;-) >>>>>>>> >>>>>>>> I thought that there should be 3 options beside this start_number >>>>>>> >>>>>>>> option. >>>>>>>>> >>>>>>>>> hls_start_number_playlist, hls_start_number_segment and >>>>>>>>> >>>>>>>>> hls_start_number_vtt >>>>>>>>>> Using start_number and any of the new 3 ones would be mutualy >>>>>>>>>> exlusive. >>>>>>>>>> >>>>>>>>>> This way anybody could use the old option (start_number) and it >>>>>>>>>> won't >>>>>>>>>> break the current behaviour. >>>>>>>>>> But those who want to have finer control, they may use the new >>>>>>>>>> options. >>>>>>>>>> >>>>>>>>>> of course -start_number x has the same effect as using >>>>>>>>>> -hls_start_number_playlist x -hls_start_number_segment x >>>>>>>>>> -hls_start_number_vtt x >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>>>>> >>>>>>>>>> ffmpeg-devel mailing list >>>>>>>>>> >>>>>>>>>> ffmpeg-devel@ffmpeg.org >>>>>>>>>>> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel >>>>>>>>>>> >>>>>>>>>>> _______________________________________________ >>>>>>>>>>> >>>>>>>>>>> ffmpeg-devel mailing list >>>>>>>>>>> >>>>>>>>>> ffmpeg-devel@ffmpeg.org >>>>>>>>>> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel >>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>>>>> >>>>>>>>>> ffmpeg-devel mailing list >>>>>>>>>> >>>>>>>>> ffmpeg-devel@ffmpeg.org >>>>>>>>> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> >>>>>>>>> ffmpeg-devel mailing list >>>>>>>> ffmpeg-devel@ffmpeg.org >>>>>>>> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel >>>>>>>> >>>>>>>> >>>>>>>> Hi Bodecs, >>>>>>>> >>>>>>> If you don't have enough time, i think i can do it together >>>>>> with >>>>>> you;) >>>>>> >>>>>> here it is. >>>>>> >>>>> _______________________________________________ >>>>> >>>>> ffmpeg-devel mailing list >>>>>> ffmpeg-devel@ffmpeg.org >>>>>> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>> ffmpeg-devel mailing list >>>>> ffmpeg-devel@ffmpeg.org >>>>> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel >>>>> >>>>> >>>>> +typedef enum { >>>>> >>>> + HLS_START_SEQUNCE_AS_START_NUMBER = 0, >>>> + HLS_START_SEQUNCE_AS_SECONDS_SINCE_EPOCH = -1, >>>> + HLS_START_SEQUNCE_AS_FORMATTED_DATETIME = -2, // YYYYMMDDhhmmss >>>> +} StartSequenceSourceType; >>>> is this better? >>>> >>>> + av_log(hls, AV_LOG_VERBOSE, "Found playlist sequence >>>> number >>>> was smaller than specified start sequence number: %"PRId64" < %"PRId64", >>>> omitting\n", tmp_sequence, hls->start_sequence); >>>> >>>> this line is too long , >>>> >>>> Here is the corrected patch. I use only uint numbers in enum. >>>> >>>> + if (hls->start_sequence_source_type == >>>> HLS_START_SEQUNCE_AS_SECONDS_SINCE_EPOCH || >>>> hls->start_sequence_source_type >>>> == HLS_START_SEQUNCE_AS_FORMATTED_DATETIME) { >>>> + time_t t = time(NULL); // we will need it in either case >>>> + if (hls->start_sequence_source_type == >>>> HLS_START_SEQUNCE_AS_SECONDS_SINCE_EPOCH) { >>>> + hls->start_sequence = (int64_t)t; >>>> + } else if (hls->start_sequence_source_type == >>>> HLS_START_SEQUNCE_AS_FORMATTED_DATETIME) { >>>> + char b[15]; >>>> + struct tm *p, tmbuf; >>>> + if (!(p = localtime_r(&t, &tmbuf))) >>>> + return AVERROR(ENOMEM); >>>> + if (!strftime(b, sizeof(b), "%Y%m%d%H%M%S", p)) >>>> + return AVERROR(ENOMEM); >>>> + hls->start_sequence = strtoll(b, NULL, 10); >>>> + } >>>> + av_log(hls, AV_LOG_DEBUG, "start_number evaluated to >>>> %"PRId64"\n", >>>> hls->start_sequence); >>>> + } >>>> >>>> >>>> Why twice if here? >>>> >>>> >>>> >>>> patch probe ok, >>>> >>>> My English is poor, and wait English master to review your document :D >>>> _______________________________________________ >>>> ffmpeg-devel mailing list >>>> ffmpeg-devel@ffmpeg.org >>>> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel >>>> >>>> >>> _______________________________________________ >>> ffmpeg-devel mailing list >>> ffmpeg-devel@ffmpeg.org >>> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel >>> >>> >>> LGTM, except documentation. >> > should I split the patch into two halves: code and doc?
No, the patch is not review only by me,but also by maillist members, For example: Moritz's English is very good, he can help to improve documents, don't worry for merge patch. the parameters' documentation and the parameters is one method, not two. > _______________________________________________ >> ffmpeg-devel mailing list >> ffmpeg-devel@ffmpeg.org >> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel >> > > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel > _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel