ffmpeg: report max time of unfinished streams in stats.

Eliminating finished streams avoids the progress stopping
with the first stream.
Using the max instead of the min avoids the progress stopping
with gaps in sparse streams (subtitles).
Negligible change for normal circumstances.
This commit is contained in:
Nicolas George 2012-08-20 21:06:39 +02:00
parent 1ea77a52c0
commit 18217bb0f5

View File

@ -1059,7 +1059,7 @@ static void print_report(int is_last_report, int64_t timer_start, int64_t cur_ti
AVCodecContext *enc; AVCodecContext *enc;
int frame_number, vid, i; int frame_number, vid, i;
double bitrate; double bitrate;
int64_t pts = INT64_MAX; int64_t pts = INT64_MIN;
static int64_t last_time = -1; static int64_t last_time = -1;
static int qp_histogram[52]; static int qp_histogram[52];
int hours, mins, secs, us; int hours, mins, secs, us;
@ -1154,8 +1154,9 @@ static void print_report(int is_last_report, int64_t timer_start, int64_t cur_ti
vid = 1; vid = 1;
} }
/* compute min output value */ /* compute min output value */
pts = FFMIN(pts, av_rescale_q(ost->st->pts.val, if (!ost->finished && ost->st->pts.val != AV_NOPTS_VALUE)
ost->st->time_base, AV_TIME_BASE_Q)); pts = FFMAX(pts, av_rescale_q(ost->st->pts.val,
ost->st->time_base, AV_TIME_BASE_Q));
} }
secs = pts / AV_TIME_BASE; secs = pts / AV_TIME_BASE;