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".
next prev parent 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