[FFmpeg-cvslog] ffmpeg.c: Fallback to duration_dts, when duration_pts can't be determined.
Sasi Inguva
git at videolan.org
Thu Oct 12 02:29:20 EEST 2017
ffmpeg | branch: master | Sasi Inguva <isasi-at-google.com at ffmpeg.org> | Tue Oct 10 10:36:58 2017 -0700| [2b006ccf8318d84101ed83b75df4c9682a963217] | committer: Michael Niedermayer
ffmpeg.c: Fallback to duration_dts, when duration_pts can't be determined.
This is required for FLV files, for which duration_pts comes out to be zero.
Signed-off-by: Sasi Inguva <isasi at google.com>
Reviewed-by: Thomas Mundt <tmundt75 at gmail.com>
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=2b006ccf8318d84101ed83b75df4c9682a963217
---
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)
More information about the ffmpeg-cvslog
mailing list