Patch by Thilo Borgmann thilo.borgmann AT g00glemail dot com. Originally committed as revision 18408 to svn://svn.ffmpeg.org/ffmpeg/trunk
Unified · Split
| @@ -1841,7 +1841,7 @@ static int has_codec_parameters(AVCodecContext *enc) · 1840 unmodified lines | ||
| 1841 | 1841 | return enc->codec_id != CODEC_ID_NONE && val != 0; |
| 1842 | 1842 | } |
| 1843 | 1843 | |
| 1844 | −static int try_decode_frame(AVStream *st, const uint8_t *data, int size) | |
| 1844 | +static int try_decode_frame(AVStream *st, AVPacket *avpkt) | |
| 1845 | 1845 | { |
| 1846 | 1846 | int16_t *samples; |
| 1847 | 1847 | AVCodec *codec; |
| @@ -1860,16 +1860,16 @@ static int try_decode_frame(AVStream *st, const uint8_t *data, int size) · 12 unmodified lines | ||
| 1860 | 1860 | if(!has_codec_parameters(st->codec)){ |
| 1861 | 1861 | switch(st->codec->codec_type) { |
| 1862 | 1862 | case CODEC_TYPE_VIDEO: |
| 1863 | − ret = avcodec_decode_video(st->codec, &picture, | |
| 1864 | − &got_picture, data, size); | |
| 1863 | + ret = avcodec_decode_video2(st->codec, &picture, | |
| 1864 | + &got_picture, avpkt); | |
| 1865 | 1865 | break; |
| 1866 | 1866 | case CODEC_TYPE_AUDIO: |
| 1867 | − data_size = FFMAX(size, AVCODEC_MAX_AUDIO_FRAME_SIZE); | |
| 1867 | + data_size = FFMAX(avpkt->size, AVCODEC_MAX_AUDIO_FRAME_SIZE); | |
| 1868 | 1868 | samples = av_malloc(data_size); |
| 1869 | 1869 | if (!samples) |
| 1870 | 1870 | goto fail; |
| 1871 | − ret = avcodec_decode_audio2(st->codec, samples, | |
| 1872 | − &data_size, data, size); | |
| 1871 | + ret = avcodec_decode_audio3(st->codec, samples, | |
| 1872 | + &data_size, avpkt); | |
| 1873 | 1873 | av_free(samples); |
| 1874 | 1874 | break; |
| 1875 | 1875 | default: |
| @@ -2144,7 +2144,7 @@ int av_find_stream_info(AVFormatContext *ic) · 268 unmodified lines | ||
| 2144 | 2144 | st->codec->codec_id == CODEC_ID_PPM || |
| 2145 | 2145 | st->codec->codec_id == CODEC_ID_SHORTEN || |
| 2146 | 2146 | (st->codec->codec_id == CODEC_ID_MPEG4 && !st->need_parsing))*/) |
| 2147 | − try_decode_frame(st, pkt->data, pkt->size); | |
| 2147 | + try_decode_frame(st, pkt); | |
| 2148 | 2148 | |
| 2149 | 2149 | count++; |
| 2150 | 2150 | } |