]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/mp3dec.c
thpdemux: Check that packed sizes are within the files data size and filesize.
[ffmpeg] / libavformat / mp3dec.c
index 7fe7df26091314299c780962976dcf9f8ef27830..aa487878357d48e1e67c3c77af922279aa1ced75 100644 (file)
@@ -24,6 +24,7 @@
 #include "libavutil/dict.h"
 #include "libavutil/mathematics.h"
 #include "avformat.h"
+#include "internal.h"
 #include "id3v2.h"
 #include "id3v1.h"
 #include "libavcodec/mpegaudiodecheader.h"
@@ -51,7 +52,7 @@ static int mp3_read_probe(AVProbeData *p)
 
         for(frames = 0; buf2 < end; frames++) {
             header = AV_RB32(buf2);
-            fsize = ff_mpa_decode_header(&avctx, header, &sample_rate, &sample_rate, &sample_rate, &sample_rate);
+            fsize = avpriv_mpa_decode_header(&avctx, header, &sample_rate, &sample_rate, &sample_rate, &sample_rate);
             if(fsize < 0)
                 break;
             buf2 += fsize;
@@ -63,7 +64,7 @@ static int mp3_read_probe(AVProbeData *p)
     // keep this in sync with ac3 probe, both need to avoid
     // issues with MPEG-files!
     if   (first_frames>=4) return AVPROBE_SCORE_MAX/2+1;
-    else if(max_frames>500)return AVPROBE_SCORE_MAX/2;
+    else if(max_frames>200)return AVPROBE_SCORE_MAX/2;
     else if(max_frames>=4) return AVPROBE_SCORE_MAX/4;
     else if(max_frames>=1) return 1;
     else                   return 0;
@@ -86,7 +87,7 @@ static int mp3_parse_vbr_tags(AVFormatContext *s, AVStream *st, int64_t base)
     if(ff_mpa_check_header(v) < 0)
       return -1;
 
-    if (ff_mpegaudio_decode_header(&c, v) == 0)
+    if (avpriv_mpegaudio_decode_header(&c, v) == 0)
         vbrtag_size = c.frame_size;
     if(c.layer != 3)
         return -1;
@@ -137,7 +138,7 @@ static int mp3_read_header(AVFormatContext *s,
     AVStream *st;
     int64_t off;
 
-    st = av_new_stream(s, 0);
+    st = avformat_new_stream(s, NULL);
     if (!st)
         return AVERROR(ENOMEM);
 
@@ -147,7 +148,7 @@ static int mp3_read_header(AVFormatContext *s,
     st->start_time = 0;
 
     // lcm of all mp3 sample rates
-    av_set_pts_info(st, 64, 1, 14112000);
+    avpriv_set_pts_info(st, 64, 1, 14112000);
 
     off = avio_tell(s->pb);