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
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to