aws / aws/amazon-ivs-react-native-player
PiP mode lacks support for handling system PiP control actions (Play, Pause, Stop)
- Dominant language
- TypeScript
- Stars
- 313
- Forks
- 42
- PR merge metrics
- No merged PRs in 30d
Description
## 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.
https://github.com/user-attachments/assets/d0efe894-56a4-4c72-8d48-2d1b78ba2f63
Contributor guide
Assessment
This issue has not been assessed yet.