lavf/mpegts: Reduce number of "Predefined SLConfigDescriptor" warnings shown.
authorCarl Eugen Hoyos <cehoyos@ag.or.at>
Mon, 9 Jun 2014 21:20:14 +0000 (23:20 +0200)
committerCarl Eugen Hoyos <cehoyos@ag.or.at>
Mon, 9 Jun 2014 21:20:14 +0000 (23:20 +0200)
libavformat/mpegts.c

index 0a5ac68..3434341 100644 (file)
@@ -1186,6 +1186,7 @@ typedef struct {
     int descr_count;
     int max_descr_count;
     int level;
     int descr_count;
     int max_descr_count;
     int level;
+    int predefined_SLConfigDescriptor_seen;
 } MP4DescrParseContext;
 
 static int init_MP4DescrParseContext(MP4DescrParseContext *d, AVFormatContext *s,
 } MP4DescrParseContext;
 
 static int init_MP4DescrParseContext(MP4DescrParseContext *d, AVFormatContext *s,
@@ -1321,8 +1322,9 @@ static int parse_MP4SLDescrTag(MP4DescrParseContext *d, int64_t off, int len)
         descr->sl.degr_prior_len     = lengths >> 12;
         descr->sl.au_seq_num_len     = (lengths >> 7) & 0x1f;
         descr->sl.packet_seq_num_len = (lengths >> 2) & 0x1f;
         descr->sl.degr_prior_len     = lengths >> 12;
         descr->sl.au_seq_num_len     = (lengths >> 7) & 0x1f;
         descr->sl.packet_seq_num_len = (lengths >> 2) & 0x1f;
-    } else {
+    } else if (!d->predefined_SLConfigDescriptor_seen){
         avpriv_report_missing_feature(d->s, "Predefined SLConfigDescriptor");
         avpriv_report_missing_feature(d->s, "Predefined SLConfigDescriptor");
+        d->predefined_SLConfigDescriptor_seen = 1;
     }
     return 0;
 }
     }
     return 0;
 }