diff options
Diffstat (limited to 'xbmc-12.2-hdhomerun.patch')
-rw-r--r-- | xbmc-12.2-hdhomerun.patch | 145 |
1 files changed, 145 insertions, 0 deletions
diff --git a/xbmc-12.2-hdhomerun.patch b/xbmc-12.2-hdhomerun.patch new file mode 100644 index 0000000..73cad40 --- /dev/null +++ b/xbmc-12.2-hdhomerun.patch @@ -0,0 +1,145 @@ +commit ef5c269992b32d67de7547e9f530b6c971381f45 +Author: Ken Dreyer <ktdreyer@ktdreyer.com> +Date: Fri Aug 24 19:34:47 2012 -0600 + + Fedora: use external hdhomerun + + Original patch by Alex Lancaster <alexlan[AT]fedoraproject org> + +diff --git a/Makefile.in b/Makefile.in +index 39dc6f9..79877b4 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -179,7 +179,6 @@ endif + LIB_DIRS=\ + lib/cximage-6.0 \ + lib/libexif \ +- lib/libhdhomerun \ + lib/cpluff \ + lib/xbmc-dll-symbols + +@@ -352,8 +351,6 @@ libexif: dllloader + $(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/xbadpcm +@@ -382,7 +379,7 @@ endif + + codecs: papcodecs dvdpcodecs + +-libs: libhdhomerun imagelib libexif system/libcpluff-@ARCH@.so $(CMYTH) ++libs: imagelib libexif system/libcpluff-@ARCH@.so $(CMYTH) + + externals: codecs libs visualizations screensavers libaddon pvraddons + +diff --git a/configure.in b/configure.in +index e922043..b61f0dd 100644 +--- a/configure.in ++++ b/configure.in +@@ -2331,7 +2331,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/addons/script.module.pil/Makefile \ +diff --git a/xbmc/filesystem/DllHDHomeRun.h b/xbmc/filesystem/DllHDHomeRun.h +index 1667fde..48bdae3 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() {} + }; + |