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@google.com> Reviewed-by: Thomas Mundt <tmundt75@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
committed by
Michael Niedermayer
parent
37caed7774
commit
2b006ccf83
@@ -2665,8 +2665,13 @@ static int process_input_packet(InputStream *ist, const AVPacket *pkt, int no_eo
|
|||||||
ist->next_dts = AV_NOPTS_VALUE;
|
ist->next_dts = AV_NOPTS_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (got_output)
|
if (got_output) {
|
||||||
ist->next_pts += av_rescale_q(duration_pts, ist->st->time_base, AV_TIME_BASE_Q);
|
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;
|
break;
|
||||||
case AVMEDIA_TYPE_SUBTITLE:
|
case AVMEDIA_TYPE_SUBTITLE:
|
||||||
if (repeating)
|
if (repeating)
|
||||||
|
Reference in New Issue
Block a user