Skip to content

PiP mode lacks support for handling system PiP control actions (Play, Pause, Stop) #188

@Jianlong-Nie

Description

@Jianlong-Nie

Description

When using amazon-ivs-react-native-player on iOS, the player provides the ability to enter Picture-in-Picture (PiP) mode. However, it does not currently offer any way to handle PiP control actions such as Play, Pause, or Stop triggered from the system PiP window.

As a result, when a user taps the system-provided Play or Pause button in the PiP window, the UI updates briefly, but the actual playback state does not change — the stream continues playing or remains paused depending on the previous state.


Expected Behavior

  • When the user interacts with PiP control buttons (Play, Pause, Stop) on iOS, the player should provide callbacks or event listeners so that developers can properly respond to these actions.
  • Alternatively, the player could internally handle system PiP controls by synchronizing the playback state accordingly.

Current Behavior

  • amazon-ivs-react-native-player allows entering PiP mode on iOS, but does not handle any system PiP control actions.
  • No events are fired when Play, Pause, or Stop are tapped in the PiP window.
  • Developers are unable to synchronize the player state with PiP controls without manually implementing AVPictureInPictureControllerDelegate and observing AVPlayer's rate changes.

Steps to Reproduce

  1. Start a livestream playback using amazon-ivs-react-native-player.
  2. Enter PiP mode on iOS.
  3. Tap the Pause button in the system PiP window.
  4. Observe that the player does not actually pause — the stream continues playing.

Thank you for the great work on the library! Adding support for PiP control events on iOS would make it even more robust and user-friendly.

MicrosoftTeams-video.4.1.mp4

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions