2023-01-17, 12:44 AM
Maybe a diagram will explain better what I'm trying to say.
In my diagram, windows will try to put the idle server to sleep after the configured sleep/hibernate time has passed (denoted by 'S'). Luckily NextPVR makes power requests while playing to prevent this from happening (denoted by 'P'). Unfortunately during a channel change there is a window of vulnerability where there is no 'P' (denoted by '!') which allows Windows' ongoing efforts to put the server to sleep to unfortunately succeed.
Notes:
Code:
Windows Awake--------sleep delay------>SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP!!!PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP
NextPVR [<-----Play channel A---------->] [<-----Play channel B---------->]
In my diagram, windows will try to put the idle server to sleep after the configured sleep/hibernate time has passed (denoted by 'S'). Luckily NextPVR makes power requests while playing to prevent this from happening (denoted by 'P'). Unfortunately during a channel change there is a window of vulnerability where there is no 'P' (denoted by '!') which allows Windows' ongoing efforts to put the server to sleep to unfortunately succeed.
Notes:
- A fast server appears idle to Windows even while serving live TV to a LAN client.
- A keystroke on the server resets the sleep delay to zero giving "sleep delay" more minutes safe from sleep, but a power request clearly doesn't reset the idle timer.
- Delaying the "No longer active" power request described previously is an effort to remove the area marked by exclamation marks in the diagram.