Superb quality and spec AB-Com PULSe 4K SE. Crazy offer! Only £99! FREE UK DELIVERY! 4K UHD, Enigma 2, Multiboot 4 images & more!...
Superb quality and spec AB-Com PULSe 4K Rev II Twin Satellite tuner only £149! FREE UK DELIVERY! 4K UHD, Enigma 2, SATA HDD facility, Multiboot 4 images & more!...

[SF8008] Streaming HD problem

zukon

New member
Joined
Apr 12, 2015
Messages
7
Reaction score
0
Points
0
Age
49
Hi,

The error occurs on sf8008: when watching an HD program on TV and streaming another HD program to Chromecast 4 or VLC, the stream is interrupted after about 1 minute. breaking up also changes the channel to TV. Stream with transcoding is OK.

The problem does not occur on ATV and openPLI.

Code:
<   576.8557> 08:00:51.2436 [eInputDeviceInit] 1 6a (106) 1
<   576.8557> 08:00:51.2437 [eRCDeviceInputDev] emit: 1
<   576.8562> 08:00:51.2441 [InfoBarGenerics] Key: 106 (Make) KeyID='KEY_RIGHT' Binding='('RIGHT',)'.
<   576.8563> 08:00:51.2442 [ActionMap] Keymap 'DirectionActions' -> Action = 'right'.
<   577.0646> 08:00:51.4526 [eInputDeviceInit] 0 6a (106) 1
<   577.0647> 08:00:51.4526 [eRCDeviceInputDev] emit: 0
<   577.0659> 08:00:51.4539 [InfoBarGenerics] Key: 106 (Break) KeyID='KEY_RIGHT' Binding='('RIGHT',)'.
<   579.2288> 08:00:53.6168 [eInputDeviceInit] 1 ae (174) 1
<   579.2289> 08:00:53.6169 [eRCDeviceInputDev] emit: 1
<   579.2293> 08:00:53.6173 [InfoBarGenerics] Key: 174 (Make) KeyID='KEY_EXIT' Binding='('EXIT',)'.
<   579.4377> 08:00:53.8256 [eInputDeviceInit] 0 ae (174) 1
<   579.4377> 08:00:53.8257 [eRCDeviceInputDev] emit: 0
<   579.4381> 08:00:53.8261 [InfoBarGenerics] Key: 174 (Break) KeyID='KEY_EXIT' Binding='('EXIT',)'.
<   579.4383> 08:00:53.8262 [ActionMap] Keymap 'OkCancelActions' -> Action = 'cancel'.
<   582.6347> 08:00:57.0227 [eInputDeviceInit] 1 192 (402) 1
<   582.6348> 08:00:57.0228 [eRCDeviceInputDev] emit: 1
<   582.6357> 08:00:57.0236 [InfoBarGenerics] Key: 402 (Make) KeyID='KEY_CHANNELUP' Binding='('BOUQUET+',)'.
<   582.8434> 08:00:57.2314 [eInputDeviceInit] 0 192 (402) 1
<   582.8435> 08:00:57.2314 [eRCDeviceInputDev] emit: 0
<   582.8441> 08:00:57.2321 [InfoBarGenerics] Key: 402 (Break) KeyID='KEY_CHANNELUP' Binding='('BOUQUET+',)'.
<   582.8445> 08:00:57.2324 [ActionMap] Keymap 'InfobarChannelSelection' -> Action = 'ChannelPlusPressed'.
<   582.8463> 08:00:57.2342 [Navigation] playing ref 1:0:1:1139:2AF8:13E:820000:0:0:0:
<   582.8467> 08:00:57.2346 [eDVBCAService] free slot 0 demux 0 for service 1:0:1:C22:1E78:71:820000:0:0:0:
<   582.8467> 08:00:57.2346 [eDVBCAService] free service 1:0:1:C22:1E78:71:820000:0:0:0:
<   582.8589> 08:00:57.2469 [eTSMPEGDecoder] decoder state: play, vpid=ffffffff, apid=ffffffff
<   582.8590> 08:00:57.2470 [eDVBPCR0] DEMUX_STOP ok
<   582.8592> 08:00:57.2471 [eDVBPCR0] destroy
<   582.8592> 08:00:57.2471 [eDVBVideo0] DEMUX_STOP  ok
<   582.8592> 08:00:57.2472 [eDVBVideo0] VIDEO_STOP ok
<   582.8594> 08:00:57.2473 [eDVBVideo0] destroy
<   582.8594> 08:00:57.2473 [eDVBAudio0] AUDIO_STOP ok
<   582.8594> 08:00:57.2474 [eDVBAudio0] DEMUX_STOP ok
<   582.8594> 08:00:57.2474 [eDVBAudio0] AUDIO_CONTINUE ok
<   582.8595> 08:00:57.2474 [eDVBAudio0] destroy
<   582.8595> 08:00:57.2474 [eDVBText0] DEMUX_STOP ok
<   582.8595> 08:00:57.2475 [decoder][eDVBText] stopCaching
<   582.8602> 08:00:57.2481 [eDVBText0] destroy
<   582.8602> 08:00:57.2482 [decoder][eDVBText] resetPID
<   582.8603> 08:00:57.2482 [decoder][eDVBText] freeCache
<   582.8629> 08:00:57.2508 [eDVBResourceManager] start release channel timer
<   582.8633> 08:00:57.2513 [servicedvb][eDVBServicePlay] now running: m_is_streamx set by m_is_stream 0
<   582.8634> 08:00:57.2513 [servicedvb][eDVBServicePlay] now running: m_is_pvr set to; 0
<   582.8634> 08:00:57.2514 [servicedvb][eDVBServicePlay][start] m_is_stream set to: 0
<   582.8634> 08:00:57.2514 [servicedvb][eDVBServicePlay][start] m_is_pvr set to; 0
<   582.8971> 08:00:57.2850 [eFilePushThreadRecorder] Warning: All write buffers busy
<   582.8972> 08:00:57.2852 [eDVBRecordFileThread] cancelling
<   582.8974> 08:00:57.2854 [eDVBRecordFileThread] wait: aio_return returned failure: Function not implemented
<   582.8998> 08:00:57.2878 [Notifications] RemovePopup, id = ZapError
<   582.9001> 08:00:57.2881 [eDVBRecordStreamThread] wait failed: Function not implemented
<   582.9002> 08:00:57.2882 [eFilePushThreadRecorder] WRITE ERROR, aborting thread: Function not implemented
<   582.9003> 08:00:57.2882 [eDVBRecordStreamThread] cancelling aio
<   582.9004> 08:00:57.2883 [eDVBRecordStreamThread] ok
<   582.9004> 08:00:57.2884 [eDVBRecordFileThread] waiting for aio to complete
<   582.9004> 08:00:57.2884 [eDVBRecordFileThread] wait: aio_return returned failure: Function not implemented
<   582.9005> 08:00:57.2884 [eDVBRecordFileThread] wait: aio_return returned failure: Function not implemented
<   582.9005> 08:00:57.2884 [eDVBRecordFileThread] wait: aio_return returned failure: Function not implemented
<   582.9005> 08:00:57.2884 [eDVBRecordFileThread] wait: aio_return returned failure: Function not implemented
<   582.9005> 08:00:57.2884 [eDVBRecordFileThread] wait: aio_return returned failure: Function not implemented
<   582.9005> 08:00:57.2885 [eDVBRecordFileThread] wait: aio_return returned failure: Function not implemented
<   582.9006> 08:00:57.2885 [eDVBRecordFileThread] wait: aio_return returned failure: Function not implemented
<   582.9006> 08:00:57.2885 [eDVBRecordFileThread] wait: aio_return returned failure: Function not implemented
<   582.9006> 08:00:57.2886 [eDVBRecordFileThread] wait: aio_return returned failure: Function not implemented
<   582.9007> 08:00:57.2886 [eDVBRecordFileThread] wait: aio_return returned failure: Function not implemented
<   582.9007> 08:00:57.2886 [eDVBRecordFileThread] wait: aio_return returned failure: Function not implemented
<   582.9007> 08:00:57.2886 [eDVBRecordFileThread] wait: aio_return returned failure: Function not implemented
<   582.9007> 08:00:57.2887 [eDVBRecordFileThread] wait: aio_return returned failure: Function not implemented
<   582.9007> 08:00:57.2887 [eDVBRecordFileThread] wait: aio_return returned failure: Function not implemented
<   582.9007> 08:00:57.2887 [eDVBRecordFileThread] wait: aio_return returned failure: Function not implemented
<   582.9008> 08:00:57.2887 [eDVBRecordFileThread] wait: aio_return returned failure: Function not implemented
<   582.9008> 08:00:57.2887 [eDVBRecordFileThread] wait: aio_return returned failure: Function not implemented
<   582.9008> 08:00:57.2887 [eDVBRecordFileThread] wait: aio_return returned failure: Function not implemented
<   582.9008> 08:00:57.2888 [eDVBRecordFileThread] wait: aio_return returned failure: Function not implemented
<   582.9008> 08:00:57.2888 [eDVBRecordFileThread] wait: aio_return returned failure: Function not implemented
<   582.9009> 08:00:57.2888 [eDVBRecordFileThread] wait: aio_return returned failure: Function not implemented
<   582.9009> 08:00:57.2888 [eDVBRecordFileThread] wait: aio_return returned failure: Function not implemented
<   582.9009> 08:00:57.2888 [eDVBRecordFileThread] wait: aio_return returned failure: Function not implemented
<   582.9009> 08:00:57.2889 [eDVBRecordFileThread] wait: aio_return returned failure: Function not implemented
<   582.9009> 08:00:57.2889 [eDVBRecordFileThread] wait: aio_return returned failure: Function not implemented
<   582.9010> 08:00:57.2889 [eDVBRecordFileThread] wait: aio_return returned failure: Function not implemented
<   582.9010> 08:00:57.2889 [eDVBRecordFileThread] wait: aio_return returned failure: Function not implemented
<   582.9010> 08:00:57.2890 [eDVBRecordFileThread] wait: aio_return returned failure: Function not implemented
<   582.9010> 08:00:57.2890 [eDVBRecordFileThread] wait: aio_return returned failure: Function not implemented
<   582.9011> 08:00:57.2890 [eDVBRecordFileThread] wait: aio_return returned failure: Function not implemented
<   582.9011> 08:00:57.2890 [eDVBRecordFileThread] wait: aio_return returned failure: Function not implemented
<   582.9011> 08:00:57.2890 [eDVBRecordFileThread] wait: aio_return returned failure: Function not implemented
<   582.9011> 08:00:57.2891 [eDVBRecordFileThread] wait: aio_return returned failure: Function not implemented
<   582.9011> 08:00:57.2891 [eDVBRecordFileThread] wait: aio_return returned failure: Function not implemented
<   582.9012> 08:00:57.2891 [eDVBRecordFileThread] wait: aio_return returned failure: Function not implemented
<   582.9012> 08:00:57.2891 [eDVBRecordFileThread] wait: aio_return returned failure: Function not implemented
<   582.9012> 08:00:57.2891 [eDVBRecordFileThread] wait: aio_return returned failure: Function not implemented
<   582.9012> 08:00:57.2892 [eDVBRecordFileThread] wait: aio_return returned failure: Function not implemented
<   582.9012> 08:00:57.2892 [eDVBRecordFileThread] wait: aio_return returned failure: Function not implemented
<   582.9013> 08:00:57.2892 [eDVBRecordFileThread] buffer usage histogram (40 buffers of 188 kB)
<   582.9013> 08:00:57.2892 [eDVBRecordFileThread]   0:  27946
<   582.9013> 08:00:57.2892 [eDVBRecordFileThread]   1: 585702
<   582.9013> 08:00:57.2893 [eDVBRecordFileThread]   2:  40498
<   582.9013> 08:00:57.2893 [eDVBRecordFileThread]   3:   5152
<   582.9014> 08:00:57.2893 [eDVBRecordFileThread]   4:   1990
<   582.9014> 08:00:57.2893 [eDVBRecordFileThread]   5:   1111
<   582.9014> 08:00:57.2893 [eDVBRecordFileThread]   6:    779
<   582.9014> 08:00:57.2894 [eDVBRecordFileThread]   7:    601
<   582.9014> 08:00:57.2894 [eDVBRecordFileThread]   8:    460
<   582.9014> 08:00:57.2894 [eDVBRecordFileThread]   9:    320
<   582.9015> 08:00:57.2894 [eDVBRecordFileThread]  10:    212
<   582.9015> 08:00:57.2894 [eDVBRecordFileThread]  11:    153
<   582.9015> 08:00:57.2894 [eDVBRecordFileThread]  12:    101
<   582.9015> 08:00:57.2894 [eDVBRecordFileThread]  13:     69
<   582.9015> 08:00:57.2895 [eDVBRecordFileThread]  14:     44
<   582.9015> 08:00:57.2895 [eDVBRecordFileThread]  15:     41
<   582.9016> 08:00:57.2895 [eDVBRecordFileThread]  16:     29
<   582.9016> 08:00:57.2895 [eDVBRecordFileThread]  17:     29
<   582.9016> 08:00:57.2895 [eDVBRecordFileThread]  18:     25
<   582.9016> 08:00:57.2895 [eDVBRecordFileThread]  19:     18
<   582.9016> 08:00:57.2896 [eDVBRecordFileThread]  20:     17
<   582.9016> 08:00:57.2896 [eDVBRecordFileThread]  21:     15
<   582.9017> 08:00:57.2896 [eDVBRecordFileThread]  22:     12
<   582.9017> 08:00:57.2896 [eDVBRecordFileThread]  23:     11
<   582.9017> 08:00:57.2896 [eDVBRecordFileThread]  24:      9
<   582.9017> 08:00:57.2896 [eDVBRecordFileThread]  25:      8
<   582.9017> 08:00:57.2897 [eDVBRecordFileThread]  26:      8
<   582.9018> 08:00:57.2897 [eDVBRecordFileThread]  27:      8
<   582.9018> 08:00:57.2897 [eDVBRecordFileThread]  28:      8
<   582.9018> 08:00:57.2897 [eDVBRecordFileThread]  29:      9
<   582.9018> 08:00:57.2897 [eDVBRecordFileThread]  30:      8
<   582.9018> 08:00:57.2898 [eDVBRecordFileThread]  31:      7
<   582.9018> 08:00:57.2898 [eDVBRecordFileThread]  32:      6
<   582.9019> 08:00:57.2898 [eDVBRecordFileThread]  33:      5
<   582.9019> 08:00:57.2898 [eDVBRecordFileThread]  34:      5
<   582.9019> 08:00:57.2898 [eDVBRecordFileThread]  35:      4
<   582.9019> 08:00:57.2898 [eDVBLocalTimerHandler] remove channel 0x2e08f48
<   582.9019> 08:00:57.2898 [eDVBRecordFileThread]  36:      2
<   582.9019> 08:00:57.2899 [eDVBRecordFileThread]  37:      3
<   582.9019> 08:00:57.2899 [eDVBRecordFileThread]  38:      2
<   582.9020> 08:00:57.2899 [eDVBRecordFileThread]  39:      1
<   582.9020> 08:00:57.2899 [eDVBRecordFileThread]  40:      1
<   582.9020> 08:00:57.2900 [eFilePushThreadRecorder] THREAD STOP
<   582.9021> 08:00:57.2901 [eEPGTransponderDataReader] remove channel 0x2e08f48
<   582.9104> 08:00:57.2984 [eEPGChannelData] abort caching events !!
<   582.9145> 08:00:57.3025 [eDVBResourceManager] allocate channel.. 2af8:013e
<   582.9146> 08:00:57.3025 [eDVBResourceManager] available channel.. 0190:013e
<   582.9150> 08:00:57.3029 [eDVBFrontend0] tune
<   582.9151> 08:00:57.3030 [eDVBSatelliteEquipmentControl] [prepare] UnicableTuningWord 0x120d2, guard_offset 0
<   582.9151> 08:00:57.3030 **** Tuning JESS
<   582.9151> 08:00:57.3030 **** frequency_mhz: 10719
<   582.9151> 08:00:57.3030 **** lo_mhz: 9750
<   582.9151> 08:00:57.3031 **** T: 869
<   582.9151> 08:00:57.3031 **** position: 0
<   582.9152> 08:00:57.3032 **** ub: 9
<   582.9153> 08:00:57.3032 **** mode: 0
<   582.9153> 08:00:57.3033 **** JESS: 70 4b 65 00
<   582.9153> 08:00:57.3033 [eDVBSatelliteEquipmentControl] RotorCmd ffffffff, lastRotorCmd ffffffff
<   582.9154> 08:00:57.3033 [eDVBFrontend0] prepare_sat System 1 Freq 10719000 Pol 1 SR 27500000 INV 2 FEC 3 orbpos 130 system 1 modulation 2 pilot 2, rolloff 0, is_id -1, pls_mode 1, pls_code 0, t2mi_plp_id -1 t2mi_pid 4096
<   582.9154> 08:00:57.3033 [eDVBFrontend0] tuning to 1271 mhz
<   582.9154> 08:00:57.3034 [eDVBChannel] OURSTATE: tuning
<   582.9154> 08:00:57.3034 [eDVBServicePMTHandler] allocate Channel: res 0
<   582.9155> 08:00:57.3034 [eDVBCIInterfaces] addPMTHandler 1:0:1:1139:2AF8:13E:820000:0:0:0:
<   582.9156> 08:00:57.3035 [eDVBChannel] getDemux cap=00
<   582.9156> 08:00:57.3035 [eDVBResourceManager] allocate demux cap=00
<   582.9156> 08:00:57.3035 [eDVBResourceManager] allocating demux adapter=0, demux=0, source=0 fesource=0
<   582.9156> 08:00:57.3036 [eDVBDemux] open demux /dev/dvb/adapter0/demux0
<   582.9319> 08:00:57.3199 [eDVBFrontend0] set static current limiting
<   582.9322> 08:00:57.3201 [eDVBServiceStream] stream write error
<   582.9322> 08:00:57.3201 [eDVBServiceStream] stop streaming m_state 2
<   583.3423> 08:00:57.7303 [eFilePushThreadRecorder] stopping thread.
<   583.3424> 08:00:57.7303 [eThread] send signal to non running thread
<   583.3439> 08:00:57.7318 [eDVBCAService] free slot 0 demux 1 for service 1:0:1:32DE:190:13E:820000:0:0:0:
<   583.3439> 08:00:57.7319 [eDVBCAService] free service 1:0:1:32DE:190:13E:820000:0:0:0:
<   583.3447> 08:00:57.7326 [eDVBLocalTimerHandler] remove channel 0x2e33750
<   583.3448> 08:00:57.7327 [eEPGTransponderDataReader] remove channel 0x2e33750
 
