diff options
Diffstat (limited to 'kodi-14.0-hdhomerun.patch')
-rw-r--r-- | kodi-14.0-hdhomerun.patch | 153 |
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 + |