On Wed, Jan 22, 2025 at 4:53 PM Romain Beauxis <romain.beau...@gmail.com> wrote:
>
> Le mer. 22 janv. 2025 à 10:29, Kieran Kunhya via ffmpeg-devel
> <ffmpeg-devel@ffmpeg.org> a écrit :
> >
> > On Wed, Jan 22, 2025 at 3:33 PM Michael Niedermayer
> > <mich...@niedermayer.cc> wrote:
> > >
> > > On Mon, Jan 20, 2025 at 06:46:46AM +0000, Kieran Kunhya via ffmpeg-devel 
> > > wrote:
> > > > >
> > > > > > The data arrives on multiple sockets, leading to all sorts
> > > > > > of opportunities for timing behavior and reordering issues.
> > > > >
> > > > > how does this matter?
> > > > >
> > > >
> > > > There are routers that put traffic on a different port down a different 
> > > > ISP
> > > > so you have to compensate for latency delays between the two links. You
> > > > can't just "buffer N packets".
> > > >
> > > > Another edge case.
> > >
> > > I dont know why you assume "buffer N packets".
> > >
> > > Packets enter this buffer when they are received
> > > Packets should exit that (buffer + FEC) when they are needed for 
> > > decompression
> > > (for presentation to the user) or slightly prior
> > >
> > > Removing them from the buffer earlier has a higher propability of failure
> > > so it is strictly worse.
> >
> > Wrong, the packets leave the buffer at a fixed duration corresponding
> > to (an estimate of) 2 times the matrix duration (the spec was written
> > for CBR so this is a constant) so that latency is fixed. There is
> > packet loss (by definition) so a buffer of N packets may be much
> > larger than 2 times the matrix duration.
> >
> > "when they are needed for decompression" -> this is real-time RTP, not a 
> > file.
> > The issue you have with FEC going down a different path is the FEC
> > packets can arrive a lot earlier than the latency window or a lot
> > later and you have to compensate for this with heuristics.
> >
> > All packets can be reordered or even duplicated which as far as I know
> > this code doesn't cover either.
>
> Packet reordering is covered.
>
> Packets are stored in a binary tree indexed by their sequence ID and
> pulled out based on that ID as well. That takes care of reordering.
>
> Duplicated packets are not properly covered yet but the change is
> trivial, this will be in the next version of the patch, thanks for
> pointing this out.
>
> I have posted detailed feedback with testing in real conditions, do
> you have any feedback on that?

Do you plan to support a fixed duration? Buffering N packets has a
variable duration when there is packet loss.
Do you plan to support calculating the matrix size from the RTP FEC packets?
Do you support block and non-block aligned permutations?

Also saying you don't support an encoder restart is basically saying
you want to write something that only deals with steady state
behaviour.

Kieran
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to