remote-playback icon indicating copy to clipboard operation
remote-playback copied to clipboard

Add Picture in Picture window to note on local playback devices

Open chrisn opened this issue 1 year ago • 7 comments

For context, see https://github.com/w3c/picture-in-picture/issues/191.

The Picture in Picture spec currently says:

The [Remote-Playback] specification defines a local playback device and a local playback state. For the purpose of Picture-in-Picture, the playback is local and regardless of whether it is played in page or in Picture-in-Picture.

Media WG would like to move this language to the Remote Playback API to avoid having a patch in the Picture in Picture spec.


Preview | Diff

chrisn avatar Mar 21 '24 10:03 chrisn

My expectation is https://w3c.github.io/picture-in-picture/#remote-playback will be removed as redundant when this PR is merged.

That's right, yes, that's our next step.

chrisn avatar Mar 21 '24 11:03 chrisn

  • There are other spec errors for undefined terms (browsing context, etc.) that will prevent merging the PR.
  • While the change itself is fine, the following sentence doesn't apply to picture-in-picture, because the transition to picture-in-picture is initiated by the user agent (either through browser UI, or the PiP API itself). So updating the note further would make it clearer.

markafoltz avatar Mar 21 '24 18:03 markafoltz

Merged #154 to fix the xrefs to HTML.

markafoltz avatar Mar 22 '24 17:03 markafoltz

Oh, thank you! I'll update this PR with an alternative phrasing.

chrisn avatar Mar 22 '24 17:03 chrisn

So now I'm looking at local playback state as a better place to mention this, and it made me wonder about the interaction between Remote Playback and Picture in Picture. I don't think it's enough to simply say that PiP playback is considered local:

  • What should happen to the PiP state if the user initiates remote playback while a PiP window is open?
  • What should happen if the user tries to request PiP while the remote playback state is anything other than disconnected?

What do implementations currently do in these scenarios?

chrisn avatar Mar 22 '24 17:03 chrisn

At first glance, it would be reasonable for the browser to support video remote playback while in PiP, or choose to exit PiP during remote playback, depending on form factor / usability / implementation complexity tradeoffs. I don't know that the spec needs to be opinionated about this.

Chrome supports the former, but I'll will need a bit of time to confirm.

markafoltz avatar Mar 22 '24 18:03 markafoltz

I confirmed with https://googlechrome.github.io/samples/picture-in-picture/, that in Chrome 127.0.6533.122 on Windows you can successfully initiate and stop remote playback while in PiP, and successfully enter and exit PiP while in remote playback. (The UI could use a little polish, but functionally everything works.)

markafoltz avatar Aug 22 '24 23:08 markafoltz