38 lines
1.1 KiB
Diff
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;
|