You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-10 06:10:52 +02:00
fftools/ffmpeg: move printing verbose demuxing stats to ffmpeg_demux
This is a more appropriate place for this.
This commit is contained in:
@@ -738,46 +738,6 @@ static int reap_filters(int flush)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void print_final_stats(void)
|
|
||||||
{
|
|
||||||
int i, j;
|
|
||||||
|
|
||||||
/* print verbose per-stream stats */
|
|
||||||
for (i = 0; i < nb_input_files; i++) {
|
|
||||||
InputFile *f = input_files[i];
|
|
||||||
uint64_t total_packets = 0, total_size = 0;
|
|
||||||
|
|
||||||
av_log(NULL, AV_LOG_VERBOSE, "Input file #%d (%s):\n",
|
|
||||||
i, f->ctx->url);
|
|
||||||
|
|
||||||
for (j = 0; j < f->nb_streams; j++) {
|
|
||||||
InputStream *ist = f->streams[j];
|
|
||||||
enum AVMediaType type = ist->par->codec_type;
|
|
||||||
|
|
||||||
total_size += ist->data_size;
|
|
||||||
total_packets += ist->nb_packets;
|
|
||||||
|
|
||||||
av_log(NULL, AV_LOG_VERBOSE, " Input stream #%d:%d (%s): ",
|
|
||||||
i, j, av_get_media_type_string(type));
|
|
||||||
av_log(NULL, AV_LOG_VERBOSE, "%"PRIu64" packets read (%"PRIu64" bytes); ",
|
|
||||||
ist->nb_packets, ist->data_size);
|
|
||||||
|
|
||||||
if (ist->decoding_needed) {
|
|
||||||
av_log(NULL, AV_LOG_VERBOSE, "%"PRIu64" frames decoded",
|
|
||||||
ist->frames_decoded);
|
|
||||||
if (type == AVMEDIA_TYPE_AUDIO)
|
|
||||||
av_log(NULL, AV_LOG_VERBOSE, " (%"PRIu64" samples)", ist->samples_decoded);
|
|
||||||
av_log(NULL, AV_LOG_VERBOSE, "; ");
|
|
||||||
}
|
|
||||||
|
|
||||||
av_log(NULL, AV_LOG_VERBOSE, "\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
av_log(NULL, AV_LOG_VERBOSE, " Total: %"PRIu64" packets (%"PRIu64" bytes) demuxed\n",
|
|
||||||
total_packets, total_size);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void print_report(int is_last_report, int64_t timer_start, int64_t cur_time)
|
static void print_report(int is_last_report, int64_t timer_start, int64_t cur_time)
|
||||||
{
|
{
|
||||||
AVBPrint buf, buf_script;
|
AVBPrint buf, buf_script;
|
||||||
@@ -970,9 +930,6 @@ static void print_report(int is_last_report, int64_t timer_start, int64_t cur_ti
|
|||||||
}
|
}
|
||||||
|
|
||||||
first_report = 0;
|
first_report = 0;
|
||||||
|
|
||||||
if (is_last_report)
|
|
||||||
print_final_stats();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int ifilter_parameters_from_codecpar(InputFilter *ifilter, AVCodecParameters *par)
|
int ifilter_parameters_from_codecpar(InputFilter *ifilter, AVCodecParameters *par)
|
||||||
|
@@ -480,6 +480,41 @@ int ifile_get_packet(InputFile *f, AVPacket **pkt)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void demux_final_stats(Demuxer *d)
|
||||||
|
{
|
||||||
|
InputFile *f = &d->f;
|
||||||
|
uint64_t total_packets = 0, total_size = 0;
|
||||||
|
|
||||||
|
av_log(NULL, AV_LOG_VERBOSE, "Input file #%d (%s):\n",
|
||||||
|
f->index, f->ctx->url);
|
||||||
|
|
||||||
|
for (int j = 0; j < f->nb_streams; j++) {
|
||||||
|
InputStream *ist = f->streams[j];
|
||||||
|
enum AVMediaType type = ist->par->codec_type;
|
||||||
|
|
||||||
|
total_size += ist->data_size;
|
||||||
|
total_packets += ist->nb_packets;
|
||||||
|
|
||||||
|
av_log(NULL, AV_LOG_VERBOSE, " Input stream #%d:%d (%s): ",
|
||||||
|
f->index, j, av_get_media_type_string(type));
|
||||||
|
av_log(NULL, AV_LOG_VERBOSE, "%"PRIu64" packets read (%"PRIu64" bytes); ",
|
||||||
|
ist->nb_packets, ist->data_size);
|
||||||
|
|
||||||
|
if (ist->decoding_needed) {
|
||||||
|
av_log(NULL, AV_LOG_VERBOSE, "%"PRIu64" frames decoded",
|
||||||
|
ist->frames_decoded);
|
||||||
|
if (type == AVMEDIA_TYPE_AUDIO)
|
||||||
|
av_log(NULL, AV_LOG_VERBOSE, " (%"PRIu64" samples)", ist->samples_decoded);
|
||||||
|
av_log(NULL, AV_LOG_VERBOSE, "; ");
|
||||||
|
}
|
||||||
|
|
||||||
|
av_log(NULL, AV_LOG_VERBOSE, "\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
av_log(NULL, AV_LOG_VERBOSE, " Total: %"PRIu64" packets (%"PRIu64" bytes) demuxed\n",
|
||||||
|
total_packets, total_size);
|
||||||
|
}
|
||||||
|
|
||||||
static void ist_free(InputStream **pist)
|
static void ist_free(InputStream **pist)
|
||||||
{
|
{
|
||||||
InputStream *ist = *pist;
|
InputStream *ist = *pist;
|
||||||
@@ -512,6 +547,9 @@ void ifile_close(InputFile **pf)
|
|||||||
|
|
||||||
thread_stop(d);
|
thread_stop(d);
|
||||||
|
|
||||||
|
if (f->ctx)
|
||||||
|
demux_final_stats(d);
|
||||||
|
|
||||||
for (int i = 0; i < f->nb_streams; i++)
|
for (int i = 0; i < f->nb_streams; i++)
|
||||||
ist_free(&f->streams[i]);
|
ist_free(&f->streams[i]);
|
||||||
av_freep(&f->streams);
|
av_freep(&f->streams);
|
||||||
|
Reference in New Issue
Block a user