diff --git a/include/hardware_caps.h b/include/hardware_caps.h index 5966056..4904511 100644 --- a/include/hardware_caps.h +++ b/include/hardware_caps.h @@ -33,6 +33,9 @@ typedef struct hw_caps display_type_t display_type; int display_xres; /* x resolution or chars per line */ int display_yres; +#ifdef MARTII + int dmx_offset; +#endif char boxvendor[64]; char boxname[64]; } hw_caps_t; diff --git a/libspark/dmx.cpp b/libspark/dmx.cpp index 71f7e17..28bdeac 100644 --- a/libspark/dmx.cpp +++ b/libspark/dmx.cpp @@ -56,6 +56,7 @@ #ifdef MARTII #include #include +#include #endif #include @@ -196,6 +197,9 @@ bool cDemux::_open(void) { /* this should not change anything... */ int n = DMX_SOURCE_FRONT0 + devnum; +#ifdef MARTII + n += get_hwcaps()->dmx_offset; +#endif lt_info("%s: setting %s to source %d\n", __func__, devname[devnum], n); if (ioctl(fd, DMX_SET_SOURCE, &n) < 0) lt_info("%s DMX_SET_SOURCE failed!\n", __func__); diff --git a/libspark/hardware_caps.c b/libspark/hardware_caps.c index dda67aa..2bbcfb4 100644 --- a/libspark/hardware_caps.c +++ b/libspark/hardware_caps.c @@ -68,6 +68,9 @@ hw_caps_t *get_hwcaps(void) case 0x0c0007: tmp = "GoldenMedia Triplex"; caps.has_SCART = 1; +#ifdef MARTII + caps.dmx_offset = 1; +#endif break; default: tmp = p;