opt/freerdp/ffmpeg.patch
2013-11-09 20:43:27 +09:00

38 lines
1.1 KiB
Diff

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;