From: Paul B Mahol <onemda@gmail.com> To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Subject: Re: [FFmpeg-devel] [PATCH] avfillter/buffersrc: activate and EOF fix Date: Fri, 3 Nov 2023 21:47:02 +0100 Message-ID: <CAPYw7P4a1=bsA88foa2UhCLDA78c2ukg75GEt8-qiVng5fNVkA@mail.gmail.com> (raw) In-Reply-To: <ZUVEMknaYPN6b6Qj@phare.normalesup.org> On Fri, Nov 3, 2023 at 8:04 PM Nicolas George <george@nsup.org> wrote: > Tristan Matthews (12023-11-02): > > Just to confirm that I can reproduce JEEB's test, before the patches: > > Just to be clear: I never doubted that Paul's patches do make the bug go > away in your test case. That would imply accusing Paul of lying about > simple technical facts, that would be both stupid and uncivil. > > What you need to understand is that is barely relevant: “I churned the > code a lot and now the bug does not happen in my test case” is not an > acceptable way of leading development. > > What Paul needs to provide (or you, or anybody else; no idea who “JEEB” > is) is a proof that the changes are both correct and necessary. > > Correct: you need to prove that this bug is fixed in all cases, not just > the one you were testing on. > > Necessary: you need to establish that the bug cannot be fixed with fewer > changes, because each change is chance for introducing a new bug. > > Such a proof would certainly start with with an analysis of how the bug > gets triggered by the current code. > > The “necessary” point is especially important: it is a well-established > principle that filters with no more than one input and one output do not > need to use the activate framework directly (and therefore should not, > as it makes the code more complex). > > If Paul thinks he found an exception to that well-established law, he > needs to present strong evidence. > > But if no such exception exist (which is the most likely: the law is > true), then it is entirely possible that what Paul found is a bug in the > code that implements the activate mechanism for simple filters. And in > that case, we need to fix that bug. > > Or maybe the actual problem is somewhere in the fftools an error check > is skipped. > > We need to know what is happening before any fix can be devised. We need > an analysis of the bug. Any effort going into this that is not first > analyzing what is going on is a waste of time. > What an triptych of text for such simple concepts, Homer and Tolstoy would be embarrassed. Introduction of .activate API introduced checking for explicit EOF from both direction in filter processing, the next filter in filtergraph, and for filter previous of current filter in filtergraph. buffersrc filter patch for switching to activate adds explicit code to check for EOF reached in forward (relative to buffersrc filter) direction of filtergraph processing. I'm not aware that buffersrc ever checked for such cases even in era before .activate API was introduced. By simply adding printf into buffersrc filter code or adding showinfo filter between buffersrc and next filter (relative from buffersrc filter) one can find out that buffersrc ignores EOF and keeps pushing frames to next filters in filtergraph that reached EOF status. Also I think that forward and/or backward EOF direction status checking is not correctly handled at all for any filters not using .activate(), and I'm not aware that it was ever working correctly in all cases. > > Regards, > > -- > Nicolas George > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". > _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
next prev parent reply other threads:[~2023-11-03 20:39 UTC|newest] Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-10-27 12:38 Paul B Mahol 2023-10-27 12:53 ` Nicolas George 2023-10-27 13:07 ` Paul B Mahol 2023-10-27 13:02 ` Nicolas George 2023-10-27 13:18 ` Paul B Mahol 2023-10-27 17:51 ` Paul B Mahol 2023-10-27 17:54 ` Nicolas George 2023-10-27 22:48 ` Paul B Mahol 2023-10-29 9:38 ` Nicolas George 2023-10-29 21:46 ` Paul B Mahol 2023-10-31 10:55 ` Nicolas George 2023-10-31 20:13 ` Paul B Mahol 2023-10-31 20:14 ` Paul B Mahol 2023-11-01 13:58 ` Nicolas George 2023-11-01 14:15 ` Paul B Mahol 2023-11-01 14:13 ` Nicolas George 2023-11-02 9:56 ` Paul B Mahol 2023-11-02 9:50 ` Nicolas George 2023-11-02 10:00 ` Paul B Mahol 2023-11-02 10:03 ` Nicolas George 2023-11-02 10:18 ` Paul B Mahol 2023-11-02 10:15 ` Nicolas George 2023-11-02 20:05 ` Tristan Matthews 2023-11-03 19:04 ` Nicolas George 2023-11-03 20:47 ` Paul B Mahol [this message] 2023-11-04 19:05 ` Nicolas George 2023-11-01 13:48 ` Jan Ekström 2023-11-01 13:56 ` Nicolas George 2023-11-01 14:23 ` James Almer 2023-11-01 14:28 ` Nicolas George
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to='CAPYw7P4a1=bsA88foa2UhCLDA78c2ukg75GEt8-qiVng5fNVkA@mail.gmail.com' \ --to=onemda@gmail.com \ --cc=ffmpeg-devel@ffmpeg.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel This inbox may be cloned and mirrored by anyone: git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \ ffmpegdev@gitmailbox.com public-inbox-index ffmpegdev Example config snippet for mirrors. AGPL code for this site: git clone https://public-inbox.org/public-inbox.git