]> rtime.felk.cvut.cz Git - frescor/ffmpeg.git/commitdiff
Make try_decode_frame() use the new avcodec_decode_* API.
authorstefano <stefano@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Fri, 10 Apr 2009 11:03:06 +0000 (11:03 +0000)
committerstefano <stefano@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Fri, 10 Apr 2009 11:03:06 +0000 (11:03 +0000)
Patch by Thilo Borgmann thilo.borgmann AT g00glemail dot com.

git-svn-id: file:///var/local/repositories/ffmpeg/trunk@18408 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b

libavformat/utils.c

index d3b9c090ebe41980bdb8b59e3ec6d3f81d44aba8..d209fe712f6920eb83e97b7421febde759b1181f 100644 (file)
@@ -1841,7 +1841,7 @@ static int has_codec_parameters(AVCodecContext *enc)
     return enc->codec_id != CODEC_ID_NONE && val != 0;
 }
 
-static int try_decode_frame(AVStream *st, const uint8_t *data, int size)
+static int try_decode_frame(AVStream *st, AVPacket *avpkt)
 {
     int16_t *samples;
     AVCodec *codec;
@@ -1860,16 +1860,16 @@ static int try_decode_frame(AVStream *st, const uint8_t *data, int size)
   if(!has_codec_parameters(st->codec)){
     switch(st->codec->codec_type) {
     case CODEC_TYPE_VIDEO:
-        ret = avcodec_decode_video(st->codec, &picture,
-                                   &got_picture, data, size);
+        ret = avcodec_decode_video2(st->codec, &picture,
+                                    &got_picture, avpkt);
         break;
     case CODEC_TYPE_AUDIO:
-        data_size = FFMAX(size, AVCODEC_MAX_AUDIO_FRAME_SIZE);
+        data_size = FFMAX(avpkt->size, AVCODEC_MAX_AUDIO_FRAME_SIZE);
         samples = av_malloc(data_size);
         if (!samples)
             goto fail;
-        ret = avcodec_decode_audio2(st->codec, samples,
-                                    &data_size, data, size);
+        ret = avcodec_decode_audio3(st->codec, samples,
+                                    &data_size, avpkt);
         av_free(samples);
         break;
     default:
@@ -2144,7 +2144,7 @@ int av_find_stream_info(AVFormatContext *ic)
              st->codec->codec_id == CODEC_ID_PPM ||
              st->codec->codec_id == CODEC_ID_SHORTEN ||
              (st->codec->codec_id == CODEC_ID_MPEG4 && !st->need_parsing))*/)
-            try_decode_frame(st, pkt->data, pkt->size);
+            try_decode_frame(st, pkt);
 
         count++;
     }