plexinc / plex-media-player

Next generation Plex Desktop/Embedded Client
GNU General Public License v2.0
1.16k stars 168 forks source link

[RFC] InputCEC activateSource on receivedInput #1054

Closed anthonyryan1 closed 2 years ago

anthonyryan1 commented 2 years ago

My long term goal can be described as two separate features:

  1. When Plex Media Player activates the screensaver, all CEC devices (Receiver/Soundbar, Projector/TV) power off to save energy
  2. When Plex Media Player deactivates the screensaver (eg, by keyboard or remote input) all CEC devices power on and the inputs are changed if necessary

This pull request is a first attempt at accomplishing device power on.

My first goal here was to connect it to the PowerComponent screenSaverEnabled and screenSaverDisabled signals, but the comments in PowerComenent.h seem to indicate that those are deprecated and not funcitonal.

Without having those to rely on, I have instead connected the activateSource method to keyboard input. This is suboptimal because we're flooding the CEC devices with unnecessary signals on every keystroke.

I wanted to get the discussion rolling on how to implement this. Is there any upcoming replacement for the screensaver signals that I could connect this to instead?

I look forward to your feedback.