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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions