[FFmpeg-trac] #1043(undetermined:open): Predefined SLConfigDescriptor

FFmpeg trac at avcodec.org
Sat Mar 31 01:49:15 CEST 2012


#1043: Predefined SLConfigDescriptor
-------------------------------------+-------------------------------------
             Reporter:  puck         |                    Owner:
                 Type:  defect       |                   Status:  open
             Priority:  normal       |                Component:
              Version:  git-master   |  undetermined
             Keywords:               |               Resolution:
             Blocking:               |               Blocked By:
Analyzed by developer:  0            |  Reproduced by developer:  0
-------------------------------------+-------------------------------------

Comment (by puck):

 Hi All,

 It is a simple FIX, just comment the ELSE Statement or REMOVE it.
 EG /* av_log_missing_feature(d->s, "Predefined SLConfigDescriptor\n", 0);
 */
 I like the comment as it allows an audit trail.

 I obtained the latest ffmpeg from git and amended mpegts.c as below, and
 recompiled ffmpeg
 which ran to completion without the error messages. See attached 2 pass
 run log.

 static int parse_MP4SLDescrTag(MP4DescrParseContext *d, int64_t off, int
 len)
 {
     Mp4Descr *descr = d->active_descr;
     int predefined;
     if (!descr)
         return -1;

     predefined = avio_r8(&d->pb);
     if (!predefined) {
         int lengths;
         int flags = avio_r8(&d->pb);
         descr->sl.use_au_start       = !!(flags & 0x80);
         descr->sl.use_au_end         = !!(flags & 0x40);
         descr->sl.use_rand_acc_pt    = !!(flags & 0x20);
         descr->sl.use_padding        = !!(flags & 0x08);
         descr->sl.use_timestamps     = !!(flags & 0x04);
         descr->sl.use_idle           = !!(flags & 0x02);
         descr->sl.timestamp_res      = avio_rb32(&d->pb);
                                        avio_rb32(&d->pb);
         descr->sl.timestamp_len      = avio_r8(&d->pb);
         descr->sl.ocr_len            = avio_r8(&d->pb);
         descr->sl.au_len             = avio_r8(&d->pb);
         descr->sl.inst_bitrate_len   = avio_r8(&d->pb);
         lengths                      = avio_rb16(&d->pb);
         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 {
         /* av_log_missing_feature(d->s, "Predefined SLConfigDescriptor\n",
 0); */
     }
     return 0;
 }

-- 
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1043#comment:6>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list