Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
From: Anton Khirnov <anton@khirnov.net>
To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Subject: Re: [FFmpeg-devel] [PATCH 3/5] lavf: replace FFERROR_REDO with AVERROR(EAGAIN)
Date: Tue, 08 Nov 2022 15:07:31 +0100
Message-ID: <166791645128.20155.3271115273476016820@lain.khirnov.net> (raw)
In-Reply-To: <Y2pRnfUTJ5b4/F24@phare.normalesup.org>

Quoting Nicolas George (2022-11-08 13:54:53)
> Anton Khirnov (12022-11-08):
> > There is no meaningful distinction between them, both mean "the demuxer
> > did some work, but did not produce a packet - should be called again".
> 
> NAK, there a difference in semantics: AVEROR(EAGAIN) is for when data is
> not available for external reasons, typically network blocking,

This is false - there are zero demuxers returning EAGAIN due to network
blocking. Furthermore, lavf architecture fundamentally does not allow
generic non-blocking operations, so the most any demuxer can do is
return at a few specific points. And since demuxers are supposed to be
independent of the underlying IO protocol, they fundamentally cannot
know anything about network state.

So there really is no meaningful difference between REDO and EAGAIN.
Both are just an opportunity for the caller to do something else before
trying again. If we believe giving the caller this option is valuable,
then it's valuable in both these cases and it makes no sense to
distinguish between them.

-- 
Anton Khirnov
_______________________________________________
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:[~2022-11-08 14:07 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-08 11:25 [FFmpeg-devel] [PATCH 1/5] lavf/rtpdec_asf: set AVFMT_FLAG_NONBLOCK Anton Khirnov
2022-11-08 11:25 ` [FFmpeg-devel] [PATCH 2/5] lavf/demux: treat EAGAIN as REDO unless AVFMT_FLAG_NONBLOCK is set Anton Khirnov
2022-11-10 12:28   ` Michael Niedermayer
2022-11-10 12:31     ` Anton Khirnov
2022-11-10 12:52       ` Paul B Mahol
2022-11-10 13:33         ` Anton Khirnov
2022-11-10 19:52       ` Michael Niedermayer
2022-11-14  9:23         ` Anton Khirnov
2022-11-14 10:44           ` Nicolas George
2022-11-14 11:00             ` Anton Khirnov
2022-11-14 11:05               ` Nicolas George
2022-11-14 11:12                 ` Anton Khirnov
2022-11-14 12:40                   ` Nicolas George
2022-11-14 16:17                     ` Anton Khirnov
2022-11-14 16:22                       ` Nicolas George
2022-11-08 11:25 ` [FFmpeg-devel] [PATCH 3/5] lavf: replace FFERROR_REDO with AVERROR(EAGAIN) Anton Khirnov
2022-11-08 12:54   ` Nicolas George
2022-11-08 14:07     ` Anton Khirnov [this message]
2022-11-08 14:15       ` Nicolas George
2022-11-08 16:39         ` Anton Khirnov
2022-11-09  8:21           ` Nicolas George
2022-11-09  8:44             ` Paul B Mahol
2022-11-09  9:21               ` Nicolas George
2022-11-09  9:23                 ` Paul B Mahol
2022-11-09  9:29                   ` Nicolas George
2022-11-09  9:31             ` Anton Khirnov
2022-11-09  9:38               ` Nicolas George
2022-11-09 10:17                 ` Anton Khirnov
2022-11-09 10:41                   ` Nicolas George
2022-11-09 11:53                     ` Anton Khirnov
2022-11-09 12:42                       ` Nicolas George
2022-11-08 11:25 ` [FFmpeg-devel] [PATCH 4/5] fftools/ffmpeg_demux: do not set AVFMT_FLAG_NONBLOCK Anton Khirnov
2022-11-08 11:25 ` [FFmpeg-devel] [PATCH 5/5] fftools/ffmpeg: make demuxing with one file always blocking Anton Khirnov

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=166791645128.20155.3271115273476016820@lain.khirnov.net \
    --to=anton@khirnov.net \
    --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