]> git.sesse.net Git - ffmpeg/commitdiff
Merge commit '3ef98937f512184f80d3bd30015f5ec83dc11eb0'
authorDerek Buitenhuis <derek.buitenhuis@gmail.com>
Wed, 24 Feb 2016 18:06:40 +0000 (18:06 +0000)
committerDerek Buitenhuis <derek.buitenhuis@gmail.com>
Wed, 24 Feb 2016 18:06:40 +0000 (18:06 +0000)
* commit '3ef98937f512184f80d3bd30015f5ec83dc11eb0':
  mov: Force the full parsing of mp3

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
1  2 
libavformat/mov.c

index b1a2ea7719832bb5dbe94bbdb827489f881ad7b2,2b8ccd28e89caf74520be04e1fb328d855106031..e26cc10af5a4e234f9cb27db0c67ec1b8b58e452
@@@ -3100,15 -2533,11 +3100,18 @@@ static int mov_read_trak(MOVContext *c
          st->codec->width = 0; /* let decoder init width/height */
          st->codec->height= 0;
          break;
+     case AV_CODEC_ID_MP3:
+         st->need_parsing = AVSTREAM_PARSE_FULL;
+         break;
      }
  
 +    // If the duration of the mp3 packets is not constant, then they could need a parser
 +    if (st->codec->codec_id == AV_CODEC_ID_MP3
 +        && sc->stts_count > 3
 +        && sc->stts_count*10 > st->nb_frames
 +        && sc->time_scale == st->codec->sample_rate) {
 +            st->need_parsing = AVSTREAM_PARSE_FULL;
 +    }
      /* Do not need those anymore. */
      av_freep(&sc->chunk_offsets);
      av_freep(&sc->stsc_data);