Message ID | 20200422112608.1538-1-ffmpeg@gyani.pro |
---|---|
State | Accepted |
Commit | fc8a239e9d0a0eeadcd4f5e93a3de56bd68ac8ed |
Headers | show |
Series | [FFmpeg-devel] avformat/mpegtsenc: use av_log_once for data stream warning | expand |
Context | Check | Description |
---|---|---|
andriy/default | pending | |
andriy/make | success | Make finished |
andriy/make_fate | success | Make fate finished |
On Wed, 22 Apr 2020, Gyan Doshi wrote: > --- > libavformat/mpegtsenc.c | 15 +++++++++++---- > 1 file changed, 11 insertions(+), 4 deletions(-) > > diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c > index 4fe3d84c59..f2be6c6632 100644 > --- a/libavformat/mpegtsenc.c > +++ b/libavformat/mpegtsenc.c > @@ -238,6 +238,7 @@ typedef struct MpegTSWriteStream { > int payload_flags; > uint8_t *payload; > AVFormatContext *amux; > + int data_st_warning; > > int64_t pcr_period; /* PCR period in PCR time base */ > int64_t last_pcr; > @@ -285,6 +286,7 @@ static void put_registration_descriptor(uint8_t **q_ptr, uint32_t tag) > static int get_dvb_stream_type(AVFormatContext *s, AVStream *st) > { > MpegTSWrite *ts = s->priv_data; > + MpegTSWriteStream *ts_st = st->priv_data; > int stream_type; > > switch (st->codecpar->codec_id) { > @@ -354,8 +356,10 @@ static int get_dvb_stream_type(AVFormatContext *s, AVStream *st) > stream_type = STREAM_TYPE_PRIVATE_DATA; > break; > default: > - av_log(s, AV_LOG_WARNING, "Stream %d, codec %s, is muxed as a private data stream " > - "and may not be recognized upon reading.\n", st->index, avcodec_get_name(st->codecpar->codec_id)); > + av_log_once(s, AV_LOG_WARNING, AV_LOG_DEBUG, &ts_st->data_st_warning, > + "Stream %d, codec %s, is muxed as a private data stream " > + "and may not be recognized upon reading.\n", st->index, > + avcodec_get_name(st->codecpar->codec_id)); > stream_type = STREAM_TYPE_PRIVATE_DATA; > break; > } > @@ -366,6 +370,7 @@ static int get_dvb_stream_type(AVFormatContext *s, AVStream *st) > static int get_m2ts_stream_type(AVFormatContext *s, AVStream *st) > { > int stream_type; > + MpegTSWriteStream *ts_st = st->priv_data; > > switch (st->codecpar->codec_id) { > case AV_CODEC_ID_MPEG2VIDEO: > @@ -402,8 +407,10 @@ static int get_m2ts_stream_type(AVFormatContext *s, AVStream *st) > stream_type = 0x92; > break; > default: > - av_log(s, AV_LOG_WARNING, "Stream %d, codec %s, is muxed as a private data stream " > - "and may not be recognized upon reading.\n", st->index, avcodec_get_name(st->codecpar->codec_id)); > + av_log_once(s, AV_LOG_WARNING, AV_LOG_DEBUG, &ts_st->data_st_warning, > + "Stream %d, codec %s, is muxed as a private data stream " > + "and may not be recognized upon reading.\n", st->index, > + avcodec_get_name(st->codecpar->codec_id)); > stream_type = STREAM_TYPE_PRIVATE_DATA; > break; > } LGTM, thanks. Marton
On 23-04-2020 01:33 am, Marton Balint wrote: > > > On Wed, 22 Apr 2020, Gyan Doshi wrote: > >> --- >> libavformat/mpegtsenc.c | 15 +++++++++++---- >> 1 file changed, 11 insertions(+), 4 deletions(-) >> >> diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c >> index 4fe3d84c59..f2be6c6632 100644 >> --- a/libavformat/mpegtsenc.c >> +++ b/libavformat/mpegtsenc.c >> @@ -238,6 +238,7 @@ typedef struct MpegTSWriteStream { >> int payload_flags; >> uint8_t *payload; >> AVFormatContext *amux; >> + int data_st_warning; >> >> int64_t pcr_period; /* PCR period in PCR time base */ >> int64_t last_pcr; >> @@ -285,6 +286,7 @@ static void put_registration_descriptor(uint8_t >> **q_ptr, uint32_t tag) >> static int get_dvb_stream_type(AVFormatContext *s, AVStream *st) >> { >> MpegTSWrite *ts = s->priv_data; >> + MpegTSWriteStream *ts_st = st->priv_data; >> int stream_type; >> >> switch (st->codecpar->codec_id) { >> @@ -354,8 +356,10 @@ static int get_dvb_stream_type(AVFormatContext >> *s, AVStream *st) >> stream_type = STREAM_TYPE_PRIVATE_DATA; >> break; >> default: >> - av_log(s, AV_LOG_WARNING, "Stream %d, codec %s, is muxed as >> a private data stream " >> - "and may not be recognized upon reading.\n", >> st->index, avcodec_get_name(st->codecpar->codec_id)); >> + av_log_once(s, AV_LOG_WARNING, AV_LOG_DEBUG, >> &ts_st->data_st_warning, >> + "Stream %d, codec %s, is muxed as a private data >> stream " >> + "and may not be recognized upon reading.\n", >> st->index, >> + avcodec_get_name(st->codecpar->codec_id)); >> stream_type = STREAM_TYPE_PRIVATE_DATA; >> break; >> } >> @@ -366,6 +370,7 @@ static int get_dvb_stream_type(AVFormatContext >> *s, AVStream *st) >> static int get_m2ts_stream_type(AVFormatContext *s, AVStream *st) >> { >> int stream_type; >> + MpegTSWriteStream *ts_st = st->priv_data; >> >> switch (st->codecpar->codec_id) { >> case AV_CODEC_ID_MPEG2VIDEO: >> @@ -402,8 +407,10 @@ static int get_m2ts_stream_type(AVFormatContext >> *s, AVStream *st) >> stream_type = 0x92; >> break; >> default: >> - av_log(s, AV_LOG_WARNING, "Stream %d, codec %s, is muxed as >> a private data stream " >> - "and may not be recognized upon reading.\n", >> st->index, avcodec_get_name(st->codecpar->codec_id)); >> + av_log_once(s, AV_LOG_WARNING, AV_LOG_DEBUG, >> &ts_st->data_st_warning, >> + "Stream %d, codec %s, is muxed as a private data >> stream " >> + "and may not be recognized upon reading.\n", >> st->index, >> + avcodec_get_name(st->codecpar->codec_id)); >> stream_type = STREAM_TYPE_PRIVATE_DATA; >> break; >> } > > LGTM, thanks. Thanks. Pushed as fc8a239e9d0a0eeadcd4f5e93a3de56bd68ac8ed Gyan
diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c index 4fe3d84c59..f2be6c6632 100644 --- a/libavformat/mpegtsenc.c +++ b/libavformat/mpegtsenc.c @@ -238,6 +238,7 @@ typedef struct MpegTSWriteStream { int payload_flags; uint8_t *payload; AVFormatContext *amux; + int data_st_warning; int64_t pcr_period; /* PCR period in PCR time base */ int64_t last_pcr; @@ -285,6 +286,7 @@ static void put_registration_descriptor(uint8_t **q_ptr, uint32_t tag) static int get_dvb_stream_type(AVFormatContext *s, AVStream *st) { MpegTSWrite *ts = s->priv_data; + MpegTSWriteStream *ts_st = st->priv_data; int stream_type; switch (st->codecpar->codec_id) { @@ -354,8 +356,10 @@ static int get_dvb_stream_type(AVFormatContext *s, AVStream *st) stream_type = STREAM_TYPE_PRIVATE_DATA; break; default: - av_log(s, AV_LOG_WARNING, "Stream %d, codec %s, is muxed as a private data stream " - "and may not be recognized upon reading.\n", st->index, avcodec_get_name(st->codecpar->codec_id)); + av_log_once(s, AV_LOG_WARNING, AV_LOG_DEBUG, &ts_st->data_st_warning, + "Stream %d, codec %s, is muxed as a private data stream " + "and may not be recognized upon reading.\n", st->index, + avcodec_get_name(st->codecpar->codec_id)); stream_type = STREAM_TYPE_PRIVATE_DATA; break; } @@ -366,6 +370,7 @@ static int get_dvb_stream_type(AVFormatContext *s, AVStream *st) static int get_m2ts_stream_type(AVFormatContext *s, AVStream *st) { int stream_type; + MpegTSWriteStream *ts_st = st->priv_data; switch (st->codecpar->codec_id) { case AV_CODEC_ID_MPEG2VIDEO: @@ -402,8 +407,10 @@ static int get_m2ts_stream_type(AVFormatContext *s, AVStream *st) stream_type = 0x92; break; default: - av_log(s, AV_LOG_WARNING, "Stream %d, codec %s, is muxed as a private data stream " - "and may not be recognized upon reading.\n", st->index, avcodec_get_name(st->codecpar->codec_id)); + av_log_once(s, AV_LOG_WARNING, AV_LOG_DEBUG, &ts_st->data_st_warning, + "Stream %d, codec %s, is muxed as a private data stream " + "and may not be recognized upon reading.\n", st->index, + avcodec_get_name(st->codecpar->codec_id)); stream_type = STREAM_TYPE_PRIVATE_DATA; break; }