On Thu, 19 Apr 2018 17:01:56 +0200 Nicolas George <geo...@nsup.org> wrote:
> James Almer (2018-04-19): > > It would have not been backwards compatible in such scenario to load at > > runtime an hypotetical 3.4.x lavf library with that change in an > > application that was built against 3.3.x or older. Regardless of 0 being > > defined as EOF or not in documentation, the behavior of one library > > would have not been the same as the other, at least as i said above, > > without the compat change you eventually committed. > > I did not remember the compat code was added afterwards. Anyway, it > excludes packet callbacks on purpose. > > The thing is, we could NOT fix the initial bug (EOF caused by empty UDP > packets, reported by an user). It just was not possible. Apart from > leaving the bug, there were two options to fix this: > > - break empty packet for all applications and all packets protocols, or > > - break packet callbacks returning 0 for EOF. - add a flag that controls the wanted behavior - return a special error code for 0 sized packets which users can treat as non-fatal (seems justified for such an obscure corner case) > Since empty packets are legitimate, and even used in a few multimedia > protocols, while callbacks returning 0 are using an undocumented and > illogical feature, there was little doubt about which one to break. There's still no way to use that via API (if I read retry_transfer_wrapper() and all the glue code correctly). _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel