[FFmpeg-cvslog] fftools/ffmpeg_demux: only print demuxing stats if demuxing actually started

Anton Khirnov git at videolan.org
Sun May 28 11:52:33 EEST 2023


ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Wed May 17 17:56:43 2023 +0200| [6ee57fd2b6769725afa66d2f742d928db48ff19f] | committer: Anton Khirnov

fftools/ffmpeg_demux: only print demuxing stats if demuxing actually started

If the transcoding process never got to reading any packets from this
input then printing stats is just pointless noise.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=6ee57fd2b6769725afa66d2f742d928db48ff19f
---

 fftools/ffmpeg_demux.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/fftools/ffmpeg_demux.c b/fftools/ffmpeg_demux.c
index 7318abc6d9..ed8d5d165a 100644
--- a/fftools/ffmpeg_demux.c
+++ b/fftools/ffmpeg_demux.c
@@ -113,6 +113,8 @@ typedef struct Demuxer {
     int                   thread_queue_size;
     pthread_t             thread;
     int                   non_blocking;
+
+    int                   read_started;
 } Demuxer;
 
 typedef struct DemuxMsg {
@@ -734,6 +736,8 @@ static int thread_start(Demuxer *d)
         goto fail;
     }
 
+    d->read_started = 1;
+
     return 0;
 fail:
     av_thread_message_queue_free(&d->in_thread_queue);
@@ -833,7 +837,7 @@ void ifile_close(InputFile **pf)
 
     thread_stop(d);
 
-    if (f->ctx)
+    if (d->read_started)
         demux_final_stats(d);
 
     for (int i = 0; i < f->nb_streams; i++)



More information about the ffmpeg-cvslog mailing list