[FFmpeg-cvslog] fftools/ffmpeg: move nb_streams_warn from InputFile to Demuxer

Anton Khirnov git at videolan.org
Tue Oct 25 12:16:17 EEST 2022


ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Mon Oct 17 12:49:51 2022 +0200| [5c1a096d02a4fce0799472425f60c8d1644fcdbd] | committer: Anton Khirnov

fftools/ffmpeg: move nb_streams_warn from InputFile to Demuxer

It is private to the demuxer and do not need to be visible outside of
it.

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

 fftools/ffmpeg.h       |  1 -
 fftools/ffmpeg_demux.c | 15 +++++++++------
 2 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/fftools/ffmpeg.h b/fftools/ffmpeg.h
index d914673abe..e5980ce9da 100644
--- a/fftools/ffmpeg.h
+++ b/fftools/ffmpeg.h
@@ -454,7 +454,6 @@ typedef struct InputFile {
     int64_t recording_time;
     int nb_streams;       /* number of stream that ffmpeg is aware of; may be different
                              from ctx.nb_streams if new streams appear during av_read_frame() */
-    int nb_streams_warn;  /* number of streams that the user was warned of */
     int rate_emu;
     float readrate;
     int accurate_seek;
diff --git a/fftools/ffmpeg_demux.c b/fftools/ffmpeg_demux.c
index 015dbf2a29..0e50812e59 100644
--- a/fftools/ffmpeg_demux.c
+++ b/fftools/ffmpeg_demux.c
@@ -63,6 +63,9 @@ typedef struct Demuxer {
     /* time base of the duration */
     AVRational time_base;
 
+    /* number of streams that the user was warned of */
+    int nb_streams_warn;
+
     AVThreadMessageQueue *in_thread_queue;
     int                   thread_queue_size;
     pthread_t             thread;
@@ -82,18 +85,18 @@ static Demuxer *demuxer_from_ifile(InputFile *f)
     return (Demuxer*)f;
 }
 
-static void report_new_stream(InputFile *file, const AVPacket *pkt)
+static void report_new_stream(Demuxer *d, const AVPacket *pkt)
 {
-    AVStream *st = file->ctx->streams[pkt->stream_index];
+    AVStream *st = d->f.ctx->streams[pkt->stream_index];
 
-    if (pkt->stream_index < file->nb_streams_warn)
+    if (pkt->stream_index < d->nb_streams_warn)
         return;
     av_log(NULL, AV_LOG_WARNING,
            "New %s stream %d:%d at pos:%"PRId64" and DTS:%ss\n",
            av_get_media_type_string(st->codecpar->codec_type),
-           file->index, pkt->stream_index,
+           d->f.index, pkt->stream_index,
            pkt->pos, av_ts2timestr(pkt->dts, &st->time_base));
-    file->nb_streams_warn = pkt->stream_index + 1;
+    d->nb_streams_warn = pkt->stream_index + 1;
 }
 
 static void ifile_duration_update(Demuxer *d, InputStream *ist,
@@ -280,7 +283,7 @@ static void *input_thread(void *arg)
         /* the following test is needed in case new streams appear
            dynamically in stream : we ignore them */
         if (pkt->stream_index >= f->nb_streams) {
-            report_new_stream(f, pkt);
+            report_new_stream(d, pkt);
             av_packet_unref(pkt);
             continue;
         }



More information about the ffmpeg-cvslog mailing list