commit 51a020685ef40489cdfdd16e7dcb9e7b5dbb64d5 Author: Frans de Boer Date: Sun Sep 28 23:38:48 2008 +0200 Fix for new FFmpeg API. This patch was proposed by Rafael2k and augmented by Nicolas to cope with FFmpeg version 51 as well as version 52. diff --git a/quicktime/mpeg4.c b/quicktime/mpeg4.c index d418f66..bab1ac0 100644 --- a/quicktime/mpeg4.c +++ b/quicktime/mpeg4.c @@ -671,7 +671,11 @@ static int encode(quicktime_t *file, unsigned char **row_pointers, int track) context->b_quant_factor = 1.25; context->b_quant_offset = 1.25; +#if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0) context->error_resilience = FF_ER_CAREFUL; +#else + context->error_recognition = FF_ER_CAREFUL; +#endif context->error_concealment = 3; context->frame_skip_cmp = FF_CMP_DCTMAX; context->ildct_cmp = FF_CMP_VSAD; diff --git a/quicktime/wma.c b/quicktime/wma.c index 6ceefe5..07348a4 100644 --- a/quicktime/wma.c +++ b/quicktime/wma.c @@ -187,11 +187,21 @@ printf("decode 2 %x %llx %llx\n", chunk_size, chunk_offset, chunk_offset + chunk // Decode chunk into work buffer. pthread_mutex_lock(&ffmpeg_lock); +#if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0) result = avcodec_decode_audio(codec->decoder_context, (int16_t*)(codec->work_buffer + codec->output_size * sample_size), - &bytes_decoded, - codec->packet_buffer, + &bytes_decoded, + codec->packet_buffer, chunk_size); +#else + bytes_decoded = AVCODEC_MAX_AUDIO_FRAME_SIZE; + result = avcodec_decode_audio2(codec->decoder_context, + (int16_t*)(codec->work_buffer + codec->output_size * sample_size), + &bytes_decoded, + codec->packet_buffer, + chunk_size); +#endif + pthread_mutex_unlock(&ffmpeg_lock); if(bytes_decoded <= 0) {