summaryrefslogtreecommitdiffstats
path: root/kodi-14.0-hdhomerun.patch
diff options
context:
space:
mode:
Diffstat (limited to 'kodi-14.0-hdhomerun.patch')
-rw-r--r--kodi-14.0-hdhomerun.patch153
1 files changed, 153 insertions, 0 deletions
diff --git a/kodi-14.0-hdhomerun.patch b/kodi-14.0-hdhomerun.patch
new file mode 100644
index 0000000..1bbe13e
--- /dev/null
+++ b/kodi-14.0-hdhomerun.patch
@@ -0,0 +1,153 @@
+From 6c05d16be3bae96479363c2117c28c4261374ab4 Mon Sep 17 00:00:00 2001
+From: Ken Dreyer <ktdreyer@ktdreyer.com>
+Date: Fri, 24 Aug 2012 19:34:47 -0600
+Subject: [PATCH 2/3] Fedora: use external hdhomerun
+
+Original patch by Alex Lancaster <alexlan[AT]fedoraproject org>
+(cherry picked from commit ef5c269992b32d67de7547e9f530b6c971381f45)
+---
+ Makefile.in | 5 +--
+ configure.in | 1 -
+ xbmc/filesystem/DllHDHomeRun.h | 78 ++++++++++++++++++++++++++++--------------
+ 3 files changed, 53 insertions(+), 31 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index 8eda3c4..fbb19bd 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -204,7 +204,6 @@
+ LIB_DIRS=\
+ lib/cximage-6.0 \
+ lib/libexif \
+- lib/libhdhomerun \
+ lib/cpluff \
+ lib/xbmc-dll-symbols
+
+@@ -425,8 +424,6 @@
+ $(MAKE) -C lib/libexif
+ cmyth: dllloader
+ $(MAKE) -C lib/cmyth
+-libhdhomerun: dllloader
+- $(MAKE) -C lib/libhdhomerun
+ papcodecs: dllloader dvdpcodecs
+ test -d system/players/paplayer || mkdir system/players/paplayer
+ $(MAKE) -C lib/vgmstream
+@@ -454,7 +451,7 @@
+
+ codecs: papcodecs dvdpcodecs dvdpextcodecs
+
+-libs: $(LIBSSE4) libhdhomerun imagelib libexif system/libcpluff-@ARCH@.so $(CMYTH)
++libs: $(LIBSSE4) imagelib libexif system/libcpluff-@ARCH@.so $(CMYTH)
+
+ externals: codecs libs visualizations screensavers libaddon pvraddons
+
+diff --git a/configure.in b/configure.in
+index 343292e..2060e24 100644
+--- a/configure.in
++++ b/configure.in
+@@ -2544,7 +2544,6 @@ OUTPUT_FILES="Makefile \
+ lib/libexif/Makefile \
+ lib/libXDAAP/Makefile \
+ lib/cmyth/Makefile \
+- lib/libhdhomerun/Makefile \
+ lib/libsquish/Makefile \
+ lib/cximage-6.0/Makefile \
+ lib/libUPnP/Makefile \
+diff --git a/xbmc/filesystem/DllHDHomeRun.h b/xbmc/filesystem/DllHDHomeRun.h
+index 150b00f..57936be 100644
+--- a/xbmc/filesystem/DllHDHomeRun.h
++++ b/xbmc/filesystem/DllHDHomeRun.h
+@@ -20,7 +20,7 @@
+ */
+
+ #include "DynamicDll.h"
+-#include "lib/libhdhomerun/hdhomerun.h"
++#include <hdhomerun/hdhomerun.h>
+
+ class DllHdHomeRunInterface
+ {
+@@ -41,30 +41,56 @@ public:
+
+ class DllHdHomeRun : public DllDynamic, public DllHdHomeRunInterface
+ {
+- DECLARE_DLL_WRAPPER(DllHdHomeRun, DLL_PATH_LIBHDHOMERUN)
+- DEFINE_METHOD5(int, discover_find_devices_custom, (uint32_t p1, uint32_t p2, uint32_t p3, struct hdhomerun_discover_device_t p4[], int p5))
+- DEFINE_METHOD2(struct hdhomerun_device_t*, device_create_from_str, (const char* p1, struct hdhomerun_debug_t *p2))
+- DEFINE_METHOD1(void, device_destroy, (struct hdhomerun_device_t* p1))
+- DEFINE_METHOD1(int, device_stream_start, (struct hdhomerun_device_t* p1))
+- DEFINE_METHOD3(uint8_t*, device_stream_recv, (struct hdhomerun_device_t* p1, size_t p2, size_t* p3))
+- DEFINE_METHOD1(void, device_stream_stop, (struct hdhomerun_device_t* p1))
+- DEFINE_METHOD2(int, device_set_tuner_channel, (struct hdhomerun_device_t *p1, const char *p2))
+- DEFINE_METHOD2(int, device_set_tuner_program, (struct hdhomerun_device_t *p1, const char *p2))
+- DEFINE_METHOD2(int, device_set_tuner_from_str, (struct hdhomerun_device_t *p1, const char *p2))
+- DEFINE_METHOD2(void, device_set_tuner, (struct hdhomerun_device_t *p1, unsigned int p2))
+- DEFINE_METHOD3(int, device_get_tuner_status, (struct hdhomerun_device_t *p1, char **p2, struct hdhomerun_tuner_status_t *p3));
+- BEGIN_METHOD_RESOLVE()
+- RESOLVE_METHOD_RENAME(hdhomerun_discover_find_devices_custom, discover_find_devices_custom)
+- RESOLVE_METHOD_RENAME(hdhomerun_device_create_from_str, device_create_from_str)
+- RESOLVE_METHOD_RENAME(hdhomerun_device_destroy, device_destroy)
+- RESOLVE_METHOD_RENAME(hdhomerun_device_stream_start, device_stream_start)
+- RESOLVE_METHOD_RENAME(hdhomerun_device_stream_recv, device_stream_recv)
+- RESOLVE_METHOD_RENAME(hdhomerun_device_stream_stop, device_stream_stop)
+- RESOLVE_METHOD_RENAME(hdhomerun_device_set_tuner_channel, device_set_tuner_channel)
+- RESOLVE_METHOD_RENAME(hdhomerun_device_set_tuner_program, device_set_tuner_program)
+- RESOLVE_METHOD_RENAME(hdhomerun_device_set_tuner_from_str, device_set_tuner_from_str)
+- RESOLVE_METHOD_RENAME(hdhomerun_device_set_tuner, device_set_tuner)
+- RESOLVE_METHOD_RENAME(hdhomerun_device_get_tuner_status, device_get_tuner_status)
+- END_METHOD_RESOLVE()
++public:
++ virtual ~DllHdHomeRun () {};
++
++ virtual int discover_find_devices_custom (uint32_t p1, uint32_t p2, uint32_t p3, struct hdhomerun_discover_device_t p4[], int p5)
++ { return ::hdhomerun_discover_find_devices_custom (p1, p2, p3, p4, p5); }
++
++ virtual struct hdhomerun_device_t *device_create_from_str (const char* p1, struct hdhomerun_debug_t *p2)
++ { return ::hdhomerun_device_create_from_str (p1, p2); }
++
++ virtual void device_destroy (struct hdhomerun_device_t* p1)
++ { ::hdhomerun_device_destroy (p1); }
++
++ virtual int device_stream_start (struct hdhomerun_device_t* p1)
++ { return ::hdhomerun_device_stream_start (p1); }
++
++
++ virtual uint8_t *device_stream_recv (struct hdhomerun_device_t* p1, size_t p2, size_t* p3)
++ {
++ uint8_t *retval;
++
++ size_t tmp = *p3;
++ retval = ::hdhomerun_device_stream_recv (p1, p2, &tmp);
++ *p3 = tmp;
++
++ return retval;
++ }
++
++ virtual void device_stream_stop (struct hdhomerun_device_t* p1)
++ { ::hdhomerun_device_stream_stop (p1); }
++
++ virtual int device_set_tuner_channel (struct hdhomerun_device_t *p1, const char *p2)
++ { return ::hdhomerun_device_set_tuner_channel (p1, p2); }
++
++ virtual int device_set_tuner_program (struct hdhomerun_device_t *p1, const char *p2)
++ { return ::hdhomerun_device_set_tuner_program (p1, p2); }
++
++
++ virtual int device_set_tuner_from_str (struct hdhomerun_device_t *p1, const char *p2)
++ { return ::hdhomerun_device_set_tuner_from_str (p1, p2); }
++
++
++ virtual void device_set_tuner (struct hdhomerun_device_t *p1, unsigned int p2)
++ { ::hdhomerun_device_set_tuner (p1, p2); }
++
++ virtual int device_get_tuner_status (struct hdhomerun_device_t *p1, char **p2, struct hdhomerun_tuner_status_t *p3)
++ { return ::hdhomerun_device_get_tuner_status (p1, p2, p3); }
++
++ // DLL faking.
++ virtual bool ResolveExports() { return true; }
++ virtual bool Load() { return true; }
++ virtual void Unload() {}
+ };
+
+--
+1.8.5.3
+