]> git.pld-linux.org Git - packages/xbmc.git/commitdiff
- fix build with ffmpeg2
authorJan Rękorajski <baggins@pld-linux.org>
Thu, 29 Aug 2013 08:20:07 +0000 (10:20 +0200)
committerJan Rękorajski <baggins@pld-linux.org>
Thu, 29 Aug 2013 08:20:07 +0000 (10:20 +0200)
ffmpeg2.patch [new file with mode: 0644]
xbmc.spec

diff --git a/ffmpeg2.patch b/ffmpeg2.patch
new file mode 100644 (file)
index 0000000..c2b6604
--- /dev/null
@@ -0,0 +1,115 @@
+From 9f24c9a44aa625277e5c5f1d251cff262d0bc259 Mon Sep 17 00:00:00 2001\r
+From: FlyingRat <flyingrat@outlook.com>\r
+Date: Mon, 29 Apr 2013 10:49:06 +0200\r
+Subject: [PATCH] xbmc adjustments for ffmpeg master head, rev b691bc4,\r
+ 2013-04-29\r
+\r
+---\r
+ lib/DllAvCodec.h                                   |  8 +++\r
+ lib/DllAvFilter.h                                  | 15 ++++--\r
+ xbmc/cores/dvdplayer/DVDAudio.h                    |  5 ++\r
+ .../DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp        |  2 +\r
+ xbmc/cores/dvdplayer/DVDDemuxers/DVDDemux.h        |  5 ++\r
+ 6 files changed, 94 insertions(+), 3 deletions(-)\r
+ create mode 100755 lib/ffmpeg/build_xbmc_win32.sh\r
+\r
+diff --git a/lib/DllAvCodec.h b/lib/DllAvCodec.h\r
+index 2b4ee22..5114a65 100644\r
+--- a/lib/DllAvCodec.h\r
++++ b/lib/DllAvCodec.h\r
+@@ -41,6 +41,14 @@\r
+ #ifndef __GNUC__\r
+ #pragma warning(disable:4244)\r
+ #endif\r
++    \r
++#if !defined(CodecID)                         // @FFMPEGHEAD TODO: CodecID decrepated and autodef removed, define/rename AVCodecID globaly?\r
++#define CodecID AVCodecID\r
++#endif\r
++\r
++#if !defined(AVCODEC_MAX_AUDIO_FRAME_SIZE)    // @FFMPEGHEAD TODO: stick with this or check for possible other solution?\r
++#define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000   // 1 second of 48khz 32bit audio (defintion orginated from ffmpeg)\r
++#endif\r
\r
+ #if (defined USE_EXTERNAL_FFMPEG)\r
+   #if (defined HAVE_LIBAVCODEC_AVCODEC_H)\r
+diff --git a/lib/DllAvFilter.h b/lib/DllAvFilter.h\r
+index d44b918..5082618 100644\r
+--- a/lib/DllAvFilter.h\r
++++ b/lib/DllAvFilter.h\r
+@@ -20,6 +20,9 @@\r
+  *\r
+  */\r
\r
++// #define av_buffersrc_add_frame(ctx,frame) av_buffersrc_add_frame_flags(ctx, frame, 0);\r
++\r
++\r
+ #if (defined HAVE_CONFIG_H) && (!defined WIN32)\r
+   #include "config.h"\r
+ #endif\r
+@@ -56,6 +59,9 @@\r
+   #include "libavfilter/buffersink.h"\r
+   #include "libavfilter/avcodec.h"\r
+ #endif\r
++\r
++#include "libavfilter/buffersrc.h"  // @FFMPEGHEAD temp hack\r
++    \r
+ }\r
\r
+ #if LIBAVFILTER_VERSION_MICRO >= 100\r
+@@ -146,9 +153,9 @@ class DllAvFilter : public DllDynamic, DllAvFilterInterface\r
+     return ::avfilter_graph_config(graphctx, log_ctx);\r
+   }\r
+ #if LIBAVFILTER_VERSION_INT < AV_VERSION_INT(3,0,0)\r
+-  virtual int av_vsrc_buffer_add_frame(AVFilterContext *buffer_filter, AVFrame *frame, int flags) { return ::av_vsrc_buffer_add_frame(buffer_filter, frame, flags); }\r
++  virtual int av_vsrc_buffer_add_frame(AVFilterContext *buffer_filter, AVFrame *frame, int flags) { return ::av_vsrc_buffer_add_frame_flags(buffer_filter, frame, flags); }\r
+ #else\r
+-  virtual int av_buffersrc_add_frame(AVFilterContext *buffer_filter, AVFrame* frame, int flags) { return ::av_buffersrc_add_frame(buffer_filter, frame, flags); }\r
++  virtual int av_buffersrc_add_frame(AVFilterContext *buffer_filter, AVFrame* frame, int flags) { return ::av_buffersrc_add_frame_flags(buffer_filter, frame, flags); }\r
+ #endif\r
+   virtual void avfilter_unref_buffer(AVFilterBufferRef *ref) { ::avfilter_unref_buffer(ref); }\r
+   virtual int avfilter_link(AVFilterContext *src, unsigned srcpad, AVFilterContext *dst, unsigned dstpad) { return ::avfilter_link(src, srcpad, dst, dstpad); }\r
+diff --git a/xbmc/cores/dvdplayer/DVDAudio.h b/xbmc/cores/dvdplayer/DVDAudio.h\r
+index e76d443..1a1b840 100644\r
+--- a/xbmc/cores/dvdplayer/DVDAudio.h\r
++++ b/xbmc/cores/dvdplayer/DVDAudio.h\r
+@@ -42,6 +43,10 @@\r
+ #endif\r
+ }\r
+ #endif\r
++#if !defined (CodecID)\r
++#define CodecID AVCodecID       //@FFMPEGHEAD TODO: CodecID decrepated and autodef removed, possible rename to AVCodecID globaly?\r
++#endif\r
++\r
+ typedef struct stDVDAudioFrame DVDAudioFrame;\r
\r
+ class CPTSOutputQueue\r
+diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp\r
+index eb45f9a..33c9da0 100644\r
+--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp\r
++++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp\r
+@@ -18,6 +18,8 @@\r
+  *\r
+  */\r
\r
++#define FF_API_AVFILTERBUFFER 1               // @FFMPEGHEAD enable av_buffersrc_buffer & co. TODO: check for alt sol.\r
++\r
+ #include "system.h"\r
+ #if (defined HAVE_CONFIG_H) && (!defined WIN32)\r
+   #include "config.h"\r
+diff --git a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemux.h b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemux.h\r
+index bdad65b..8db5d7b 100644\r
+--- a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemux.h\r
++++ b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemux.h\r
+@@ -51,6 +52,10 @@\r
+ }\r
+ #endif\r
\r
++#if !defined (CodecID)\r
++#define CodecID AVCodecID       //@FFMPEGHEAD TODO: CodecID decrepated and autodef removed, possible rename to AVCodecID glob\r
++#endif\r
++\r
+ #ifndef __GNUC__\r
+ #pragma warning(pop)\r
+ #endif\r
+-- \r
+1.8.1.6\r
index ace041d294518de51f946dcf002f60c195a2f7ae..7f32ccd22d122cfef2ac710e12d6af0aef065968 100644 (file)
--- a/xbmc.spec
+++ b/xbmc.spec
@@ -18,6 +18,7 @@ License:      GPL v2+ and GPL v3+
 Group:         Applications/Multimedia
 Source0:       http://mirrors.xbmc.org/releases/source/%{name}-%{version}.tar.gz
 # Source0-md5: 489f3877decae4e265ece54f9eaef0ba
+Patch0:                ffmpeg2.patch
 URL:           http://xbmc.org/
 BuildRequires: Mesa-libGLU-devel
 BuildRequires: OpenGL-devel
@@ -124,6 +125,7 @@ forecast functions, together third-party plugins.
 
 %prep
 %setup -q
+%patch0 -p1
 
 %build
 ./bootstrap
This page took 0.040577 seconds and 5 git commands to generate.