Browse Source

ffmpeg: don't delay printing initial stats

The first stats is printed after the initial stats_period has elapsed. With a large period,
it may appear that ffmpeg has frozen at startup.

The initial stats is now printed after the first transcode_step.
tags/n4.4
Gyan Doshi 4 years ago
parent
commit
3e47bbad56
1 changed files with 4 additions and 2 deletions
  1. +4
    -2
      fftools/ffmpeg.c

+ 4
- 2
fftools/ffmpeg.c View File

@@ -1685,6 +1685,7 @@ static void print_report(int is_last_report, int64_t timer_start, int64_t cur_ti
double speed; double speed;
int64_t pts = INT64_MIN + 1; int64_t pts = INT64_MIN + 1;
static int64_t last_time = -1; static int64_t last_time = -1;
static int first_report = 1;
static int qp_histogram[52]; static int qp_histogram[52];
int hours, mins, secs, us; int hours, mins, secs, us;
const char *hours_sign; const char *hours_sign;
@@ -1697,9 +1698,8 @@ static void print_report(int is_last_report, int64_t timer_start, int64_t cur_ti
if (!is_last_report) { if (!is_last_report) {
if (last_time == -1) { if (last_time == -1) {
last_time = cur_time; last_time = cur_time;
return;
} }
if ((cur_time - last_time) < stats_period)
if ((cur_time - last_time) < stats_period && !first_report)
return; return;
last_time = cur_time; last_time = cur_time;
} }
@@ -1876,6 +1876,8 @@ static void print_report(int is_last_report, int64_t timer_start, int64_t cur_ti
} }
} }


first_report = 0;

if (is_last_report) if (is_last_report)
print_final_stats(total_size); print_final_stats(total_size);
} }


Loading…
Cancel
Save