[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 23:26:13 EEST 2017
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.
Since before commit 36c111c40f4bd7da114df0e9c484833aa2cdf2dc duration_dts
was generally used here, it should be ok as fallback.
More information about the ffmpeg-devel
mailing list