[FFmpeg-devel] [PATCH] ffmpeg.c: Fallback to duration_dts, when duration_pts can't be determined.

Thomas Mundt tmundt75 at gmail.com
Tue Oct 10 15:40:58 EEST 2017


2017-10-10 3:27 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 | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c
> index 6d64bc1043..5f373db847 100644
> --- a/fftools/ffmpeg.c
> +++ b/fftools/ffmpeg.c
> @@ -2665,6 +2665,9 @@ static int process_input_packet(InputStream *ist,
> const AVPacket *pkt, int no_eo
>                      ist->next_dts = AV_NOPTS_VALUE;
>              }
>
> +            if (duration_pts == 0)
> +                duration_pts = duration_dts;
> +
>              if (got_output)
>                  ist->next_pts += av_rescale_q(duration_pts,
> ist->st->time_base, AV_TIME_BASE_Q);
>              break;
>

duration_dts is already rescaled. Should be ist->next_pts += duration_dts
when duration_pts == 0.

Regards,
Thomas


More information about the ffmpeg-devel mailing list