plexinc / plex-media-player

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

[RFC] InputCEC activateSource on receivedInput #1076

Open anthonyryan1 opened 2 years ago

anthonyryan1 commented 2 years ago

Same as #1054 but moved to another branch (I don't see a way to change the head branch on a Pull request other than creating a new one).

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
  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.