> On Dec 19, 2018, at 4:41 AM, Adrian <adrian-...@o2.pl> wrote: > > Okay, so given you two have some valid points, I've combined both and ended > up with final version of the patch: > - it uses temp file for playlist when either a flag is specified or playlist > type is anything other than VOD > - it does not use temp file for HLS_SINGLE_FILE in place mentioned by Aleksey > > This is my final submission, I believe now everyone should be happy with the > solution. > > Regards > Adrian Guzowski >
Works for me. > W dniu 18.12.2018 o 04:24, Ronak pisze: >>> On Dec 17, 2018, at 4:35 PM, Aleksey Skripka <ca...@undev.ru> wrote: >>> >>> Evening! >>> >>> First of all, about playlist writeout: >>> before 223d2bde22ce33dcbcb6f17f234b609cb98f1fb6 - playlist was always(!) >>> creating via .tmp file. >>> after 223d2bde22ce33dcbcb6f17f234b609cb98f1fb6 - playlists .tmp logic >>> become dependent on +temp_file flag. >>> >>> I suggest to return to original logic. >>> Non-atomic playlist writeout - is a disaster to just any hls player. This >>> way we will force everyone (except offline VOD) to start using +temp_file. >>> Always! >>> Also, if somebody relying on this - they will get broken streams just after >>> upgrade (It seems to me, that it can be a lot). >>> >>> So, here maintainer should decide how to be. >>> >>> >>> and about single_file: >>> if it will be decided to stay with current way (playlist's .tmp logic >>> controlled by +temp_file flag), you are right - temp_file+single_file case >>> become unreal. >>> if it will be decided to return original behaviour (playlist always via >>> .tmp), someone can choose how to writeout media file (despite i understand >>> temp+single is very-very rare case). >>> >>> Thanks! >>> -- >>> Aleksey Skripk >>> >> Hey Aleksey, >> >> I'm not sure the best thing to do here is to switch to the original logic. >> The temp file is only necessary if you are doing LIVE or EVENT streams; it >> has nothing to do with VOD; where streams are pre-generated. I don't see why >> you would ever want tmp files there. >> Before this commit; ffmpeg used to take more than a week to fragment a 2.2 >> GB Audio File in VOD mode. With this change; it takes less than 1 minute. >> Other competing tools take less than 1 minute. >> >> Also, if you want temp files, you should be supplying the temp_file option - >> the documentation clearly says that: >> https://www.ffmpeg.org/ffmpeg-all.html#hls-2. If you do not want temp files; >> then you should leave this option out. If you are forcing folks to always >> accept the temp file, then why have an option? You should delete the option >> and do it based on the playlist type. >> >> Ronak >> >>>> On 17 Dec 2018, at 19:12, Adrian <adrian-...@o2.pl >>>> <mailto:adrian-...@o2.pl>> wrote: >>>> >>>> Comments inline. >>>> >>>> Regards >>>> Adrian Guzowski >>>> >>>> W dniu 17.12.2018 o 16:56, Aleksey Skripka pisze: >>>>>> On 17 Dec 2018, at 18:45, Adrian <adrian-...@o2.pl >>>>>> <mailto:adrian-...@o2.pl> <mailto:adrian-...@o2.pl >>>>>> <mailto:adrian-...@o2.pl>>> wrote: >>>>>> >>>>>> IMO temp_file+single_file should be mutually exclusive - why would you >>>>>> want to have temp file when you're using only one file anyway? In this >>>>>> mode you would either pool for file changes or just get updated playlist >>>>>> with new byte range (and that one should be updated after video file). I >>>>>> believe this restriction was already in place anyway, because there >>>>>> already were checks for HLS_SINGLE_FILE not being set, before doing >>>>>> actual rename, so this was just a simplification of those conditions. >>>>> not me to decide, please ;) >>>>> if playlist will always be done via .tmp, we will have a choice. >>>> Could you clarify what choice you're talking about? And the purpose of >>>> this choice - frankly you got me lost with this. Regardless, I feel we're >>>> getting off topic. >>>>>> As for playlist file - I'm not sure I follow, I've changed only places >>>>>> where temp files were already used, so I don't think I broke something >>>>>> in that matter. >>>>> not you, it was introduced by 223d2bde22ce33dcbcb6f17f234b609cb98f1fb6 >>>> Not quite, temp files were already a feature, this commit narrowed >>>> conditions where they are used. If you're referring to change in >>>> hls_window about not checking TEMP flag - that is unrelated to current >>>> state (before commit introducing regression, check was ignoring TEMP flag, >>>> after commit it does take it into account - probably should be discussed >>>> with person responsible for original change as to why it was changed that >>>> way, so that's out of scope of this patch. Issue at hand is not using TEMP >>>> files at all and that is fixed by this patch. >>>> >>>>>> From repeat+level+trace I believe I saw that playlist file actually was >>>>>> using a temp file, so if that's the thing you are concerned about, it >>>>>> seems like it's all good. >>>>>> >>>>>> Regards >>>>>> Adrian Guzowski >>>>>> >>>>>> W dniu 17.12.2018 o 16:36, Aleksey Skripka pisze: >>>>>>> Greetings! >>>>>>> >>>>>>> Adrian, >>>>>>> with your variant of patch in case of '-hls_flags >>>>>>> +temp_file+single_file' no .tmp logic will be used. >>>>>>> not sure what is better, but all previous versions was doing so. >>>>>>> >>>>>>> and also, i'm still sure, that for backward compatibility with all >>>>>>> previous versions, index.m3u8 should always be written via .tmp file. >>>>>>> >>>>>>> ps: >>>>>>> i noticed this bug such way: i do not use +temp_file, but rely on >>>>>>> atomic rename of index.m3u8. >>>>>>> >>>>>>>> On 17 Dec 2018, at 17:23, Adrian <adrian-...@o2.pl> wrote: >>>>>>>> >>>>>>>> Hello, >>>>>>>> >>>>>>>> after upgrading FFmpeg from 4.0 to 4.1 I noticed that temp files in >>>>>>>> HLS muxed stopped working. >>>>>>>> It looks like a regression introduced by >>>>>>>> 223d2bde22ce33dcbcb6f17f234b609cb98f1fb6. I've prepared a patch and >>>>>>>> tested it cross-compiling for my project's target platform (ARM, >>>>>>>> Buildroot) and it seems like everything is in order. I ran regression >>>>>>>> tests and nothing seems to be broken. >>>>>>>> >>>>>>>> Please review it and possibly include this patch. >>>>>>>> >>>>>>>> Regards >>>>>>>> Adrian Guzowski >>>>>>>> >>>>>>>> <0001-Fix-usage-of-temp_file-flag-in-hls_flags-option.patch>_______________________________________________ >>>>>>>> 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 <mailto:ffmpeg-devel@ffmpeg.org> >>>> <mailto:ffmpeg-devel@ffmpeg.org <mailto:ffmpeg-devel@ffmpeg.org>> >>>> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel >>>> <http://ffmpeg.org/mailman/listinfo/ffmpeg-devel> >>>> <http://ffmpeg.org/mailman/listinfo/ffmpeg-devel >>>> <http://ffmpeg.org/mailman/listinfo/ffmpeg-devel>> >>> _______________________________________________ >>> ffmpeg-devel mailing list >>> ffmpeg-devel@ffmpeg.org <mailto:ffmpeg-devel@ffmpeg.org> >>> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel >>> <http://ffmpeg.org/mailman/listinfo/ffmpeg-devel> >> _______________________________________________ >> ffmpeg-devel mailing list >> ffmpeg-devel@ffmpeg.org >> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel > <0001-Fix-usage-of-temp_file-flag-in-hls_flags-option-v3.patch>_______________________________________________ > 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