I've been playing with it the last few nights and I'm quite impressed. I've been waiting for something like this for enigma2 for ages. I've found channels no longer buffer and stutter but just reset now.
Thanks oottppxx for your hard work on it! Can I ask what each settings actually does?
Glad you like it.
The settings are as follows:
Enable: True/False... this one should be obvious, if True, it enables the plugin functionality, if False, it disables it, so it won't restart any stream or try to check anything, really.
Poll interval: this is the number of seconds before taking each sample of the network values. Controls how often we look at network values of RX Queue.
RX Queue Threshold: this is a bit more complicated to understand; for each established TCP connection in the box (across all services, so it isn't fool proof), it sums up the value of the RX queue in the respective network sockets; if you run "netstat -atn" on the command line, you'll see all listening TCP sockets and any TCP session that is established or was torn down; we sum the value under Recv-Q (receive queue) of the established ones; if the value of the sum is under the threshold at each poll, we count it as a failed probe; if the value of the sum is above, it's a good probe. This value controls how we judge if the network/service is broken vs not, and is highly dependent of your service providers (both for internet and for IPTV).
Consecutive Probes Threshold: this indicates after how many consecutive failed probes/samples we reset the current service and try to reconnect; so, together with the poll interval, it will give us a total time that the network needs to be broken (according to the RX Queue criteria above) after which we reset the service. If we keep the poll interval at the minimum of 1, it basically gives us the number of seconds during which the network needs to be broken for the reset to happen, but if the poll interval is 2 (the default), then you double that time, of course... Poll intervall x Consecutive Probes Threshold = minimum time we take to reset the service.
Ignore Strings: basically, if the current service matches one of the strings, we don't consider resetting; m3u8 streams are done via a lot of short lived TCP connections, so it's pointless to try and measure those (although we could); this plugin is more effective for TS/MPEG-TS services which are handled by a long lived connection, so we ignore m3u8 services. If you're watching VOD or catchup, it's typically an mp4 or mkv service, and if we reset it most often restarts from the beginning, so we avoid resetting those too... typically you can go back and forward or have other means of resetting VOD/catchup anyway...
Debug: like in most of my plugins, if True this will create a /tmp/<plugin>-debug.log file that will be updated with debug information... You can see it in real time by setting it to True and running "tail -f /tmp/bigmac-debug.log" on the box; under normal operation (if not fine tuning the values or debugging an issue), it's better to leave it set as False.
That's it, feel free to ask any questions.
As I think I've said (if not here, in Telegram), the plugin is a bit of a hack, but can be handy, and certainly saves zapping around to restart stuff (you can also use my ReStart plugin and bind it via hotkey to manually restart services, for example m3u8 ones, via 1 key press, without zapping, of course).