I've been experimenting with comskip and I'm seeing problems with it that may ChannelsDVR unusable. I've found a number of scenarios where this feature eats too much CPU. Any chance we can reduce the priority of these tasks so that playback is always given the highest priority? For sure, commercial skip is only a nice to have and often could take hours to finish if not being watched live.
Tonight, I had two simultaneous recordings with comskip while recording enabled. Had 2 threads allocated. When trying to watch one of the live recordings, playback was anywhere between terrible and "Unable to fetch playlist". While watching CPU loads, it was about 60-70% loaded, then when a play request came in, it hit 100% CPU and stayed there for a while, but at the same time, it failed to start the playback successfully.
My suggested priority:
- Playback (Live or Recorded)
- Comskip while watching live
- All other Comskip
If CPU load exceeds whatever buffer is needed to initiate a new playback request, then start shedding load for non-essentials. Always allow a playback to start.
Observations: I even tried TRASHing a show that had comskip runnning and it did not stop that process. I also tried reducing the thread count to see if this was dynamic and it did not stop anything.