You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-07-11 14:30:22 +02:00
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.
This commit is contained in:
@ -454,7 +454,6 @@ typedef struct InputFile {
|
|||||||
int64_t recording_time;
|
int64_t recording_time;
|
||||||
int nb_streams; /* number of stream that ffmpeg is aware of; may be different
|
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() */
|
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;
|
int rate_emu;
|
||||||
float readrate;
|
float readrate;
|
||||||
int accurate_seek;
|
int accurate_seek;
|
||||||
|
@ -63,6 +63,9 @@ typedef struct Demuxer {
|
|||||||
/* time base of the duration */
|
/* time base of the duration */
|
||||||
AVRational time_base;
|
AVRational time_base;
|
||||||
|
|
||||||
|
/* number of streams that the user was warned of */
|
||||||
|
int nb_streams_warn;
|
||||||
|
|
||||||
AVThreadMessageQueue *in_thread_queue;
|
AVThreadMessageQueue *in_thread_queue;
|
||||||
int thread_queue_size;
|
int thread_queue_size;
|
||||||
pthread_t thread;
|
pthread_t thread;
|
||||||
@ -82,18 +85,18 @@ static Demuxer *demuxer_from_ifile(InputFile *f)
|
|||||||
return (Demuxer*)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;
|
return;
|
||||||
av_log(NULL, AV_LOG_WARNING,
|
av_log(NULL, AV_LOG_WARNING,
|
||||||
"New %s stream %d:%d at pos:%"PRId64" and DTS:%ss\n",
|
"New %s stream %d:%d at pos:%"PRId64" and DTS:%ss\n",
|
||||||
av_get_media_type_string(st->codecpar->codec_type),
|
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));
|
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,
|
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
|
/* the following test is needed in case new streams appear
|
||||||
dynamically in stream : we ignore them */
|
dynamically in stream : we ignore them */
|
||||||
if (pkt->stream_index >= f->nb_streams) {
|
if (pkt->stream_index >= f->nb_streams) {
|
||||||
report_new_stream(f, pkt);
|
report_new_stream(d, pkt);
|
||||||
av_packet_unref(pkt);
|
av_packet_unref(pkt);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user