diff options
Diffstat (limited to 'intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp')
-rw-r--r-- | intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp b/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp index ba961f0cb78..e9eea195208 100644 --- a/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp +++ b/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp @@ -58,9 +58,9 @@ int AUD_FFMPEGReader::decode(AVPacket& packet, AUD_Buffer& buffer) got_frame = 0; if(!frame) - frame = avcodec_alloc_frame(); + frame = av_frame_alloc(); else - avcodec_get_frame_defaults(frame); + av_frame_unref(frame); read_length = avcodec_decode_audio4(m_codecCtx, frame, &got_frame, &packet); if(read_length < 0) @@ -389,9 +389,7 @@ void AUD_FFMPEGReader::seek(int position) int length = AUD_DEFAULT_BUFFER_SIZE; AUD_Buffer buffer(length * AUD_SAMPLE_SIZE(m_specs)); bool eos; - for(int len = position - m_position; - length == AUD_DEFAULT_BUFFER_SIZE; - len -= AUD_DEFAULT_BUFFER_SIZE) + for(int len = position - m_position; len > 0; len -= AUD_DEFAULT_BUFFER_SIZE) { if(len < AUD_DEFAULT_BUFFER_SIZE) length = len; |