Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
From: "Sébastien Rossi" <sebastien.rossi@bbright.com>
To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Subject: Re: [FFmpeg-devel] [PATCH] avformat/mpegts: correct timestamp overflow on multiple pcr loopback
Date: Mon, 27 Jun 2022 14:25:51 +0200
Message-ID: <CAC7sDL-0np606nni286N5s0afK4QycWg5uUTmrUOnH57P9tBog@mail.gmail.com> (raw)
In-Reply-To: <20220624203453.GP396728@pb2>

Hi,
Ok, my goal was to eliminate all wraparound for live transport stream
mainly. But as it seems hard to handle this particular case (long live
stream) and cover all the other use cases (scaning, smart stuff etc), I
will keep this patch on my side as an option for my personal usage.
Thanks for your help, have a good day.

Sébastien

Le ven. 24 juin 2022 à 22:35, Michael Niedermayer <michael@niedermayer.cc>
a écrit :

> Hi
>
> On Fri, Jun 24, 2022 at 02:30:19PM +0200, Sébastien Rossi wrote:
> > The issue I tried to patch is that on ts stream that last more than 26,5h
> > (time between pcr loopback) we had pts and dts discontinuities. In
> > wrap_timestamp function in demux.c, I've seen there's some code to
> correct
> > timestamp overflow, but when the stream last more than 26,5h, timestamps
> > are upper than pts_wrap_reference two times. So the second time we outrun
> > the pts_wrap_reference we lose the timestamp correction and have some
> > errors like pts < dts.
> > What I tried to do is to restamp pts and dts using mpegts pcr
> information.
> > The preserve_continuity function checks relative position between
> timestamp
> > (dts or pts) and pcr, and handle cases when pcr have already loopback and
> > timestamp not or vice versa. Then it applicates correction to the
> timestamp
> > depending on pcr loopback count.
>
> there can be more timestamp discontinuities than one per 26.5h
> if the goal is to remove all that requires more code. Either
> some scaning of the whole file or some quite smart stuff and either
> way a buffer to store where the discontinuities are so they are
> consistantly
> handled during seeking.
>
> if the goal is to eliminate 1 wraparound only, there should be some
> existing code i think that does this. IIRC see pts_wrap_behavior
>
> the wraping behavior is applies to multiple demuxers so code
> handling it really does not belong in a single demuxer
>
>
> >
> > I can provide a stream with a duration of 30h, if you want to.
>
> not needed
>
>
> >
> > Could you tell me how to reproduce the segfault you've seen ?
>
> it segfaults because filter is NULL.
> i can send you the file but as the code and why its segfaults is
> specific to one demxuer and this shouldnt be in one single demuxer
> i dont think it would help you
>
> thx
>
> [...]
> --
> Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
>
> I am the wisest man alive, for I know one thing, and that is that I know
> nothing. -- Socrates
> _______________________________________________
> 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:[~2022-06-27 12:26 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-23 15:45 Sébastien Rossi
2022-06-23 23:31 ` Michael Niedermayer
2022-06-24 12:30   ` Sébastien Rossi
2022-06-24 20:34     ` Michael Niedermayer
2022-06-27 12:25       ` Sébastien Rossi [this message]

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=CAC7sDL-0np606nni286N5s0afK4QycWg5uUTmrUOnH57P9tBog@mail.gmail.com \
    --to=sebastien.rossi@bbright.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