Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
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".

  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