Solution of my problem:
Code:
diff -urN git/lib/dvb/filepush.cpp git/lib/dvb/filepush.cpp
--- git/lib/dvb/filepush.cpp	2023-01-06 22:41:41.710419783 +0100
+++ git/lib/dvb/filepush.cpp	2023-01-10 20:54:31.726915891 +0100
@@ -17,7 +17,7 @@
 	 m_blocksize(blocksize),
 	 m_buffersize(buffersize),
 	 m_buffer((unsigned char *)malloc(buffersize)),
-	 m_messagepump(eApp, 0, "eFilePushThread"),
+	 m_messagepump(eApp, 0),
 	 m_run_state(0)
 {
 	if (m_buffer == NULL)
@@ -37,12 +37,6 @@
 
 static void ignore_but_report_signals()
 {
-	/* we must set a signal mask for the thread otherwise signals don't have any effect */
-	sigset_t sigmask;
-	sigemptyset(&sigmask);
-	sigaddset(&sigmask, SIGUSR1);
-	pthread_sigmask(SIG_UNBLOCK, &sigmask, NULL);
-	
 	/* we set the signal to not restart syscalls, so we can detect our signal. */
 	struct sigaction act = {};
 	act.sa_handler = signal_handler; // no, SIG_IGN doesn't do it. we want to receive the -EINTR
@@ -328,47 +322,41 @@
 	m_buffer(buffer),
 	m_overflow_count(0),
 	m_stop(1),
-	m_messagepump(eApp, 0, "eFilePushThreadRecorder")
+	m_messagepump(eApp, 0)
 {
 	CONNECT(m_messagepump.recv_msg, eFilePushThreadRecorder::recvEvent);
 }
 
 void eFilePushThreadRecorder::thread()
 {
-	ignore_but_report_signals();
-	hasStarted(); /* "start()" blocks until we get here */
 	setIoPrio(IOPRIO_CLASS_RT, 7);
+
 	eDebug("[eFilePushThreadRecorder] THREAD START");
 
-	/* m_stop must be evaluated after each syscall */
-	/* if it isn't, there's a chance of the thread becoming deadlocked when recordings are finishing */
+	/* we set the signal to not restart syscalls, so we can detect our signal. */
+	struct sigaction act;
+	act.sa_handler = signal_handler; // no, SIG_IGN doesn't do it. we want to receive the -EINTR
+	act.sa_flags = 0;
+	sigaction(SIGUSR1, &act, 0);
+
+	hasStarted();
+
+	/* m_stop must be evaluated after each syscall. */
 	while (!m_stop)
 	{
-		/* this works around the buggy Broadcom encoder that always returns even if there is no data */
-		/* (works like O_NONBLOCK even when not opened as such), prevent idle waiting for the data */
-		/* this won't ever hurt, because it will return immediately when there is data or an error condition */
-
-		struct pollfd pfd = { m_fd_source, POLLIN, 0 };
-		poll(&pfd, 1, 100);
-		/* Reminder: m_stop *must* be evaluated after each syscall. */
-		if (m_stop)
-			break;
-
 		ssize_t bytes = ::read(m_fd_source, m_buffer, m_buffersize);
-		/* And again: Check m_stop regardless of read success. */
-		if (m_stop)
-			break;
-
 		if (bytes < 0)
 		{
 			bytes = 0;
+			/* Check m_stop after interrupted syscall. */
+			if (m_stop) {
+				break;
+			}
 			if (errno == EINTR || errno == EBUSY || errno == EAGAIN)
-			{
 #if HAVE_HISILICON
 				usleep(100000);
 #endif
-				continue;
-			}
+			continue;
 			if (errno == EOVERFLOW)
 			{
 				eWarning("[eFilePushThreadRecorder] OVERFLOW while recording");
@@ -393,7 +381,7 @@
 #endif
 		if (w < 0)
 		{
-			eWarning("[eFilePushThreadRecorder] WRITE ERROR, aborting thread: %m");
+			eDebug("[eFilePushThreadRecorder] WRITE ERROR, aborting thread: %m");
 			sendEvent(evtWriteError);
 			break;
 		}

Other fixes:
Code:
diff -urN git/configure.ac git/configure.ac
--- git/configure.ac	2022-12-20 20:15:09.622769983 +0100
+++ git/configure.ac	2022-12-20 20:15:49.193938164 +0100
@@ -450,7 +450,7 @@
 if test "$BOXTYPE" == "sf8008" -o "$BOXTYPE" == "sf8008m" -o "$BOXTYPE" == "sx988" -o "$BOXTYPE" == "sfx6008" -o "$BOXTYPE" == "gbmv200" -o "$BOXTYPE" == "viper4k" -o "$BOXTYPE" == "beyonwizv2" -o "$BOXTYPE" == "ustym4kpro"; then
 	AC_DEFINE(HAVE_HISILICON, 1,[define add HISILICON chip])
 	AC_DEFINE(CONFIG_HISILICON_FB, 1,[define add HISILICON framebuffer blit])
-	AC_DEFINE(FORCE_BLENDING_ACCELERATION, 1,[define when the framebuffer acceleration has alphablending support, but detection slow down all])	
+	AC_DEFINE(FORCE_ALPHABLENDING_ACCELERATION, 1,[define when the framebuffer acceleration has alphablending support, but detection slow down all])	
 fi
 
 if test "$BOXTYPE" == "u5" -o "$BOXTYPE" == "u5pvr" -o "$BOXTYPE" == "u51" -o "$BOXTYPE" == "u52" -o "$BOXTYPE" == "u53" -o "$BOXTYPE" == "u532" -o "$BOXTYPE" == "u533" -o "$BOXTYPE" == "u54" -o "$BOXTYPE" == "u55" -o "$BOXTYPE" == "u56" -o "$BOXTYPE" == "u57" -o "$BOXTYPE" == "u571" -o "$BOXTYPE" == "u41" -o "$BOXTYPE" == "u42" -o "$BOXTYPE" == "u43"; then

Code:
diff -urN git/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py git/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py
--- git/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py	2023-01-09 21:55:50.006362972 +0100
+++ git/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py	2023-01-09 21:47:31.651902013 +0100
@@ -130,7 +130,7 @@
 		self["ServiceList_desc"] = StaticText(_("Assigned services/provider:"))
 		self["ServiceList_info"] = StaticText()
 
-		self["actions"] = ActionMap(["ColorActions", "SetupActions", "MenuActions"],
+		self["actions"] = ActionMap(["ColorActions", "OkCancelActions", "MenuActions"],
 			{
 				"green": self.greenPressed,
 				"red": self.redPressed,
@@ -379,7 +379,7 @@
 
 	def __init__(self, session, ci_slot="9"):
 		CIconfigMenu.__init__(self, session, ci_slot)
-		self["actions"] = ActionMap(["ColorActions", "SetupActions", "MenuActions"],
+		self["actions"] = ActionMap(["ColorActions", "OkCancelActions", "MenuActions"],
 			{
 				"green": self.greenPressed,
 				"red": self.redPressed,

Thanks and regards
 
There are errors in those changes, unnecessary changes that remove debug source identification and changes to configure.ac that make no difference to the sf8008 type receivers. - I would like to know the source of the change, so that we can discuss

Not being negative, just would like to understand where it has come from, as it has to work across all mips/arm/ hisilicon boxes … and this module (filepush) has been through many discussions/changes across the images with many false solutions to issues
 
Last edited:
I just revert older version from repo with cosmeting changes. Nothing new. This fix streaming problem. That's all.

Problem exists only on sf8008, exemply on zgemma h9twin everything is OK with straming. Unbox and connect sf8008, flash 6.3 and check.
 
Last edited:
I just revert older version from repo with cosmeting changes. Nothing new. This fix streaming problem. That's all.

Problem exists only on sf8008, exemply on zgemma h9twin everything is OK with straming. Unbox and connect sf8008, flash 6.3 and check.

so not sure if you are building or not, but here is a version of filepush.cpp that includes changes for broadcom/Arm and your sf8008 code with some updated changes

let me know how this works for you .....the changes in filepush are extensive and made because of numerous issues... which the later code fixed, so I have specifically tried to make your changes only for the sf8008 (and obviously similar receivers)
 

Attachments

IMO new filepush.cpp is perfect! Thanks!

Regards
 
In attachment. 30-40 min with changing channels on TV (stream is the same HD channel). Before fix after 1 max 2 min stream was close. The same if watching on TV channel was changed. Now is perfect.
 

Attachments

In attachment. 30-40 min with changing channels on TV (stream is the same HD channel). Before fix after 1 max 2 min stream was close. The same if watching on TV channel was changed. Now is perfect.
That debug log is pretty clean - nice
 
Great work guys, this has not only fixed the issue you had noticed, but it has (for me atleast) fixed an issue with stream-relay channels where it would request a double ecm every few seconds causing it to trip over itself and therefore glitch or freeze.
 
Last edited:
Great work guys, this has not only fixed the issue you had noticed, but it has (for me atleast) fixed an issue with stream-relay channels where it would request a double ecm every few seconds causing it to trip over itself and therefore glitch or freeze.
On what box?
 

OpenViX Feeds Status

Back
Top