While observing GroupSession objects for my GroupActivity via the .sessions() async sequence, updated sessions are never received with with new states. Neither state == .joined or state == invalidated are received after calling session.join() and session.leave() respectively:
Task {
for await session in MyGroupActivity.sessions() {
switch session.state {
case .waiting:
// Received after activating activity.
case .joined:
// Never received after calling `session.join()`.
case .invalidated:
// Never received after calling `session.leave()`, ending the FaceTime call, or after other participating user ends session for everyone.
}
}
}
Post
Replies
Boosts
Views
Activity
I am attempting to support SharePlay for live video in my app. I am calling playbackCoordinator.coordinateWithSession(_:) on my AVPlayer instance with a successfully joined session and both video playback and playback controls are not syncing across devices.
I have installed the SharePlay developer profile on both devices. I verified that I am receiving and joining session objects on all devices and passing it along to the player’s playback coordinator. All session states and activity events are successfully being sent & received; however, playback and playback controls are still not syncing across the devices.
Are there any other criteria for playback coordination that I could be missing? Perhaps something I should not be doing with regards to the player? Does SharePlay not work for live video?