summaryrefslogtreecommitdiff
path: root/package/xbmc
diff options
context:
space:
mode:
Diffstat (limited to 'package/xbmc')
-rw-r--r--package/xbmc/Makefile65
-rw-r--r--package/xbmc/patches/patch-Makefile_include_in10
-rw-r--r--package/xbmc/patches/patch-configure11
-rw-r--r--package/xbmc/patches/patch-lib_DllAvCodec_h35
-rw-r--r--package/xbmc/patches/patch-lib_DllAvFilter_h46
-rw-r--r--package/xbmc/patches/patch-tools_Linux_xbmc_sh_in15
-rw-r--r--package/xbmc/patches/patch-tools_TexturePacker_XBMCTex_cpp17
-rw-r--r--package/xbmc/patches/patch-tools_TexturePacker_XBTFWriter_cpp13
-rw-r--r--package/xbmc/patches/patch-tools_TexturePacker_cmdlineargs_h11
-rw-r--r--package/xbmc/patches/patch-tools_TexturePacker_xwinapi_h11
-rw-r--r--package/xbmc/patches/patch-xbmc_cdrip_EncoderFFmpeg_h11
-rw-r--r--package/xbmc/patches/patch-xbmc_cores_AudioEngine_Encoders_AEEncoderFFmpeg_cpp11
-rw-r--r--package/xbmc/patches/patch-xbmc_cores_AudioEngine_Encoders_AEEncoderFFmpeg_h20
-rw-r--r--package/xbmc/patches/patch-xbmc_cores_AudioEngine_Interfaces_AEEncoder_h15
-rw-r--r--package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDAudio_cpp11
-rw-r--r--package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDAudio_h20
-rw-r--r--package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Audio_DVDAudioCodecFFmpeg_cpp11
-rw-r--r--package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Audio_DVDAudioCodecLPcm_h17
-rw-r--r--package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Audio_DVDAudioCodecPassthroughFFmpeg_h20
-rw-r--r--package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Audio_DVDAudioCodecPcm_cpp11
-rw-r--r--package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Audio_DVDAudioCodecPcm_h11
-rw-r--r--package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_DVDCodecs_h11
-rw-r--r--package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Overlay_DVDOverlayCodecFFmpeg_cpp11
-rw-r--r--package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Video_DVDVideoCodecFFmpeg_cpp28
-rw-r--r--package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDDemuxers_DVDDemuxFFmpeg_cpp11
-rw-r--r--package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDDemuxers_DVDDemuxPVRClient_cpp47
-rw-r--r--package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDDemuxers_DVDDemux_h29
-rw-r--r--package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDPlayerAudio_h11
-rw-r--r--package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDPlayerVideo_h11
-rw-r--r--package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDStreamInfo_h20
-rw-r--r--package/xbmc/patches/patch-xbmc_cores_omxplayer_OMXAudioCodecOMX_cpp10
-rw-r--r--package/xbmc/patches/patch-xbmc_cores_omxplayer_OMXAudio_cpp11
-rw-r--r--package/xbmc/patches/patch-xbmc_cores_omxplayer_OMXAudio_h11
-rw-r--r--package/xbmc/patches/patch-xbmc_cores_omxplayer_OMXVideo_cpp11
-rw-r--r--package/xbmc/patches/patch-xbmc_cores_omxplayer_OMXVideo_h11
-rw-r--r--package/xbmc/patches/patch-xbmc_utils_BitstreamConverter_cpp11
-rw-r--r--package/xbmc/patches/patch-xbmc_utils_BitstreamConverter_h20
-rw-r--r--package/xbmc/patches/patch-xbmc_utils_EndianSwap_h11
38 files changed, 667 insertions, 0 deletions
diff --git a/package/xbmc/Makefile b/package/xbmc/Makefile
new file mode 100644
index 000000000..cdffe1852
--- /dev/null
+++ b/package/xbmc/Makefile
@@ -0,0 +1,65 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:= xbmc
+PKG_VERSION:= 12.2
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 489f3877decae4e265ece54f9eaef0ba
+PKG_DESCR:= software media player
+PKG_SECTION:= multimedia
+PKG_DEPENDS:= boost-shared libffmpeg python2 libstdcxx
+PKG_DEPENDS+= libglew mesalib libass libmpeg2 libmad
+PKG_DEPENDS+= libjpeg libogg libvorbis libmodplug libcurl
+PKG_DEPENDS+= libflac libopenssl libbz2 libtiff liblzo
+PKG_DEPENDS+= yajl tinyxml libsqlite libpcrecpp libpng
+PKG_DEPENDS+= libpcre libcdio libfreetype libsamplerate
+PKG_DEPENDS+= taglib libjasper libmp3lame libmicrohttpd
+PKG_BUILDDEP:= boost ffmpeg python2 MesaLib libglew libass
+PKG_BUILDDEP+= libmpeg2 libmad jpeg libogg libvorbis libmodplug
+PKG_BUILDDEP+= curl flac openssl bzip2 libtiff liblzo yajl
+PKG_BUILDDEP+= tinyxml sqlite pcre libpng libcdio freetype
+PKG_BUILDDEP+= libsamplerate taglib libjasper lame libmicrohttpd
+PKG_URL:= http://xbmc.org/
+PKG_SITES:= http://mirrors.xbmc.org/releases/source/
+
+PKG_SYSTEM_DEPENDS:= raspberry-pi
+
+include $(TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,XBMC,xbmc,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+
+XAKE_FLAGS+= V=1 TIXML_USE_STL=1
+XAKE_FLAGS+= GCC_HONOUR_COPTS=s
+TARGET_CPPFLAGS+= -I$(STAGING_DIR)/usr/include/boost-1_54 \
+ -DTIXML_USE_STL=1 \
+ -I$(STAGING_DIR)/opt/vc/include \
+ -I$(STAGING_DIR)/opt/vc/include/interface/vcos/pthreads \
+ -I$(STAGING_DIR)/opt/vc/include/interface/vmcs_host/linux
+TARGET_LDFLAGS+= -L$(STAGING_DIR)/opt/vc/lib -lkhrn_static
+#TARGET_LDFLAGS+= -L$(STAGING_DIR)/opt/vc/lib -lkhrn_static -lX11
+CONFIGURE_ARGS+= --disable-optical-drive \
+ --disable-ssh \
+ --disable-samba \
+ --disable-mysql \
+ --enable-external-libraries \
+ --enable-player=omxplayer \
+ --enable-gles \
+ --disable-sdl \
+ --disable-joystick \
+ --disable-x11 \
+ --with-platform=raspberry-pi
+
+xbmc-install:
+ $(INSTALL_DIR) $(IDIR_XBMC)/usr/lib/xbmc
+ $(CP) $(WRKINST)/usr/lib/xbmc/* \
+ $(IDIR_XBMC)/usr/lib/xbmc
+ $(INSTALL_DIR) $(IDIR_XBMC)/usr/share/xbmc
+ $(CP) $(WRKINST)/usr/share/xbmc/* \
+ $(IDIR_XBMC)/usr/share/xbmc
+ $(INSTALL_DIR) $(IDIR_XBMC)/usr/bin
+ $(INSTALL_BIN) $(WRKINST)/usr/bin/xbmc \
+ $(IDIR_XBMC)/usr/bin
+
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/xbmc/patches/patch-Makefile_include_in b/package/xbmc/patches/patch-Makefile_include_in
new file mode 100644
index 000000000..2706f6698
--- /dev/null
+++ b/package/xbmc/patches/patch-Makefile_include_in
@@ -0,0 +1,10 @@
+--- xbmc-12.2.orig/Makefile.include.in 2013-05-03 07:57:40.000000000 +0200
++++ xbmc-12.2/Makefile.include.in 2013-07-31 11:46:19.000000000 +0200
+@@ -32,6 +32,7 @@ CC=@CC@
+ CXXFLAGS+=@CXXFLAGS@
+ CFLAGS+=@CFLAGS@
+ LDFLAGS+=@LDFLAGS@
++INCLUDES+=@CPPFLAGS@
+ INCLUDES+=-I@abs_top_srcdir@/lib
+ INCLUDES+=-I@abs_top_srcdir@/xbmc
+ INCLUDES+=$(sort @INCLUDES@)
diff --git a/package/xbmc/patches/patch-configure b/package/xbmc/patches/patch-configure
new file mode 100644
index 000000000..23c0e4bdb
--- /dev/null
+++ b/package/xbmc/patches/patch-configure
@@ -0,0 +1,11 @@
+--- xbmc-12.2.orig/configure 2013-05-03 07:57:46.000000000 +0200
++++ xbmc-12.2/configure 2013-07-31 14:45:10.000000000 +0200
+@@ -18629,7 +18629,7 @@ $as_echo "#define HAVE_LIBGLESV2 1" >>co
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: == WARNING: OpenGLES support is assumed." >&5
+ $as_echo "== WARNING: OpenGLES support is assumed." >&6; }
+- LIBS="$LIBS -lEGL -lGLESv2 -lbcm_host -lvcos -lvchiq_arm"
++ LIBS="$LIBS -lEGL -lGLESv2 -lbcm_host -lvcos -lvchiq_arm -lkhrn_static -lpthread -lm"
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lEGL" >&5
+ $as_echo_n "checking for main in -lEGL... " >&6; }
diff --git a/package/xbmc/patches/patch-lib_DllAvCodec_h b/package/xbmc/patches/patch-lib_DllAvCodec_h
new file mode 100644
index 000000000..89b259d9c
--- /dev/null
+++ b/package/xbmc/patches/patch-lib_DllAvCodec_h
@@ -0,0 +1,35 @@
+--- xbmc-12.2.orig/lib/DllAvCodec.h 2013-05-03 07:57:40.000000000 +0200
++++ xbmc-12.2/lib/DllAvCodec.h 2013-07-31 12:23:26.000000000 +0200
+@@ -72,8 +72,8 @@ public:
+ virtual void avcodec_register_all(void)=0;
+ virtual void avcodec_flush_buffers(AVCodecContext *avctx)=0;
+ virtual int avcodec_open2_dont_call(AVCodecContext *avctx, AVCodec *codec, AVDictionary **options)=0;
+- virtual AVCodec *avcodec_find_decoder(enum CodecID id)=0;
+- virtual AVCodec *avcodec_find_encoder(enum CodecID id)=0;
++ virtual AVCodec *avcodec_find_decoder(enum AVCodecID id)=0;
++ virtual AVCodec *avcodec_find_encoder(enum AVCodecID id)=0;
+ virtual int avcodec_close_dont_call(AVCodecContext *avctx)=0;
+ virtual AVFrame *avcodec_alloc_frame(void)=0;
+ virtual int avpicture_fill(AVPicture *picture, uint8_t *ptr, PixelFormat pix_fmt, int width, int height)=0;
+@@ -129,8 +129,8 @@ public:
+ }
+ virtual int avcodec_open2_dont_call(AVCodecContext *avctx, AVCodec *codec, AVDictionary **options) { *(volatile int *)0x0 = 0; return 0; }
+ virtual int avcodec_close_dont_call(AVCodecContext *avctx) { *(volatile int *)0x0 = 0; return 0; }
+- virtual AVCodec *avcodec_find_decoder(enum CodecID id) { return ::avcodec_find_decoder(id); }
+- virtual AVCodec *avcodec_find_encoder(enum CodecID id) { return ::avcodec_find_encoder(id); }
++ virtual AVCodec *avcodec_find_decoder(enum AVCodecID id) { return ::avcodec_find_decoder(id); }
++ virtual AVCodec *avcodec_find_encoder(enum AVCodecID id) { return ::avcodec_find_encoder(id); }
+ virtual int avcodec_close(AVCodecContext *avctx)
+ {
+ CSingleLock lock(DllAvCodec::m_critSection);
+@@ -203,8 +203,8 @@ class DllAvCodec : public DllDynamic, Dl
+ LOAD_SYMBOLS();
+
+ DEFINE_METHOD0(void, avcodec_register_all_dont_call)
+- DEFINE_METHOD1(AVCodec*, avcodec_find_decoder, (enum CodecID p1))
+- DEFINE_METHOD1(AVCodec*, avcodec_find_encoder, (enum CodecID p1))
++ DEFINE_METHOD1(AVCodec*, avcodec_find_decoder, (enum AVCodecID p1))
++ DEFINE_METHOD1(AVCodec*, avcodec_find_encoder, (enum AVCodecID p1))
+ DEFINE_METHOD1(int, avcodec_close_dont_call, (AVCodecContext *p1))
+ DEFINE_METHOD0(AVFrame*, avcodec_alloc_frame)
+ DEFINE_METHOD5(int, avpicture_fill, (AVPicture *p1, uint8_t *p2, PixelFormat p3, int p4, int p5))
diff --git a/package/xbmc/patches/patch-lib_DllAvFilter_h b/package/xbmc/patches/patch-lib_DllAvFilter_h
new file mode 100644
index 000000000..9f1188165
--- /dev/null
+++ b/package/xbmc/patches/patch-lib_DllAvFilter_h
@@ -0,0 +1,46 @@
+--- xbmc-12.2.orig/lib/DllAvFilter.h 2013-05-03 07:57:40.000000000 +0200
++++ xbmc-12.2/lib/DllAvFilter.h 2013-08-01 10:49:46.000000000 +0200
+@@ -45,6 +45,7 @@ extern "C" {
+ #if (defined HAVE_LIBAVFILTER_AVFILTER_H)
+ #include <libavfilter/avfiltergraph.h>
+ #include <libavfilter/buffersink.h>
++ #include <libavfilter/buffersrc.h>
+ #include <libavfilter/avcodec.h>
+ #elif (defined HAVE_FFMPEG_AVFILTER_H)
+ #include <ffmpeg/avfiltergraph.h>
+@@ -77,7 +78,7 @@ public:
+ #if LIBAVFILTER_VERSION_INT < AV_VERSION_INT(3,0,0)
+ virtual int av_vsrc_buffer_add_frame(AVFilterContext *buffer_filter, AVFrame *frame, int flags)=0;
+ #else
+- virtual int av_buffersrc_add_frame(AVFilterContext *buffer_filter, AVFrame *frame, int flags)=0;
++ virtual int av_buffersrc_add_frame_flags(AVFilterContext *buffer_filter, AVFrame *frame, int flags)=0;
+ #endif
+ virtual void avfilter_unref_buffer(AVFilterBufferRef *ref)=0;
+ virtual int avfilter_link(AVFilterContext *src, unsigned srcpad, AVFilterContext *dst, unsigned dstpad)=0;
+@@ -137,7 +138,7 @@ public:
+ #if LIBAVFILTER_VERSION_INT < AV_VERSION_INT(3,0,0)
+ virtual int av_vsrc_buffer_add_frame(AVFilterContext *buffer_filter, AVFrame *frame, int flags) { return ::av_vsrc_buffer_add_frame(buffer_filter, frame, flags); }
+ #else
+- virtual int av_buffersrc_add_frame(AVFilterContext *buffer_filter, AVFrame* frame, int flags) { return ::av_buffersrc_add_frame(buffer_filter, frame, flags); }
++ virtual int av_buffersrc_add_frame_flags(AVFilterContext *buffer_filter, AVFrame* frame, int flags) { return ::av_buffersrc_add_frame_flags(buffer_filter, frame, flags); }
+ #endif
+ virtual void avfilter_unref_buffer(AVFilterBufferRef *ref) { ::avfilter_unref_buffer(ref); }
+ virtual int avfilter_link(AVFilterContext *src, unsigned srcpad, AVFilterContext *dst, unsigned dstpad) { return ::avfilter_link(src, srcpad, dst, dstpad); }
+@@ -175,7 +176,7 @@ class DllAvFilter : public DllDynamic, D
+ #if LIBAVFILTER_VERSION_INT < AV_VERSION_INT(3,0,0)
+ DEFINE_METHOD3(int, av_vsrc_buffer_add_frame, (AVFilterContext *p1, AVFrame *p2, int p3))
+ #else
+- DEFINE_METHOD3(int, av_buffersrc_add_frame, (AVFilterContext *p1, AVFrame *p2, int p3))
++ DEFINE_METHOD3(int, av_buffersrc_add_frame_flag, (AVFilterContext *p1, AVFrame *p2, int p3))
+ #endif
+ DEFINE_METHOD1(void, avfilter_unref_buffer, (AVFilterBufferRef *p1))
+ DEFINE_METHOD4(int, avfilter_link, (AVFilterContext *p1, unsigned p2, AVFilterContext *p3, unsigned p4))
+@@ -198,7 +199,7 @@ class DllAvFilter : public DllDynamic, D
+ #if LIBAVFILTER_VERSION_INT < AV_VERSION_INT(3,0,0)
+ RESOLVE_METHOD(av_vsrc_buffer_add_frame)
+ #else
+- RESOLVE_METHOD(av_buffersrc_add_frame)
++ RESOLVE_METHOD(av_buffersrc_add_frame_flag)
+ #endif
+ RESOLVE_METHOD(avfilter_unref_buffer)
+ RESOLVE_METHOD(avfilter_link)
diff --git a/package/xbmc/patches/patch-tools_Linux_xbmc_sh_in b/package/xbmc/patches/patch-tools_Linux_xbmc_sh_in
new file mode 100644
index 000000000..a08eb0a94
--- /dev/null
+++ b/package/xbmc/patches/patch-tools_Linux_xbmc_sh_in
@@ -0,0 +1,15 @@
+--- xbmc-12.2.orig/tools/Linux/xbmc.sh.in 2013-05-03 07:57:41.000000000 +0200
++++ xbmc-12.2/tools/Linux/xbmc.sh.in 2013-08-05 16:24:14.000000000 +0200
+@@ -107,12 +107,6 @@ print_crash_report()
+ echo "Crash report available at $FILE"
+ }
+
+-python @datadir@/xbmc/FEH.py $SAVED_ARGS
+-RET=$?
+-if [ $RET -ne 0 ]; then
+- exit $RET
+-fi
+-
+ if which gdb >/dev/null 2>&1; then
+ # Output warning in case ulimit is unsupported by shell
+ eval ulimit -c unlimited
diff --git a/package/xbmc/patches/patch-tools_TexturePacker_XBMCTex_cpp b/package/xbmc/patches/patch-tools_TexturePacker_XBMCTex_cpp
new file mode 100644
index 000000000..81b0b931d
--- /dev/null
+++ b/package/xbmc/patches/patch-tools_TexturePacker_XBMCTex_cpp
@@ -0,0 +1,17 @@
+--- xbmc-12.2.orig/tools/TexturePacker/XBMCTex.cpp 2013-05-03 07:57:41.000000000 +0200
++++ xbmc-12.2/tools/TexturePacker/XBMCTex.cpp 2013-08-01 16:12:13.000000000 +0200
+@@ -35,12 +35,12 @@
+ #include <SDL/SDL_image.h>
+ #undef main
+
+-#include "guilib/XBTF.h"
++#include "../../xbmc/guilib/XBTF.h"
+ #include "XBTFWriter.h"
+ #include "md5.h"
+ #include "SDL_anigif.h"
+ #include "cmdlineargs.h"
+-#include "libsquish/squish.h"
++#include "../../lib/libsquish/squish.h"
+
+ #ifdef _WIN32
+ #define strncasecmp strnicmp
diff --git a/package/xbmc/patches/patch-tools_TexturePacker_XBTFWriter_cpp b/package/xbmc/patches/patch-tools_TexturePacker_XBTFWriter_cpp
new file mode 100644
index 000000000..91be356a7
--- /dev/null
+++ b/package/xbmc/patches/patch-tools_TexturePacker_XBTFWriter_cpp
@@ -0,0 +1,13 @@
+--- xbmc-12.2.orig/tools/TexturePacker/XBTFWriter.cpp 2013-05-03 07:57:41.000000000 +0200
++++ xbmc-12.2/tools/TexturePacker/XBTFWriter.cpp 2013-08-01 13:50:44.000000000 +0200
+@@ -22,8 +22,8 @@
+ #include "XBTFWriter.h"
+ #define __STDC_FORMAT_MACROS
+ #include <inttypes.h>
+-#include "guilib/XBTF.h"
+-#include "utils/EndianSwap.h"
++#include "../../xbmc/guilib/XBTF.h"
++#include "../../xbmc/utils/EndianSwap.h"
+ #if defined(__FreeBSD__)
+ #include <stdlib.h>
+ #elif !defined(__APPLE__)
diff --git a/package/xbmc/patches/patch-tools_TexturePacker_cmdlineargs_h b/package/xbmc/patches/patch-tools_TexturePacker_cmdlineargs_h
new file mode 100644
index 000000000..efded26b5
--- /dev/null
+++ b/package/xbmc/patches/patch-tools_TexturePacker_cmdlineargs_h
@@ -0,0 +1,11 @@
+--- xbmc-12.2.orig/tools/TexturePacker/cmdlineargs.h 2013-05-03 07:57:41.000000000 +0200
++++ xbmc-12.2/tools/TexturePacker/cmdlineargs.h 2013-08-01 14:37:40.000000000 +0200
+@@ -23,7 +23,7 @@
+ */
+
+ #ifdef _LINUX
+-#include "PlatformDefs.h"
++#include "../../xbmc/linux/PlatformDefs.h"
+ #include "xwinapi.h"
+ typedef LPSTR PSZ;
+ #define _snprintf snprintf
diff --git a/package/xbmc/patches/patch-tools_TexturePacker_xwinapi_h b/package/xbmc/patches/patch-tools_TexturePacker_xwinapi_h
new file mode 100644
index 000000000..1cc7efdc1
--- /dev/null
+++ b/package/xbmc/patches/patch-tools_TexturePacker_xwinapi_h
@@ -0,0 +1,11 @@
+--- xbmc-12.2.orig/tools/TexturePacker/xwinapi.h 2013-05-03 07:57:41.000000000 +0200
++++ xbmc-12.2/tools/TexturePacker/xwinapi.h 2013-08-01 15:51:48.000000000 +0200
+@@ -22,7 +22,7 @@
+ *
+ */
+
+-#include "PlatformDefs.h"
++#include "../../xbmc/linux/PlatformDefs.h"
+
+ LPTSTR GetCommandLine();
+ DWORD GetCurrentDirectory(DWORD nBufferLength, LPTSTR lpBuffer);
diff --git a/package/xbmc/patches/patch-xbmc_cdrip_EncoderFFmpeg_h b/package/xbmc/patches/patch-xbmc_cdrip_EncoderFFmpeg_h
new file mode 100644
index 000000000..080fc7d2c
--- /dev/null
+++ b/package/xbmc/patches/patch-xbmc_cdrip_EncoderFFmpeg_h
@@ -0,0 +1,11 @@
+--- xbmc-12.2.orig/xbmc/cdrip/EncoderFFmpeg.h 2013-05-03 07:57:41.000000000 +0200
++++ xbmc-12.2/xbmc/cdrip/EncoderFFmpeg.h 2013-07-31 12:34:15.000000000 +0200
+@@ -26,6 +26,8 @@
+ #include "DllAvCodec.h"
+ #include "DllAvUtil.h"
+
++#define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000
++
+ class CEncoderFFmpeg : public CEncoder
+ {
+ public:
diff --git a/package/xbmc/patches/patch-xbmc_cores_AudioEngine_Encoders_AEEncoderFFmpeg_cpp b/package/xbmc/patches/patch-xbmc_cores_AudioEngine_Encoders_AEEncoderFFmpeg_cpp
new file mode 100644
index 000000000..aeabd9a4f
--- /dev/null
+++ b/package/xbmc/patches/patch-xbmc_cores_AudioEngine_Encoders_AEEncoderFFmpeg_cpp
@@ -0,0 +1,11 @@
+--- xbmc-12.2.orig/xbmc/cores/AudioEngine/Encoders/AEEncoderFFmpeg.cpp 2013-05-03 07:57:41.000000000 +0200
++++ xbmc-12.2/xbmc/cores/AudioEngine/Encoders/AEEncoderFFmpeg.cpp 2013-07-31 12:56:28.000000000 +0200
+@@ -226,7 +226,7 @@ unsigned int CAEEncoderFFmpeg::GetBitRat
+ return m_BitRate;
+ }
+
+-CodecID CAEEncoderFFmpeg::GetCodecID()
++AVCodecID CAEEncoderFFmpeg::GetCodecID()
+ {
+ return m_CodecID;
+ }
diff --git a/package/xbmc/patches/patch-xbmc_cores_AudioEngine_Encoders_AEEncoderFFmpeg_h b/package/xbmc/patches/patch-xbmc_cores_AudioEngine_Encoders_AEEncoderFFmpeg_h
new file mode 100644
index 000000000..6926ff5dc
--- /dev/null
+++ b/package/xbmc/patches/patch-xbmc_cores_AudioEngine_Encoders_AEEncoderFFmpeg_h
@@ -0,0 +1,20 @@
+--- xbmc-12.2.orig/xbmc/cores/AudioEngine/Encoders/AEEncoderFFmpeg.h 2013-05-03 07:57:41.000000000 +0200
++++ xbmc-12.2/xbmc/cores/AudioEngine/Encoders/AEEncoderFFmpeg.h 2013-07-31 12:47:10.000000000 +0200
+@@ -39,7 +39,7 @@ public:
+ virtual void Reset();
+
+ virtual unsigned int GetBitRate ();
+- virtual CodecID GetCodecID ();
++ virtual AVCodecID GetCodecID ();
+ virtual unsigned int GetFrames ();
+
+ virtual int Encode (float *data, unsigned int frames);
+@@ -51,7 +51,7 @@ private:
+ DllAvUtil m_dllAvUtil;
+
+ std::string m_CodecName;
+- CodecID m_CodecID;
++ AVCodecID m_CodecID;
+ unsigned int m_BitRate;
+ CAEPackIEC61937::PackFunc m_PackFunc;
+
diff --git a/package/xbmc/patches/patch-xbmc_cores_AudioEngine_Interfaces_AEEncoder_h b/package/xbmc/patches/patch-xbmc_cores_AudioEngine_Interfaces_AEEncoder_h
new file mode 100644
index 000000000..1559ae28b
--- /dev/null
+++ b/package/xbmc/patches/patch-xbmc_cores_AudioEngine_Interfaces_AEEncoder_h
@@ -0,0 +1,15 @@
+--- xbmc-12.2.orig/xbmc/cores/AudioEngine/Interfaces/AEEncoder.h 2013-05-03 07:57:41.000000000 +0200
++++ xbmc-12.2/xbmc/cores/AudioEngine/Interfaces/AEEncoder.h 2013-07-31 12:50:47.000000000 +0200
+@@ -64,10 +64,10 @@ public:
+ virtual unsigned int GetBitRate() = 0;
+
+ /**
+- * Returns the CodecID of the encoder
++ * Returns the AVCodecID of the encoder
+ * @return the ffmpeg codec id
+ */
+- virtual CodecID GetCodecID() = 0;
++ virtual AVCodecID GetCodecID() = 0;
+
+ /**
+ * Return the number of frames needed to encode
diff --git a/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDAudio_cpp b/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDAudio_cpp
new file mode 100644
index 000000000..a4702f82c
--- /dev/null
+++ b/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDAudio_cpp
@@ -0,0 +1,11 @@
+--- xbmc-12.2.orig/xbmc/cores/dvdplayer/DVDAudio.cpp 2013-05-03 07:57:41.000000000 +0200
++++ xbmc-12.2/xbmc/cores/dvdplayer/DVDAudio.cpp 2013-07-31 13:31:59.000000000 +0200
+@@ -116,7 +116,7 @@ CDVDAudio::~CDVDAudio()
+ free(m_pBuffer);
+ }
+
+-bool CDVDAudio::Create(const DVDAudioFrame &audioframe, CodecID codec, bool needresampler)
++bool CDVDAudio::Create(const DVDAudioFrame &audioframe, AVCodecID codec, bool needresampler)
+ {
+ CLog::Log(LOGNOTICE,
+ "Creating audio stream (codec id: %i, channels: %i, sample rate: %i, %s)",
diff --git a/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDAudio_h b/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDAudio_h
new file mode 100644
index 000000000..6e1e9e018
--- /dev/null
+++ b/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDAudio_h
@@ -0,0 +1,20 @@
+--- xbmc-12.2.orig/xbmc/cores/dvdplayer/DVDAudio.h 2013-05-03 07:57:41.000000000 +0200
++++ xbmc-12.2/xbmc/cores/dvdplayer/DVDAudio.h 2013-07-31 13:29:46.000000000 +0200
+@@ -31,7 +31,7 @@
+ class IAEStream;
+
+ #ifndef _LINUX
+-enum CodecID;
++enum AVCodecID;
+ #else
+ extern "C" {
+ #if (defined USE_EXTERNAL_FFMPEG)
+@@ -80,7 +80,7 @@ public:
+ float GetCurrentAttenuation();
+ void Pause();
+ void Resume();
+- bool Create(const DVDAudioFrame &audioframe, CodecID codec, bool needresampler);
++ bool Create(const DVDAudioFrame &audioframe, AVCodecID codec, bool needresampler);
+ bool IsValidFormat(const DVDAudioFrame &audioframe);
+ void Destroy();
+ DWORD AddPackets(const DVDAudioFrame &audioframe);
diff --git a/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Audio_DVDAudioCodecFFmpeg_cpp b/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Audio_DVDAudioCodecFFmpeg_cpp
new file mode 100644
index 000000000..7d0f6f63c
--- /dev/null
+++ b/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Audio_DVDAudioCodecFFmpeg_cpp
@@ -0,0 +1,11 @@
+--- xbmc-12.2.orig/xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecFFmpeg.cpp 2013-05-03 07:57:41.000000000 +0200
++++ xbmc-12.2/xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecFFmpeg.cpp 2013-08-01 16:38:47.000000000 +0200
+@@ -26,6 +26,8 @@
+ #include "utils/log.h"
+ #include "settings/GUISettings.h"
+
++#define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000
++
+ CDVDAudioCodecFFmpeg::CDVDAudioCodecFFmpeg() : CDVDAudioCodec()
+ {
+ m_iBufferSize1 = 0;
diff --git a/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Audio_DVDAudioCodecLPcm_h b/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Audio_DVDAudioCodecLPcm_h
new file mode 100644
index 000000000..f33663dd0
--- /dev/null
+++ b/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Audio_DVDAudioCodecLPcm_h
@@ -0,0 +1,17 @@
+--- xbmc-12.2.orig/xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecLPcm.h 2013-05-03 07:57:41.000000000 +0200
++++ xbmc-12.2/xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecLPcm.h 2013-08-01 16:40:52.000000000 +0200
+@@ -24,6 +24,7 @@
+ #include "DVDCodecs/DVDCodecs.h"
+ #include "DVDAudioCodecPcm.h"
+
++#define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000
+ #define LPCM_BUFFER_SIZE (AVCODEC_MAX_AUDIO_FRAME_SIZE / 2)
+
+ class CDVDAudioCodecLPcm : public CDVDAudioCodecPcm
+@@ -40,5 +41,5 @@ protected:
+ int m_bufferSize;
+ BYTE m_buffer[LPCM_BUFFER_SIZE];
+
+- CodecID m_codecID;
++ AVCodecID m_codecID;
+ };
diff --git a/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Audio_DVDAudioCodecPassthroughFFmpeg_h b/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Audio_DVDAudioCodecPassthroughFFmpeg_h
new file mode 100644
index 000000000..1399c9b6f
--- /dev/null
+++ b/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Audio_DVDAudioCodecPassthroughFFmpeg_h
@@ -0,0 +1,20 @@
+--- xbmc-12.2.orig/xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecPassthroughFFmpeg.h 2013-05-03 07:57:41.000000000 +0200
++++ xbmc-12.2/xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecPassthroughFFmpeg.h 2013-08-01 16:41:17.000000000 +0200
+@@ -28,6 +28,8 @@
+
+ #include "DVDAudioCodec.h"
+
++#define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000
++
+ class CDVDAudioCodecPassthroughFFmpeg : public CDVDAudioCodec
+ {
+ public:
+@@ -94,7 +96,7 @@ private:
+ unsigned int m_Needed;
+ bool m_LostSync;
+ int m_SampleRate;
+- CodecID m_codec;
++ AVCodecID m_codec;
+
+ unsigned int (CDVDAudioCodecPassthroughFFmpeg::*m_pSyncFrame)(BYTE* pData, unsigned int iSize, unsigned int *fSize);
+ unsigned int SyncAC3(BYTE* pData, unsigned int iSize, unsigned int *fSize);
diff --git a/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Audio_DVDAudioCodecPcm_cpp b/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Audio_DVDAudioCodecPcm_cpp
new file mode 100644
index 000000000..b89e92b69
--- /dev/null
+++ b/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Audio_DVDAudioCodecPcm_cpp
@@ -0,0 +1,11 @@
+--- xbmc-12.2.orig/xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecPcm.cpp 2013-05-03 07:57:41.000000000 +0200
++++ xbmc-12.2/xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecPcm.cpp 2013-08-01 16:40:23.000000000 +0200
+@@ -22,6 +22,8 @@
+ #include "DVDStreamInfo.h"
+ #include "DVDCodecs/DVDCodecs.h"
+
++#define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000
++
+ /* from g711.c by SUN microsystems (unrestricted use) */
+ #define SIGN_BIT (0x80) /* Sign bit for a A-law byte. */
+ #define QUANT_MASK (0xf) /* Quantization field mask. */
diff --git a/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Audio_DVDAudioCodecPcm_h b/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Audio_DVDAudioCodecPcm_h
new file mode 100644
index 000000000..ea08c992b
--- /dev/null
+++ b/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Audio_DVDAudioCodecPcm_h
@@ -0,0 +1,11 @@
+--- xbmc-12.2.orig/xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecPcm.h 2013-05-03 07:57:41.000000000 +0200
++++ xbmc-12.2/xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecPcm.h 2013-07-31 13:30:38.000000000 +0200
+@@ -44,7 +44,7 @@ protected:
+ short m_decodedData[131072]; // could be a bit to big
+ int m_decodedDataSize;
+
+- CodecID m_codecID;
++ AVCodecID m_codecID;
+ int m_iSourceSampleRate;
+ int m_iSourceChannels;
+ int m_iSourceBitrate;
diff --git a/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_DVDCodecs_h b/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_DVDCodecs_h
new file mode 100644
index 000000000..6fc61ac63
--- /dev/null
+++ b/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_DVDCodecs_h
@@ -0,0 +1,11 @@
+--- xbmc-12.2.orig/xbmc/cores/dvdplayer/DVDCodecs/DVDCodecs.h 2013-05-03 07:57:41.000000000 +0200
++++ xbmc-12.2/xbmc/cores/dvdplayer/DVDCodecs/DVDCodecs.h 2013-07-31 13:30:54.000000000 +0200
+@@ -23,7 +23,7 @@
+ #if (defined HAVE_CONFIG_H) && (!defined WIN32)
+ #include "config.h"
+ #endif
+-// enum CodecID
++// enum AVCodecID
+
+ #include <string>
+ #include <vector>
diff --git a/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Overlay_DVDOverlayCodecFFmpeg_cpp b/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Overlay_DVDOverlayCodecFFmpeg_cpp
new file mode 100644
index 000000000..6f890a386
--- /dev/null
+++ b/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Overlay_DVDOverlayCodecFFmpeg_cpp
@@ -0,0 +1,11 @@
+--- xbmc-12.2.orig/xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlayCodecFFmpeg.cpp 2013-05-03 07:57:41.000000000 +0200
++++ xbmc-12.2/xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlayCodecFFmpeg.cpp 2013-08-01 17:02:17.000000000 +0200
+@@ -60,7 +60,7 @@ bool CDVDOverlayCodecFFmpeg::Open(CDVDSt
+ m_pCodecContext->debug_mv = 0;
+ m_pCodecContext->debug = 0;
+ m_pCodecContext->workaround_bugs = FF_BUG_AUTODETECT;
+- m_pCodecContext->sub_id = hints.identifier;
++ //m_pCodecContext->sub_id = hints.identifier;
+ m_pCodecContext->codec_tag = hints.codec_tag;
+ m_pCodecContext->time_base.num = 1;
+ m_pCodecContext->time_base.den = DVD_TIME_BASE;
diff --git a/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Video_DVDVideoCodecFFmpeg_cpp b/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Video_DVDVideoCodecFFmpeg_cpp
new file mode 100644
index 000000000..70565968f
--- /dev/null
+++ b/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Video_DVDVideoCodecFFmpeg_cpp
@@ -0,0 +1,28 @@
+--- xbmc-12.2.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp 2013-05-03 07:57:41.000000000 +0200
++++ xbmc-12.2/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp 2013-08-01 17:31:00.000000000 +0200
+@@ -273,7 +273,7 @@ bool CDVDVideoCodecFFmpeg::Open(CDVDStre
+ }
+
+ // set acceleration
+- m_pCodecContext->dsp_mask = 0;//FF_MM_FORCE | FF_MM_MMX | FF_MM_MMXEXT | FF_MM_SSE;
++ //m_pCodecContext->dsp_mask = 0;//FF_MM_FORCE | FF_MM_MMX | FF_MM_MMXEXT | FF_MM_SSE;
+
+ // advanced setting override for skip loop filter (see avcodec.h for valid options)
+ // TODO: allow per video setting?
+@@ -799,14 +799,14 @@ int CDVDVideoCodecFFmpeg::FilterProcess(
+ #if LIBAVFILTER_VERSION_INT < AV_VERSION_INT(3,0,0)
+ result = m_dllAvFilter.av_vsrc_buffer_add_frame(m_pFilterIn, frame, 0);
+ #else
+- result = m_dllAvFilter.av_buffersrc_add_frame(m_pFilterIn, frame, 0);
++ result = m_dllAvFilter.av_buffersrc_add_frame_flags(m_pFilterIn, frame, 0);
+ #endif
+ if (result < 0)
+ {
+ #if LIBAVFILTER_VERSION_INT < AV_VERSION_INT(3,0,0)
+ CLog::Log(LOGERROR, "CDVDVideoCodecFFmpeg::FilterProcess - av_vsrc_buffer_add_frame");
+ #else
+- CLog::Log(LOGERROR, "CDVDVideoCodecFFmpeg::FilterProcess - av_buffersrc_add_frame");
++ CLog::Log(LOGERROR, "CDVDVideoCodecFFmpeg::FilterProcess - av_buffersrc_add_frame_flags");
+ #endif
+ return VC_ERROR;
+ }
diff --git a/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDDemuxers_DVDDemuxFFmpeg_cpp b/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDDemuxers_DVDDemuxFFmpeg_cpp
new file mode 100644
index 000000000..c74b05e6a
--- /dev/null
+++ b/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDDemuxers_DVDDemuxFFmpeg_cpp
@@ -0,0 +1,11 @@
+--- xbmc-12.2.orig/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp 2013-05-03 07:57:41.000000000 +0200
++++ xbmc-12.2/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp 2013-08-01 17:35:11.000000000 +0200
+@@ -1043,7 +1043,7 @@ void CDVDDemuxFFmpeg::AddStream(int iId)
+ {
+ CDemuxStreamSubtitleFFmpeg* st = new CDemuxStreamSubtitleFFmpeg(this, pStream);
+ m_streams[iId] = st;
+- st->identifier = pStream->codec->sub_id;
++ //st->identifier = pStream->codec->sub_id;
+
+ if(m_dllAvUtil.av_dict_get(pStream->metadata, "title", NULL, 0))
+ st->m_description = m_dllAvUtil.av_dict_get(pStream->metadata, "title", NULL, 0)->value;
diff --git a/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDDemuxers_DVDDemuxPVRClient_cpp b/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDDemuxers_DVDDemuxPVRClient_cpp
new file mode 100644
index 000000000..735872732
--- /dev/null
+++ b/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDDemuxers_DVDDemuxPVRClient_cpp
@@ -0,0 +1,47 @@
+--- xbmc-12.2.orig/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxPVRClient.cpp 2013-05-03 07:57:41.000000000 +0200
++++ xbmc-12.2/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxPVRClient.cpp 2013-08-01 16:48:30.000000000 +0200
+@@ -349,7 +349,7 @@ void CDVDDemuxPVRClient::RequestStreams(
+ {
+ st = dynamic_cast<CDemuxStreamAudioPVRClient*>(stm);
+ if (!st
+- || (st->codec != (CodecID)props.stream[i].iCodecId)
++ || (st->codec != (AVCodecID)props.stream[i].iCodecId)
+ || (st->iChannels != props.stream[i].iChannels))
+ DisposeStream(i);
+ }
+@@ -375,7 +375,7 @@ void CDVDDemuxPVRClient::RequestStreams(
+ {
+ st = dynamic_cast<CDemuxStreamVideoPVRClient*>(stm);
+ if (!st
+- || (st->codec != (CodecID)props.stream[i].iCodecId)
++ || (st->codec != (AVCodecID)props.stream[i].iCodecId)
+ || (st->iWidth != props.stream[i].iWidth)
+ || (st->iHeight != props.stream[i].iHeight))
+ DisposeStream(i);
+@@ -399,7 +399,7 @@ void CDVDDemuxPVRClient::RequestStreams(
+ {
+ if (stm)
+ {
+- if (stm->codec != (CodecID)props.stream[i].iCodecId)
++ if (stm->codec != (AVCodecID)props.stream[i].iCodecId)
+ DisposeStream(i);
+ }
+ if (!m_streams[i])
+@@ -411,7 +411,7 @@ void CDVDDemuxPVRClient::RequestStreams(
+ if (stm)
+ {
+ st = dynamic_cast<CDemuxStreamSubtitlePVRClient*>(stm);
+- if (!st || (st->codec != (CodecID)props.stream[i].iCodecId))
++ if (!st || (st->codec != (AVCodecID)props.stream[i].iCodecId))
+ DisposeStream(i);
+ }
+ if (!m_streams[i])
+@@ -428,7 +428,7 @@ void CDVDDemuxPVRClient::RequestStreams(
+ m_streams[i] = new CDemuxStream();
+ }
+
+- m_streams[i]->codec = (CodecID)props.stream[i].iCodecId;
++ m_streams[i]->codec = (AVCodecID)props.stream[i].iCodecId;
+ m_streams[i]->iId = i;
+ m_streams[i]->iPhysicalId = props.stream[i].iPhysicalId;
+ m_streams[i]->language[0] = props.stream[i].strLanguage[0];
diff --git a/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDDemuxers_DVDDemux_h b/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDDemuxers_DVDDemux_h
new file mode 100644
index 000000000..cb849c5db
--- /dev/null
+++ b/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDDemuxers_DVDDemux_h
@@ -0,0 +1,29 @@
+--- xbmc-12.2.orig/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemux.h 2013-05-03 07:57:41.000000000 +0200
++++ xbmc-12.2/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemux.h 2013-07-31 13:31:34.000000000 +0200
+@@ -35,7 +35,7 @@ class CDVDInputStream;
+ #include "config.h"
+ #endif
+ #ifndef _LINUX
+-enum CodecID;
++enum AVCodecID;
+ #include <libavcodec/avcodec.h>
+ #else
+ extern "C" {
+@@ -88,7 +88,7 @@ public:
+ {
+ iId = 0;
+ iPhysicalId = 0;
+- codec = (CodecID)0; // CODEC_ID_NONE
++ codec = (AVCodecID)0; // CODEC_ID_NONE
+ codec_fourcc = 0;
+ profile = FF_PROFILE_UNKNOWN;
+ level = 0;
+@@ -118,7 +118,7 @@ public:
+
+ int iId; // most of the time starting from 0
+ int iPhysicalId; // id
+- CodecID codec;
++ AVCodecID codec;
+ unsigned int codec_fourcc; // if available
+ int profile; // encoder profile of the stream reported by the decoder. used to qualify hw decoders.
+ int level; // encoder level of the stream reported by the decoder. used to qualify hw decoders.
diff --git a/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDPlayerAudio_h b/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDPlayerAudio_h
new file mode 100644
index 000000000..c426d5c72
--- /dev/null
+++ b/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDPlayerAudio_h
@@ -0,0 +1,11 @@
+--- xbmc-12.2.orig/xbmc/cores/dvdplayer/DVDPlayerAudio.h 2013-05-03 07:57:41.000000000 +0200
++++ xbmc-12.2/xbmc/cores/dvdplayer/DVDPlayerAudio.h 2013-07-31 13:31:10.000000000 +0200
+@@ -38,7 +38,7 @@ class CDVDAudioCodec;
+ class IAudioCallback;
+ class CDVDAudioCodec;
+
+-enum CodecID;
++enum AVCodecID;
+
+ #define DECODE_FLAG_DROP 1
+ #define DECODE_FLAG_RESYNC 2
diff --git a/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDPlayerVideo_h b/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDPlayerVideo_h
new file mode 100644
index 000000000..685535f93
--- /dev/null
+++ b/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDPlayerVideo_h
@@ -0,0 +1,11 @@
+--- xbmc-12.2.orig/xbmc/cores/dvdplayer/DVDPlayerVideo.h 2013-05-03 07:57:41.000000000 +0200
++++ xbmc-12.2/xbmc/cores/dvdplayer/DVDPlayerVideo.h 2013-07-31 13:27:19.000000000 +0200
+@@ -31,7 +31,7 @@
+ #include "cores/VideoRenderers/RenderManager.h"
+ #endif
+
+-enum CodecID;
++enum AVCodecID;
+ class CDemuxStreamVideo;
+ class CDVDOverlayCodecCC;
+
diff --git a/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDStreamInfo_h b/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDStreamInfo_h
new file mode 100644
index 000000000..f1e08e7fc
--- /dev/null
+++ b/package/xbmc/patches/patch-xbmc_cores_dvdplayer_DVDStreamInfo_h
@@ -0,0 +1,20 @@
+--- xbmc-12.2.orig/xbmc/cores/dvdplayer/DVDStreamInfo.h 2013-05-03 07:57:41.000000000 +0200
++++ xbmc-12.2/xbmc/cores/dvdplayer/DVDStreamInfo.h 2013-07-31 13:29:19.000000000 +0200
+@@ -25,7 +25,7 @@
+ #endif
+ #ifndef _LINUX
+ enum StreamType;
+-enum CodecID;
++enum AVCodecID;
+ #else
+ #include "DVDDemuxers/DVDDemux.h"
+ extern "C" {
+@@ -59,7 +59,7 @@ public:
+ void Assign(const CDVDStreamInfo &right, bool withextradata);
+ void Assign(const CDemuxStream &right, bool withextradata);
+
+- CodecID codec;
++ AVCodecID codec;
+ StreamType type;
+ bool software; //force software decoding
+
diff --git a/package/xbmc/patches/patch-xbmc_cores_omxplayer_OMXAudioCodecOMX_cpp b/package/xbmc/patches/patch-xbmc_cores_omxplayer_OMXAudioCodecOMX_cpp
new file mode 100644
index 000000000..e5238a67c
--- /dev/null
+++ b/package/xbmc/patches/patch-xbmc_cores_omxplayer_OMXAudioCodecOMX_cpp
@@ -0,0 +1,10 @@
+--- xbmc-12.2.orig/xbmc/cores/omxplayer/OMXAudioCodecOMX.cpp 2013-05-03 07:57:41.000000000 +0200
++++ xbmc-12.2/xbmc/cores/omxplayer/OMXAudioCodecOMX.cpp 2013-08-01 11:16:43.000000000 +0200
+@@ -26,6 +26,7 @@
+
+ #include "cores/AudioEngine/Utils/AEUtil.h"
+
++#define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000
+ #define MAX_AUDIO_FRAME_SIZE (AVCODEC_MAX_AUDIO_FRAME_SIZE*2)
+
+ template <class AudioDataType>
diff --git a/package/xbmc/patches/patch-xbmc_cores_omxplayer_OMXAudio_cpp b/package/xbmc/patches/patch-xbmc_cores_omxplayer_OMXAudio_cpp
new file mode 100644
index 000000000..5fa0096d1
--- /dev/null
+++ b/package/xbmc/patches/patch-xbmc_cores_omxplayer_OMXAudio_cpp
@@ -0,0 +1,11 @@
+--- xbmc-12.2.orig/xbmc/cores/omxplayer/OMXAudio.cpp 2013-05-03 07:57:41.000000000 +0200
++++ xbmc-12.2/xbmc/cores/omxplayer/OMXAudio.cpp 2013-07-31 13:42:40.000000000 +0200
+@@ -1225,7 +1225,7 @@ void COMXAudio::SetCodingType(AEDataForm
+ }
+ }
+
+-bool COMXAudio::CanHWDecode(CodecID codec)
++bool COMXAudio::CanHWDecode(AVCodecID codec)
+ {
+ bool ret = false;
+ switch(codec)
diff --git a/package/xbmc/patches/patch-xbmc_cores_omxplayer_OMXAudio_h b/package/xbmc/patches/patch-xbmc_cores_omxplayer_OMXAudio_h
new file mode 100644
index 000000000..9f59c81cf
--- /dev/null
+++ b/package/xbmc/patches/patch-xbmc_cores_omxplayer_OMXAudio_h
@@ -0,0 +1,11 @@
+--- xbmc-12.2.orig/xbmc/cores/omxplayer/OMXAudio.h 2013-05-03 07:57:41.000000000 +0200
++++ xbmc-12.2/xbmc/cores/omxplayer/OMXAudio.h 2013-07-31 13:21:40.000000000 +0200
+@@ -85,7 +85,7 @@ public:
+ void Process();
+
+ void SetCodingType(AEDataFormat dataFormat);
+- static bool CanHWDecode(CodecID codec);
++ static bool CanHWDecode(AVCodecID codec);
+
+ void PrintChannels(OMX_AUDIO_CHANNELTYPE eChannelMapping[]);
+ void PrintPCM(OMX_AUDIO_PARAM_PCMMODETYPE *pcm, std::string direction);
diff --git a/package/xbmc/patches/patch-xbmc_cores_omxplayer_OMXVideo_cpp b/package/xbmc/patches/patch-xbmc_cores_omxplayer_OMXVideo_cpp
new file mode 100644
index 000000000..8aa00f6b6
--- /dev/null
+++ b/package/xbmc/patches/patch-xbmc_cores_omxplayer_OMXVideo_cpp
@@ -0,0 +1,11 @@
+--- xbmc-12.2.orig/xbmc/cores/omxplayer/OMXVideo.cpp 2013-05-03 07:57:41.000000000 +0200
++++ xbmc-12.2/xbmc/cores/omxplayer/OMXVideo.cpp 2013-07-31 13:32:13.000000000 +0200
+@@ -131,7 +131,7 @@ bool COMXVideo::SendDecoderConfig()
+ return true;
+ }
+
+-bool COMXVideo::NaluFormatStartCodes(enum CodecID codec, uint8_t *in_extradata, int in_extrasize)
++bool COMXVideo::NaluFormatStartCodes(enum AVCodecID codec, uint8_t *in_extradata, int in_extrasize)
+ {
+ switch(codec)
+ {
diff --git a/package/xbmc/patches/patch-xbmc_cores_omxplayer_OMXVideo_h b/package/xbmc/patches/patch-xbmc_cores_omxplayer_OMXVideo_h
new file mode 100644
index 000000000..270a4fe5a
--- /dev/null
+++ b/package/xbmc/patches/patch-xbmc_cores_omxplayer_OMXVideo_h
@@ -0,0 +1,11 @@
+--- xbmc-12.2.orig/xbmc/cores/omxplayer/OMXVideo.h 2013-05-03 07:57:41.000000000 +0200
++++ xbmc-12.2/xbmc/cores/omxplayer/OMXVideo.h 2013-07-31 13:17:20.000000000 +0200
+@@ -98,7 +98,7 @@ protected:
+ ResolutionUpdateCallBackFn m_res_callback;
+ void *m_res_ctx;
+ bool m_submitted_eos;
+- bool NaluFormatStartCodes(enum CodecID codec, uint8_t *in_extradata, int in_extrasize);
++ bool NaluFormatStartCodes(enum AVCodecID codec, uint8_t *in_extradata, int in_extrasize);
+ };
+
+ #endif
diff --git a/package/xbmc/patches/patch-xbmc_utils_BitstreamConverter_cpp b/package/xbmc/patches/patch-xbmc_utils_BitstreamConverter_cpp
new file mode 100644
index 000000000..64d7e0179
--- /dev/null
+++ b/package/xbmc/patches/patch-xbmc_utils_BitstreamConverter_cpp
@@ -0,0 +1,11 @@
+--- xbmc-12.2.orig/xbmc/utils/BitstreamConverter.cpp 2013-05-03 07:57:41.000000000 +0200
++++ xbmc-12.2/xbmc/utils/BitstreamConverter.cpp 2013-07-31 13:28:28.000000000 +0200
+@@ -431,7 +431,7 @@ CBitstreamConverter::~CBitstreamConverte
+ Close();
+ }
+
+-bool CBitstreamConverter::Open(enum CodecID codec, uint8_t *in_extradata, int in_extrasize, bool to_annexb)
++bool CBitstreamConverter::Open(enum AVCodecID codec, uint8_t *in_extradata, int in_extrasize, bool to_annexb)
+ {
+ m_to_annexb = to_annexb;
+
diff --git a/package/xbmc/patches/patch-xbmc_utils_BitstreamConverter_h b/package/xbmc/patches/patch-xbmc_utils_BitstreamConverter_h
new file mode 100644
index 000000000..1712372fb
--- /dev/null
+++ b/package/xbmc/patches/patch-xbmc_utils_BitstreamConverter_h
@@ -0,0 +1,20 @@
+--- xbmc-12.2.orig/xbmc/utils/BitstreamConverter.h 2013-05-03 07:57:41.000000000 +0200
++++ xbmc-12.2/xbmc/utils/BitstreamConverter.h 2013-07-31 13:28:52.000000000 +0200
+@@ -114,7 +114,7 @@ public:
+ static void skip_bits( bits_reader_t *br, int nbits );
+ static uint32_t get_bits( bits_reader_t *br, int nbits );
+
+- bool Open(enum CodecID codec, uint8_t *in_extradata, int in_extrasize, bool to_annexb);
++ bool Open(enum AVCodecID codec, uint8_t *in_extradata, int in_extrasize, bool to_annexb);
+ void Close(void);
+ bool NeedConvert(void) { return m_convert_bitstream; };
+ bool Convert(uint8_t *pData, int iSize);
+@@ -163,7 +163,7 @@ protected:
+ bool m_convert_bytestream;
+ DllAvUtil *m_dllAvUtil;
+ DllAvFormat *m_dllAvFormat;
+- CodecID m_codec;
++ AVCodecID m_codec;
+ };
+
+ #endif
diff --git a/package/xbmc/patches/patch-xbmc_utils_EndianSwap_h b/package/xbmc/patches/patch-xbmc_utils_EndianSwap_h
new file mode 100644
index 000000000..196771daa
--- /dev/null
+++ b/package/xbmc/patches/patch-xbmc_utils_EndianSwap_h
@@ -0,0 +1,11 @@
+--- xbmc-12.2.orig/xbmc/utils/EndianSwap.h 2013-05-03 07:57:41.000000000 +0200
++++ xbmc-12.2/xbmc/utils/EndianSwap.h 2013-08-01 14:17:04.000000000 +0200
+@@ -26,7 +26,7 @@
+ /* Include config.h to define (or not) WORDS_BIGENDIAN
+ File created by configure */
+ #if defined(__linux__) || defined(TARGET_DARWIN) || defined(TARGET_FREEBSD)
+-#include "config.h"
++#include "../config.h"
+ #include <inttypes.h>
+ #endif
+ #ifdef _WIN32