diff --git a/configure.ac b/configure.ac index 7194ea99b..b000cecc2 100644 --- a/configure.ac +++ b/configure.ac @@ -273,20 +273,22 @@ fi if test "$BOXTYPE" = "coolstream"; then -if test -e ${srcdir}/lib/libcoolstream/nevis_ir.h; then +if test -e ${srcdir}/lib/hardware/coolstream/hd1/libcoolstream/nevis_ir.h; then AC_DEFINE(HAVE_COOLSTREAM_NEVIS_IR_H,1,[Define to 1 if you have the header file.]) fi -HWLIB_CFLAGS='-I$(top_srcdir)/lib/libcoolstream -I$(top_srcdir)/src/zapit/include/private' +HWLIB_CFLAGS='-I$(top_srcdir)/lib/hardware/coolstream/hd1/libcoolstream' if test "$BOXMODEL" = "hd2"; then -if test -e ${srcdir}/lib/libcoolstream2/cs_ir_generic.h; then +if test -e ${srcdir}/lib/hardware/coolstream/hd2/libcoolstream/cs_ir_generic.h; then AC_DEFINE(HAVE_COOLSTREAM_CS_IR_GENERIC_H,1,[Define to 1 if you have the header file.]) fi -if test -e ${srcdir}/lib/libcoolstream2/cs_frontpanel.h; then +if test -e ${srcdir}/lib/hardware/coolstream/hd2/libcoolstream/cs_frontpanel.h; then AC_DEFINE(HAVE_COOLSTREAM_CS_FRONTPANEL_H,1,[Define to 1 if you have the header file.]) fi -HWLIB_CFLAGS='-I$(top_srcdir)/lib/libcoolstream2 -I$(top_srcdir)/src/zapit/include/private' +HWLIB_CFLAGS='-I$(top_srcdir)/lib/hardware/coolstream/hd2/libcoolstream' fi +HWLIB_CFLAGS="$HWLIB_CFLAGS "'-I$(top_srcdir)/src/zapit/include/private' +HWLIB_CFLAGS="$HWLIB_CFLAGS "'-I$(top_srcdir)/lib/hardware/coolstream' fi # hack, so that framebuffer.h does not need to be included everywhere... @@ -356,6 +358,7 @@ data/y-web/scripts/Makefile data/y-web/styles/Makefile lib/Makefile lib/connection/Makefile +lib/hardware/coolstream/Makefile lib/jsoncpp/Makefile lib/libconfigfile/Makefile lib/libcoolstream/Makefile diff --git a/lib/Makefile.am b/lib/Makefile.am index 92940156c..63e00773d 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -19,11 +19,6 @@ SUBDIRS += \ endif if BOXTYPE_COOL -if BOXMODEL_CS_HD2 SUBDIRS += \ - libcoolstream2 -else -SUBDIRS += \ - libcoolstream -endif + hardware/coolstream endif diff --git a/lib/hardware/coolstream/Makefile.am b/lib/hardware/coolstream/Makefile.am new file mode 100644 index 000000000..d460837c3 --- /dev/null +++ b/lib/hardware/coolstream/Makefile.am @@ -0,0 +1,12 @@ +noinst_LIBRARIES = libhwcaps.a + +AM_CXXFLAGS = -fno-rtti -fno-exceptions -fno-strict-aliasing + +if BOXMODEL_CS_HD2 +AM_CPPFLAGS = -I$(top_srcdir)/lib/hardware/coolstream/hd2/libcoolstream +else +AM_CPPFLAGS = -I$(top_srcdir)/lib/hardware/coolstream/hd1/libcoolstream +endif + +libhwcaps_a_SOURCES = \ + hardware_caps.cpp diff --git a/lib/hardware/coolstream/hardware_caps.cpp b/lib/hardware/coolstream/hardware_caps.cpp new file mode 100644 index 000000000..216a6dcae --- /dev/null +++ b/lib/hardware/coolstream/hardware_caps.cpp @@ -0,0 +1,72 @@ +/* + * determine the capabilities of the hardware. + * part of libstb-hal + * + * (C) 2010-2012,2016 Stefan Seyfried + * + * License: GPL v2 or later + */ +#include "cs_api.h" +#include +#include +#include "hardware_caps.h" + +static int initialized = 0; +static hw_caps_t caps; + +hw_caps_t *get_hwcaps(void) { + if (initialized) + return ∩︀ + int rev = cs_get_revision(); + caps.has_fan = (rev < 8); + caps.has_HDMI = 1; + caps.has_SCART = (rev != 10); + caps.has_SCART_input = 0; + caps.has_YUV_cinch = 1; + caps.can_shutdown = (rev > 7); + caps.can_cec = 1; + caps.display_type = HW_DISPLAY_LINE_TEXT; + caps.display_xres = 12; + caps.display_yres = 0; + caps.can_set_display_brightness = 1; + caps.can_ar_14_9 = 1; + caps.can_ps_14_9 = 1; + caps.force_tuner_2G = 0; + strcpy(caps.boxvendor, "Coolstream"); + /* list of boxnames from neutrinoyparser.cpp */ + strcpy(caps.boxarch, "Nevis"); + switch (rev) { + case 6: + case 7: // Black Stallion Edition + strcpy(caps.boxname, "HD1"); + caps.force_tuner_2G = 1; + break; + case 8: + strcpy(caps.boxname, "Neo"); + caps.force_tuner_2G = 1; + break; + case 9: + strcpy(caps.boxname, "Tank"); + strcpy(caps.boxarch, "Apollo"); + break; + case 10: + strcpy(caps.boxname, "Zee"); + caps.force_tuner_2G = 1; + break; + case 11: + strcpy(caps.boxname, "Trinity"); + strcpy(caps.boxarch, "Shiner"); + break; + case 12: + strcpy(caps.boxname, "Zee2"); + strcpy(caps.boxarch, "Kronos"); + break; + default: + strcpy(caps.boxname, "UNKNOWN_BOX"); + strcpy(caps.boxarch, "Unknown"); + fprintf(stderr, "[%s] unhandled box revision %d\n", __func__, rev); + } + initialized = 1; + return ∩︀ +} + diff --git a/lib/libcoolstream/hardware_caps.h b/lib/hardware/coolstream/hardware_caps.h similarity index 74% rename from lib/libcoolstream/hardware_caps.h rename to lib/hardware/coolstream/hardware_caps.h index 8846db8ab..aaea1334e 100644 --- a/lib/libcoolstream/hardware_caps.h +++ b/lib/hardware/coolstream/hardware_caps.h @@ -3,18 +3,14 @@ * part of libstb-hal * * (C) 2010-2012,2016 Stefan Seyfried - * (C) 2016 M. Liebmann * * License: GPL v2 or later */ #ifndef __HARDWARE_CAPS_H__ #define __HARDWARE_CAPS_H__ -#include "cs_api.h" -#include -#include - -typedef enum { +typedef enum +{ HW_DISPLAY_NONE, HW_DISPLAY_LED_NUM, /* simple 7 segment LED display */ HW_DISPLAY_LINE_TEXT, /* 1 line text display */ @@ -22,7 +18,8 @@ typedef enum { } display_type_t; -typedef struct hw_caps { +typedef struct hw_caps +{ int has_fan; int has_HDMI; int has_SCART; @@ -30,6 +27,9 @@ typedef struct hw_caps { int has_YUV_cinch; int can_shutdown; int can_cec; + int can_ar_14_9; /* video drivers have 14:9 aspect ratio mode */ + int can_ps_14_9; /* video drivers have 14:9 panscan mode */ + int force_tuner_2G; /* force DVB-S2 even though driver may not advertise it */ display_type_t display_type; int display_xres; /* x resolution or chars per line */ int display_yres; @@ -37,10 +37,7 @@ typedef struct hw_caps { char boxvendor[64]; char boxname[64]; char boxarch[64]; - char chipset[64]; - char frontend[64]; } hw_caps_t; -std::string getTuner(); hw_caps_t *get_hwcaps(void); #endif diff --git a/lib/libcoolstream/audio_cs.h b/lib/hardware/coolstream/hd1/libcoolstream/audio_cs.h similarity index 100% rename from lib/libcoolstream/audio_cs.h rename to lib/hardware/coolstream/hd1/libcoolstream/audio_cs.h diff --git a/lib/libcoolstream/ca_cs.h b/lib/hardware/coolstream/hd1/libcoolstream/ca_cs.h similarity index 100% rename from lib/libcoolstream/ca_cs.h rename to lib/hardware/coolstream/hd1/libcoolstream/ca_cs.h diff --git a/lib/libcoolstream/cnxtfb.h b/lib/hardware/coolstream/hd1/libcoolstream/cnxtfb.h similarity index 100% rename from lib/libcoolstream/cnxtfb.h rename to lib/hardware/coolstream/hd1/libcoolstream/cnxtfb.h diff --git a/lib/libcoolstream/control.h b/lib/hardware/coolstream/hd1/libcoolstream/control.h similarity index 100% rename from lib/libcoolstream/control.h rename to lib/hardware/coolstream/hd1/libcoolstream/control.h diff --git a/lib/libcoolstream/cs_api.h b/lib/hardware/coolstream/hd1/libcoolstream/cs_api.h similarity index 100% rename from lib/libcoolstream/cs_api.h rename to lib/hardware/coolstream/hd1/libcoolstream/cs_api.h diff --git a/lib/libcoolstream/cs_frontpanel.h b/lib/hardware/coolstream/hd1/libcoolstream/cs_frontpanel.h similarity index 100% rename from lib/libcoolstream/cs_frontpanel.h rename to lib/hardware/coolstream/hd1/libcoolstream/cs_frontpanel.h diff --git a/lib/libcoolstream/cs_types.h b/lib/hardware/coolstream/hd1/libcoolstream/cs_types.h similarity index 100% rename from lib/libcoolstream/cs_types.h rename to lib/hardware/coolstream/hd1/libcoolstream/cs_types.h diff --git a/lib/libcoolstream/cs_vfd.h b/lib/hardware/coolstream/hd1/libcoolstream/cs_vfd.h old mode 100755 new mode 100644 similarity index 100% rename from lib/libcoolstream/cs_vfd.h rename to lib/hardware/coolstream/hd1/libcoolstream/cs_vfd.h diff --git a/lib/libcoolstream/dmx_cs.h b/lib/hardware/coolstream/hd1/libcoolstream/dmx_cs.h similarity index 100% rename from lib/libcoolstream/dmx_cs.h rename to lib/hardware/coolstream/hd1/libcoolstream/dmx_cs.h diff --git a/lib/libcoolstream/mmi.h b/lib/hardware/coolstream/hd1/libcoolstream/mmi.h similarity index 100% rename from lib/libcoolstream/mmi.h rename to lib/hardware/coolstream/hd1/libcoolstream/mmi.h diff --git a/lib/libcoolstream/nevis_ir.h b/lib/hardware/coolstream/hd1/libcoolstream/nevis_ir.h similarity index 100% rename from lib/libcoolstream/nevis_ir.h rename to lib/hardware/coolstream/hd1/libcoolstream/nevis_ir.h diff --git a/lib/libcoolstream/playback.h b/lib/hardware/coolstream/hd1/libcoolstream/playback.h similarity index 100% rename from lib/libcoolstream/playback.h rename to lib/hardware/coolstream/hd1/libcoolstream/playback.h diff --git a/lib/libcoolstream/playback_cs.h b/lib/hardware/coolstream/hd1/libcoolstream/playback_cs.h similarity index 100% rename from lib/libcoolstream/playback_cs.h rename to lib/hardware/coolstream/hd1/libcoolstream/playback_cs.h diff --git a/lib/libcoolstream/pwrmngr.h b/lib/hardware/coolstream/hd1/libcoolstream/pwrmngr.h similarity index 100% rename from lib/libcoolstream/pwrmngr.h rename to lib/hardware/coolstream/hd1/libcoolstream/pwrmngr.h diff --git a/lib/libcoolstream/record_cs.h b/lib/hardware/coolstream/hd1/libcoolstream/record_cs.h similarity index 100% rename from lib/libcoolstream/record_cs.h rename to lib/hardware/coolstream/hd1/libcoolstream/record_cs.h diff --git a/lib/libcoolstream/tsrouter.h b/lib/hardware/coolstream/hd1/libcoolstream/tsrouter.h similarity index 100% rename from lib/libcoolstream/tsrouter.h rename to lib/hardware/coolstream/hd1/libcoolstream/tsrouter.h diff --git a/lib/libcoolstream/video_cs.h b/lib/hardware/coolstream/hd1/libcoolstream/video_cs.h similarity index 100% rename from lib/libcoolstream/video_cs.h rename to lib/hardware/coolstream/hd1/libcoolstream/video_cs.h diff --git a/lib/libcoolstream2/audio_cs.h b/lib/hardware/coolstream/hd2/libcoolstream/audio_cs.h similarity index 100% rename from lib/libcoolstream2/audio_cs.h rename to lib/hardware/coolstream/hd2/libcoolstream/audio_cs.h diff --git a/lib/libcoolstream2/ca_cs.h b/lib/hardware/coolstream/hd2/libcoolstream/ca_cs.h similarity index 100% rename from lib/libcoolstream2/ca_cs.h rename to lib/hardware/coolstream/hd2/libcoolstream/ca_cs.h diff --git a/lib/libcoolstream2/cnxtfb.h b/lib/hardware/coolstream/hd2/libcoolstream/cnxtfb.h similarity index 100% rename from lib/libcoolstream2/cnxtfb.h rename to lib/hardware/coolstream/hd2/libcoolstream/cnxtfb.h diff --git a/lib/libcoolstream2/control.h b/lib/hardware/coolstream/hd2/libcoolstream/control.h similarity index 100% rename from lib/libcoolstream2/control.h rename to lib/hardware/coolstream/hd2/libcoolstream/control.h diff --git a/lib/libcoolstream2/cs_api.h b/lib/hardware/coolstream/hd2/libcoolstream/cs_api.h similarity index 100% rename from lib/libcoolstream2/cs_api.h rename to lib/hardware/coolstream/hd2/libcoolstream/cs_api.h diff --git a/lib/libcoolstream2/cs_frontpanel.h b/lib/hardware/coolstream/hd2/libcoolstream/cs_frontpanel.h similarity index 100% rename from lib/libcoolstream2/cs_frontpanel.h rename to lib/hardware/coolstream/hd2/libcoolstream/cs_frontpanel.h diff --git a/lib/libcoolstream2/cs_ir_generic.h b/lib/hardware/coolstream/hd2/libcoolstream/cs_ir_generic.h similarity index 100% rename from lib/libcoolstream2/cs_ir_generic.h rename to lib/hardware/coolstream/hd2/libcoolstream/cs_ir_generic.h diff --git a/lib/libcoolstream2/cs_types.h b/lib/hardware/coolstream/hd2/libcoolstream/cs_types.h similarity index 100% rename from lib/libcoolstream2/cs_types.h rename to lib/hardware/coolstream/hd2/libcoolstream/cs_types.h diff --git a/lib/libcoolstream2/cs_vfd.h b/lib/hardware/coolstream/hd2/libcoolstream/cs_vfd.h old mode 100755 new mode 100644 similarity index 100% rename from lib/libcoolstream2/cs_vfd.h rename to lib/hardware/coolstream/hd2/libcoolstream/cs_vfd.h diff --git a/lib/libcoolstream2/dmx_cs.h b/lib/hardware/coolstream/hd2/libcoolstream/dmx_cs.h similarity index 100% rename from lib/libcoolstream2/dmx_cs.h rename to lib/hardware/coolstream/hd2/libcoolstream/dmx_cs.h diff --git a/lib/libcoolstream2/mmi.h b/lib/hardware/coolstream/hd2/libcoolstream/mmi.h similarity index 100% rename from lib/libcoolstream2/mmi.h rename to lib/hardware/coolstream/hd2/libcoolstream/mmi.h diff --git a/lib/libcoolstream2/nevis_ir.h b/lib/hardware/coolstream/hd2/libcoolstream/nevis_ir.h similarity index 100% rename from lib/libcoolstream2/nevis_ir.h rename to lib/hardware/coolstream/hd2/libcoolstream/nevis_ir.h diff --git a/lib/libcoolstream2/playback.h b/lib/hardware/coolstream/hd2/libcoolstream/playback.h similarity index 100% rename from lib/libcoolstream2/playback.h rename to lib/hardware/coolstream/hd2/libcoolstream/playback.h diff --git a/lib/libcoolstream2/playback_cs.h b/lib/hardware/coolstream/hd2/libcoolstream/playback_cs.h similarity index 100% rename from lib/libcoolstream2/playback_cs.h rename to lib/hardware/coolstream/hd2/libcoolstream/playback_cs.h diff --git a/lib/libcoolstream2/pwrmngr.h b/lib/hardware/coolstream/hd2/libcoolstream/pwrmngr.h similarity index 100% rename from lib/libcoolstream2/pwrmngr.h rename to lib/hardware/coolstream/hd2/libcoolstream/pwrmngr.h diff --git a/lib/libcoolstream2/record_cs.h b/lib/hardware/coolstream/hd2/libcoolstream/record_cs.h similarity index 100% rename from lib/libcoolstream2/record_cs.h rename to lib/hardware/coolstream/hd2/libcoolstream/record_cs.h diff --git a/lib/libcoolstream2/tsrouter.h b/lib/hardware/coolstream/hd2/libcoolstream/tsrouter.h similarity index 100% rename from lib/libcoolstream2/tsrouter.h rename to lib/hardware/coolstream/hd2/libcoolstream/tsrouter.h diff --git a/lib/libcoolstream2/video_cs.h b/lib/hardware/coolstream/hd2/libcoolstream/video_cs.h similarity index 100% rename from lib/libcoolstream2/video_cs.h rename to lib/hardware/coolstream/hd2/libcoolstream/video_cs.h diff --git a/lib/libcoolstream/.svnignore b/lib/libcoolstream/.svnignore deleted file mode 100644 index 3694ff0e6..000000000 --- a/lib/libcoolstream/.svnignore +++ /dev/null @@ -1,5 +0,0 @@ -Makefile.in -.libs -.deps -*.la -*.lo diff --git a/lib/libcoolstream/Makefile.am b/lib/libcoolstream/Makefile.am deleted file mode 100644 index f1c497147..000000000 --- a/lib/libcoolstream/Makefile.am +++ /dev/null @@ -1,16 +0,0 @@ -noinst_LIBRARIES = libhwcaps.a - -AM_CXXFLAGS = -fno-rtti -fno-exceptions -fno-strict-aliasing - -AM_CPPFLAGS = \ - -I$(top_builddir) \ - -I$(top_srcdir)/src \ - -I$(top_srcdir)/src/zapit/include \ - -I$(top_srcdir)/lib \ - -I$(top_srcdir)/lib/libeventserver \ - -I$(top_srcdir)/lib/libconfigfile \ - -I$(top_srcdir)/lib/libcoolstream \ - @HWLIB_CFLAGS@ - -libhwcaps_a_SOURCES = \ - hardware_caps.cpp diff --git a/lib/libcoolstream/hardware_caps.cpp b/lib/libcoolstream/hardware_caps.cpp deleted file mode 100644 index 40cffb753..000000000 --- a/lib/libcoolstream/hardware_caps.cpp +++ /dev/null @@ -1,87 +0,0 @@ -/* - * determine the capabilities of the hardware. - * part of libstb-hal - * - * (C) 2010-2012,2016 Stefan Seyfried - * (C) 2016 M. Liebmann - * - * License: GPL v2 or later - */ - -#include -#include -#include -#include "hardware_caps.h" - -static int initialized = 0; -static bool frontend_check = false; -static hw_caps_t caps; - -hw_caps_t *get_hwcaps(void) -{ - - if (initialized && frontend_check) - return ∩︀ - - struct utsname u; - unsigned int system_rev = cs_get_revision(); - - CFEManager* fem = CFEManager::getInstance(); - int frontendCount = fem->getFrontendCount(); - frontend_check = frontendCount > 0; - - caps.has_fan = (system_rev < 8); - caps.has_HDMI = 1; - caps.has_SCART = (system_rev != 10); - caps.has_SCART_input = 0; - caps.has_YUV_cinch = 1; - caps.can_shutdown = (system_rev > 7); - caps.can_cec = 1; - caps.display_type = (system_rev != 10) ? HW_DISPLAY_LINE_TEXT : HW_DISPLAY_NONE; - caps.display_xres = 12; - caps.display_yres = 0; - caps.can_set_display_brightness = 1; - - - strcpy(caps.boxvendor, "CST"); - const char* boxname; - switch (system_rev) { - case 6: - boxname = "HD1"; - break; - case 7: - boxname = "BSE"; - break; - case 8: - boxname = "Neo"; - break; - case 10: - boxname = "Zee"; - break; - default: - char buffer[512]; - snprintf(buffer, sizeof(buffer)-1, "Unknown nr. %u\n", system_rev); - boxname = buffer; - break; - } - strcpy(caps.boxname, boxname); - - CFrontend *frontend = fem->getFE(0); - uint32_t mask = frontend->getSupportedDeliverySystems(); - std::string tuner = ""; - if (frontendCount > 1) - tuner += "Twin "; - tuner += ((mask & DVB_C) == DVB_C) ? g_Locale->getText(LOCALE_SATSETUP_FE_DELSYS_MODE_CABLE) : "Sat"; - strcpy(caps.frontend, tuner.c_str()); - - strcpy(caps.chipset, "Nevis"); - - if (! uname(&u)) - strncpy(caps.boxarch, u.machine, sizeof(caps.boxarch)); - else - fprintf(stderr, "%s: uname() failed: %m\n", __func__); - - initialized = 1; - return ∩︀ -} - diff --git a/lib/libcoolstream2/Makefile.am b/lib/libcoolstream2/Makefile.am deleted file mode 100644 index e96803f29..000000000 --- a/lib/libcoolstream2/Makefile.am +++ /dev/null @@ -1,15 +0,0 @@ -noinst_LIBRARIES = libhwcaps.a - -AM_CXXFLAGS = -fno-rtti -fno-exceptions -fno-strict-aliasing - -AM_CPPFLAGS = \ - -I$(top_builddir) \ - -I$(top_srcdir)/src \ - -I$(top_srcdir)/src/zapit/include \ - -I$(top_srcdir)/lib \ - -I$(top_srcdir)/lib/libeventserver \ - -I$(top_srcdir)/lib/libconfigfile \ - -I$(top_srcdir)/lib/libcoolstream2 - -libhwcaps_a_SOURCES = \ - hardware_caps.cpp diff --git a/lib/libcoolstream2/hardware_caps.cpp b/lib/libcoolstream2/hardware_caps.cpp deleted file mode 100644 index 1e1c4a8c1..000000000 --- a/lib/libcoolstream2/hardware_caps.cpp +++ /dev/null @@ -1,170 +0,0 @@ -/* - * determine the capabilities of the hardware. - * part of libstb-hal - * - * (C) 2010-2012 Stefan Seyfried - * (C) 2016 M. Liebmann - * - * License: GPL v2 or later - */ - -#include -#include -#include -#include "hardware_caps.h" - -static int initialized = 0; -static bool frontend_check = false; -static hw_caps_t caps; - -std::string getTuner() -{ - std::string tuner; - char buff1[64]; - CFEManager* fem = CFEManager::getInstance(); - int frontendCount = fem->getFrontendCount(); - frontend_check = frontendCount > 0; - - int satCount = 0; - int cableCount = 0; - int dvbtCount = 0; - int dvbc_tCount = 0; - for (int i = 0; i < frontendCount; i++) { - bool has_dvb_s = false; - bool has_dvb_s2 = false; - bool has_dvb_c = false; - bool has_dvb_t = false; - bool has_dvb_t2 = false; -// bool has_dtmb = false; - - CFrontend *frontend = fem->getFE(i); - uint32_t mask = frontend->getSupportedDeliverySystems(); - - if ((mask & DVB_S) == DVB_S) has_dvb_s = true; - if ((mask & DVB_S2) == DVB_S2) has_dvb_s2 = true; - if ((mask & DVB_C) == DVB_C) has_dvb_c = true; - if ((mask & DVB_T) == DVB_T) has_dvb_t = true; - if ((mask & DVB_T2) == DVB_T2) has_dvb_t2 = true; -// if ((mask & DTMB) == DTMB) has_dtmb = true; - - if (has_dvb_s || has_dvb_s2) satCount++; - if (has_dvb_c && (has_dvb_t || has_dvb_t2)) - dvbc_tCount++; - else { - if (has_dvb_c) cableCount++; - if (has_dvb_t || has_dvb_t2) dvbtCount++; - } - } - - if (satCount > 0) { - memset(buff1, 0, sizeof(buff1)); - snprintf(buff1, sizeof(buff1)-1, "%dx Sat", satCount); - tuner += buff1; - } - if (cableCount > 0) { - if (satCount > 0) tuner += ", "; - memset(buff1, 0, sizeof(buff1)); - snprintf(buff1, sizeof(buff1)-1, "%dx %s", cableCount, g_Locale->getText(LOCALE_SATSETUP_FE_DELSYS_MODE_CABLE)); - tuner += buff1; - } - if (dvbtCount > 0) { - if ((satCount > 0) || (cableCount > 0)) tuner += ", "; - memset(buff1, 0, sizeof(buff1)); - snprintf(buff1, sizeof(buff1)-1, "%dx DVB-T", dvbtCount); - tuner += buff1; - } - if (dvbc_tCount > 0) { - if ((satCount > 0) || (cableCount > 0) || (dvbtCount > 0)) tuner += ", "; - memset(buff1, 0, sizeof(buff1)); - snprintf(buff1, sizeof(buff1)-1, "%dx %s/DVB-T", dvbc_tCount, g_Locale->getText(LOCALE_SATSETUP_FE_DELSYS_MODE_CABLE)); - tuner += buff1; - } - return tuner; -} - -hw_caps_t *get_hwcaps(void) -{ - if (!frontend_check) - strcpy(caps.frontend, getTuner().c_str()); - - if (initialized) - return ∩︀ - - struct utsname u; - unsigned int system_rev = cs_get_revision(); - - caps.has_fan = 0; - caps.has_HDMI = 1; - caps.has_SCART = (system_rev != 10); - caps.has_SCART_input = 0; - caps.has_YUV_cinch = 1; - caps.can_shutdown = 1; - caps.can_cec = 1; - switch (system_rev) { - case 9: /* Tank */ - case 12: /* Zee2 */ - caps.display_type = HW_DISPLAY_LINE_TEXT; - break; - case 11: /* Trinity */ - caps.display_type = HW_DISPLAY_NONE; - break; - case 13: /* Link */ - caps.display_type = HW_DISPLAY_LED_NUM; - break; - default: - caps.display_type = HW_DISPLAY_NONE; - break; - } - caps.display_xres = 12; - caps.display_yres = 0; - caps.can_set_display_brightness = 1; - - strcpy(caps.boxvendor, "CST"); - const char* boxname; - switch (system_rev) { - case 9: - boxname = "Tank"; - break; - case 11: - boxname = "Trinity"; - break; - case 12: - boxname = "Zee2"; - break; - case 13: - boxname = "Link"; - break; - default: - char buffer[512]; - snprintf(buffer, sizeof(buffer)-1, "Unknown nr. %u\n", system_rev); - boxname = buffer; - break; - } - strcpy(caps.boxname, boxname); - - const char* chipset; - switch (system_rev) { - case 9: - chipset = "Apollo"; - break; - case 11: - chipset = "Shiner"; - break; - case 12: - case 13: - chipset = "Kronos"; - break; - default: - chipset = ""; - break; - } - strcpy(caps.chipset, chipset); - - if (! uname(&u)) - strncpy(caps.boxarch, u.machine, sizeof(caps.boxarch)); - else - fprintf(stderr, "%s: uname() failed: %m\n", __func__); - - initialized = 1; - return ∩︀ -} diff --git a/lib/libcoolstream2/hardware_caps.h b/lib/libcoolstream2/hardware_caps.h deleted file mode 100644 index c45c173dc..000000000 --- a/lib/libcoolstream2/hardware_caps.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * determine the capabilities of the hardware. - * part of libstb-hal - * - * (C) 2010-2012 Stefan Seyfried - * (C) 2016 M. Liebmann - * - * License: GPL v2 or later - */ -#ifndef __HARDWARE_CAPS_H__ -#define __HARDWARE_CAPS_H__ - -#include "cs_api.h" -#include -#include - -typedef enum { - HW_DISPLAY_NONE, - HW_DISPLAY_LED_NUM, /* simple 7 segment LED display */ - HW_DISPLAY_LINE_TEXT, /* 1 line text display */ - HW_DISPLAY_GFX -} display_type_t; - - -typedef struct hw_caps { - int has_fan; - int has_HDMI; - int has_SCART; - int has_SCART_input; - int has_YUV_cinch; - int can_shutdown; - int can_cec; - display_type_t display_type; - int display_xres; /* x resolution or chars per line */ - int display_yres; - int can_set_display_brightness; - char boxvendor[64]; - char boxname[64]; - char boxarch[64]; - char chipset[64]; - char frontend[64]; -} hw_caps_t; - -std::string getTuner(); -hw_caps_t *get_hwcaps(void); -#endif diff --git a/src/Makefile.am b/src/Makefile.am index ce55dcb78..97d4e148a 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -150,6 +150,8 @@ neutrino_LDADD += \ endif if BOXTYPE_COOL +neutrino_LDADD += \ + $(top_builddir)/lib/hardware/coolstream/libhwcaps.a if ENABLE_LIBCOOLSTREAM_STATIC neutrino_LDADD += -lca-sc neutrino_LDADD += @LIBCOOLSTREAM_STATIC_DIR@/libcoolstream-mt.a diff --git a/src/gui/imdb.cpp b/src/gui/imdb.cpp index 2eefffeb3..3db2d77de 100644 --- a/src/gui/imdb.cpp +++ b/src/gui/imdb.cpp @@ -228,7 +228,7 @@ std::string CIMDB::googleIMDb(std::string searchStr) std::string url = surl + "IMDb+" + utf82url(httpString); - if(httpTool.downloadFile(url, soutfile.c_str())) + if (httpTool.downloadFile(url, soutfile.c_str())) { ret = parseFile("http://www.imdb.com/title/", ">", soutfile.c_str()); @@ -284,7 +284,7 @@ int CIMDB::getIMDb(const std::string& epgTitle) std::string url = IMDburl + imdb_ID; - if(httpTool.downloadFile(url, IMDbAPI.c_str(), -1, /*connecttimeout*/2, /*timeout*/5)) + if (httpTool.downloadFile(url, IMDbAPI.c_str())) { initMap(m); @@ -299,7 +299,7 @@ int CIMDB::getIMDb(const std::string& epgTitle) //download Poster if(m["Poster"] != "N/A") { - if(httpTool.downloadFile(m["Poster"], posterfile.c_str())) + if (httpTool.downloadFile(m["Poster"], posterfile.c_str())) return 2; else { if (access(posterfile.c_str(), F_OK) == 0) diff --git a/src/gui/movieplayer.cpp b/src/gui/movieplayer.cpp index f7c479df0..67b23134e 100644 --- a/src/gui/movieplayer.cpp +++ b/src/gui/movieplayer.cpp @@ -1391,12 +1391,12 @@ void CMoviePlayerGui::PlayFileLoop(void) } #endif /* in case ffmpeg report incorrect values */ - if((playstate == CMoviePlayerGui::PLAY) && (speed == 1)){ + if(file_prozent > 96 && (playstate == CMoviePlayerGui::PLAY) && (speed == 1)){ if(position_tmp != position){ position_tmp = position ; eof2 = 0; }else{ - if (++eof2 > 6) { + if (++eof2 > 12) { at_eof = true; break; } diff --git a/src/gui/widget/textbox.cpp b/src/gui/widget/textbox.cpp index b7fe4eccd..f37e3d257 100644 --- a/src/gui/widget/textbox.cpp +++ b/src/gui/widget/textbox.cpp @@ -299,9 +299,9 @@ void CTextBox::initFramesRel(void) if(m_nMode & SCROLL) { - m_cFrameScrollRel.iX = m_cFrame.iWidth - SCROLL_FRAME_WIDTH; - m_cFrameScrollRel.iY = m_cFrameTextRel.iY + m_nBgRadius; m_cFrameScrollRel.iWidth = SCROLL_FRAME_WIDTH; + m_cFrameScrollRel.iX = m_cFrame.iWidth - m_cFrameScrollRel.iWidth; + m_cFrameScrollRel.iY = m_cFrameTextRel.iY + m_nBgRadius; m_cFrameScrollRel.iHeight = m_cFrameTextRel.iHeight - 2*m_nBgRadius; } else @@ -708,7 +708,7 @@ void CTextBox::refreshText(void) if (m_nMode & CENTER) x_center /= 2; if (m_nMode & SCROLL) - x_center -= SCROLL_FRAME_WIDTH; + x_center -= m_cFrameScrollRel.iWidth; } x_center = std::max(x_center, 0);