diff -u -r freerdp-1.0.2.orig/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c freerdp-1.0.2/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c --- freerdp-1.0.2.orig/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c 2013-11-09 20:03:58.460168637 +0900 +++ freerdp-1.0.2/channels/drdynvc/tsmf/ffmpeg/tsmf_ffmpeg.c 2013-11-09 20:08:51.624184926 +0900 @@ -34,12 +34,21 @@ #define AVMEDIA_TYPE_AUDIO 1 #endif +#ifndef AVCODEC_MAX_AUDIO_FRAME_SIZE +#define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000 // 1 second of 48khz 32bit audio +#endif + + typedef struct _TSMFFFmpegDecoder { ITSMFDecoder iface; int media_type; +#if LIBAVCODEC_VERSION_MAJOR > 54 + enum AVCodecID codec_id; +#else enum CodecID codec_id; +#endif AVCodecContext* codec_context; AVCodec* codec; AVFrame* frame; @@ -89,7 +98,11 @@ mdecoder->codec_context->block_align = media_type->BlockAlign; #ifdef AV_CPU_FLAG_SSE2 +#if LIBAVCODEC_VERSION_MAJOR > 54 + av_set_cpu_flags_mask(AV_CPU_FLAG_SSE2 | AV_CPU_FLAG_MMX2); +#else mdecoder->codec_context->dsp_mask = AV_CPU_FLAG_SSE2 | AV_CPU_FLAG_MMX2; +#endif #else #if LIBAVCODEC_VERSION_MAJOR < 53 mdecoder->codec_context->dsp_mask = FF_MM_SSE2 | FF_MM_MMXEXT;