From b8968c4d527c0d169ab0675be8386f4dbe824f24 Mon Sep 17 00:00:00 2001 From: BPanther Date: Sun, 17 May 2020 22:12:31 +0200 Subject: [PATCH] sh4/mips/arm: demux change, adapter still 0 Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/c439feef459cbff187838bd361c20ddf089c8e06 Author: BPanther Date: 2020-05-17 (Sun, 17 May 2020) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- libarmbox/dmx.cpp | 43 ++++++++++--------------------------------- libspark/dmx.cpp | 18 ++++++++++-------- 2 files changed, 20 insertions(+), 41 deletions(-) diff --git a/libarmbox/dmx.cpp b/libarmbox/dmx.cpp index dc5b0e0..ce406a3 100644 --- a/libarmbox/dmx.cpp +++ b/libarmbox/dmx.cpp @@ -91,6 +91,12 @@ static int dmx_source[NUM_DEMUX] = { 0, 0, 0, 0 }; #endif #endif +char dmxdev[32]; +static char* devname(int adapter, int demux) { + snprintf(dmxdev, sizeof(dmxdev), "/dev/dvb/adapter%d/demux%d", adapter, demux); + return dmxdev; +} + /* map the device numbers. */ #if BOXMODEL_VUULTIMO4K #define NUM_DEMUXDEV 24 @@ -101,36 +107,7 @@ static int dmx_source[NUM_DEMUX] = { 0, 0, 0, 0 }; #define NUM_DEMUXDEV 8 #endif #endif -static const char *devname[NUM_DEMUXDEV] = { - "/dev/dvb/adapter0/demux0", - "/dev/dvb/adapter0/demux1", - "/dev/dvb/adapter0/demux2", - "/dev/dvb/adapter0/demux3", - "/dev/dvb/adapter0/demux4", - "/dev/dvb/adapter0/demux5", - "/dev/dvb/adapter0/demux6", - "/dev/dvb/adapter0/demux7" -#if BOXMODEL_VUSOLO4K || BOXMODEL_VUDUO4K || BOXMODEL_VUULTIMO4K || BOXMODEL_VUUNO4KSE || BOXMODEL_VUUNO4K - , "/dev/dvb/adapter0/demux8" - , "/dev/dvb/adapter0/demux9" - , "/dev/dvb/adapter0/demux10" - , "/dev/dvb/adapter0/demux11" - , "/dev/dvb/adapter0/demux12" - , "/dev/dvb/adapter0/demux13" - , "/dev/dvb/adapter0/demux14" - , "/dev/dvb/adapter0/demux15" -#if BOXMODEL_VUULTIMO4K - , "/dev/dvb/adapter0/demux16" - , "/dev/dvb/adapter0/demux17" - , "/dev/dvb/adapter0/demux18" - , "/dev/dvb/adapter0/demux19" - , "/dev/dvb/adapter0/demux20" - , "/dev/dvb/adapter0/demux21" - , "/dev/dvb/adapter0/demux22" - , "/dev/dvb/adapter0/demux23" -#endif -#endif -}; + /* did we already DMX_SET_SOURCE on that demux device? */ #if BOXMODEL_VUULTIMO4K static bool init[NUM_DEMUXDEV] = { false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false }; @@ -207,10 +184,10 @@ static bool _open(cDemux *thiz, int num, int &fd, int &last_source, DMX_CHANNEL_ if (dmx_type != DMX_PSI_CHANNEL) flags |= O_NONBLOCK; - fd = open(devname[devnum], flags); + fd = open(devname(0, devnum), flags); if (fd < 0) { - hal_info_z("%s %s: %m\n", __FUNCTION__, devname[devnum]); + hal_info_z("%s %s: %m\n", __FUNCTION__, devname(0, devnum)); return false; } hal_debug_z("%s #%d pes_type: %s(%d), uBufferSize: %d fd: %d\n", __func__, @@ -222,7 +199,7 @@ static bool _open(cDemux *thiz, int num, int &fd, int &last_source, DMX_CHANNEL_ { /* this should not change anything... */ int n = DMX_SOURCE_FRONT0 + devnum; - hal_info_z("%s: setting %s to source %d\n", __func__, devname[devnum], n); + hal_info_z("%s: setting %s to source %d\n", __func__, devname(0, devnum), n); if (ioctl(fd, DMX_SET_SOURCE, &n) < 0) hal_info_z("%s DMX_SET_SOURCE failed!\n", __func__); else diff --git a/libspark/dmx.cpp b/libspark/dmx.cpp index e273996..bda67b9 100644 --- a/libspark/dmx.cpp +++ b/libspark/dmx.cpp @@ -109,13 +109,15 @@ static const char *DMX_T[] = { /* the current source of each cDemux unit */ static int dmx_source[NUM_DEMUX] = { 0, 0, 0, 0 }; +char dmxdev[32]; +static char* devname(int adapter, int demux) { + snprintf(dmxdev, sizeof(dmxdev), "/dev/dvb/adapter%d/demux%d", adapter, demux); + return dmxdev; +} + /* map the device numbers. */ #define NUM_DEMUXDEV 3 -static const char *devname[NUM_DEMUXDEV] = { - "/dev/dvb/adapter0/demux0", - "/dev/dvb/adapter0/demux1", - "/dev/dvb/adapter0/demux2" -}; + /* did we already DMX_SET_SOURCE on that demux device? */ static bool init[NUM_DEMUXDEV] = { false, false, false }; @@ -184,10 +186,10 @@ static bool _open(cDemux *thiz, int num, int &fd, int &last_source, DMX_CHANNEL_ if (dmx_type != DMX_PSI_CHANNEL) flags |= O_NONBLOCK; - fd = open(devname[devnum], flags); + fd = open(devname(0, devnum), flags); if (fd < 0) { - hal_info_z("%s %s: %m\n", __FUNCTION__, devname[devnum]); + hal_info_z("%s %s: %m\n", __FUNCTION__, devname(0, devnum)); return false; } hal_debug_z("%s #%d pes_type: %s(%d), uBufferSize: %d fd: %d\n", __func__, @@ -199,7 +201,7 @@ static bool _open(cDemux *thiz, int num, int &fd, int &last_source, DMX_CHANNEL_ { /* this should not change anything... */ int n = DMX_SOURCE_FRONT0 + devnum; - hal_info_z("%s: setting %s to source %d\n", __func__, devname[devnum], n); + hal_info_z("%s: setting %s to source %d\n", __func__, devname(0, devnum), n); if (ioctl(fd, DMX_SET_SOURCE, &n) < 0) hal_info_z("%s DMX_SET_SOURCE failed!\n", __func__); else