1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

ffmpeg: use standard duration calculation code in the stream copy case.

Fixes a.mkv non monotonic timestamps

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2011-12-03 15:03:49 +01:00
parent 28a11a67d2
commit 730945d941

View File

@ -2053,8 +2053,10 @@ static int output_packet(InputStream *ist,
ist->st->codec->sample_rate; ist->st->codec->sample_rate;
break; break;
case AVMEDIA_TYPE_VIDEO: case AVMEDIA_TYPE_VIDEO:
if (ist->st->codec->time_base.num != 0) { if (pkt->duration) {
int ticks = ist->st->parser ? ist->st->parser->repeat_pict+1 : ist->st->codec->ticks_per_frame; ist->next_pts += av_rescale_q(pkt->duration, ist->st->time_base, AV_TIME_BASE_Q);
} else if(ist->st->codec->time_base.num != 0) {
int ticks= ist->st->parser ? ist->st->parser->repeat_pict+1 : ist->st->codec->ticks_per_frame;
ist->next_pts += ((int64_t)AV_TIME_BASE * ist->next_pts += ((int64_t)AV_TIME_BASE *
ist->st->codec->time_base.num * ticks) / ist->st->codec->time_base.num * ticks) /
ist->st->codec->time_base.den; ist->st->codec->time_base.den;