[FFmpeg-devel] [PATCH] ffmpeg.c: Fallback to duration_dts, when duration_pts can't be determined.
Sasi Inguva
isasi at google.com
Thu Oct 12 22:21:44 EEST 2017
I can initialize duration_pts to -1, and check against duration_pts < 0 ,
if you think that's better.
On Thu, Oct 12, 2017 at 3:51 AM, wm4 <nfxjfg at googlemail.com> wrote:
> On Thu, 12 Oct 2017 01:28:01 +0200
> Michael Niedermayer <michael at niedermayer.cc> wrote:
>
> > On Tue, Oct 10, 2017 at 10:26:13PM +0200, Thomas Mundt wrote:
> > > 2017-10-10 19:36 GMT+02:00 Sasi Inguva <isasi-at-google.com at ffmpeg.org
> >:
> > >
> > > > This is required for FLV files, for which duration_pts comes out to
> be
> > > > zero.
> > > >
> > > > Signed-off-by: Sasi Inguva <isasi at google.com>
> > > > ---
> > > > fftools/ffmpeg.c | 9 +++++++--
> > > > 1 file changed, 7 insertions(+), 2 deletions(-)
> > > >
> > > > diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c
> > > > index 6d64bc1043..3ee31473dc 100644
> > > > --- a/fftools/ffmpeg.c
> > > > +++ b/fftools/ffmpeg.c
> > > > @@ -2665,8 +2665,13 @@ static int process_input_packet(InputStream
> *ist,
> > > > const AVPacket *pkt, int no_eo
> > > > ist->next_dts = AV_NOPTS_VALUE;
> > > > }
> > > >
> > > > - if (got_output)
> > > > - ist->next_pts += av_rescale_q(duration_pts,
> > > > ist->st->time_base, AV_TIME_BASE_Q);
> > > > + if (got_output) {
> > > > + if (duration_pts > 0) {
> > > > + ist->next_pts += av_rescale_q(duration_pts,
> > > > ist->st->time_base, AV_TIME_BASE_Q);
> > > > + } else {
> > > > + ist->next_pts += duration_dts;
> > > > + }
> > > > + }
> > > > break;
> > > > case AVMEDIA_TYPE_SUBTITLE:
> > > > if (repeating)
> > > > --
> > > >
> > >
> > > Patch LGTM.
> >
> > will apply
>
> I don't feel like this was sufficiently discussed.
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
More information about the ffmpeg-devel
mailing list