Automattic / Automattic/pocket-casts-ios

CarPlay: Playback resumed with an earlier position after an interruption

Open
#847 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Swift
Stars
1.8k
Forks
197
Avg merge
17h 20m
Merged PRs (30d)
103

Description

Relevant Slack thread: p1683275458605479-slack-C02A333D8LQ
Originally reported in 6258100-zd-woothemes

### Expected behavior

Playback resumes to the position before the interruption begins.

### Actual behavior

When playback is interrupted (e.g., by a phone call), the playback then resumes from an earlier playback position (like when the user just connected their phone to the car). This happens with downloaded episodes as well.

Relevant log section (the user said it happened at 18:41):

```
**2023-05-03 18:31:23 Loading (Plus) Die Zukunft von Steam: Aufstieg oder Niedergang? with UUID cd37a657-d840-4d79-8869-ed157eaf2759 autoPlay false
2023-05-03 18:31:23 saving played up to 2443.6766893424037 for episode (Plus) Die Zukunft von Steam: Aufstieg oder Niedergang?
2023-05-03 18:31:23 cleanupCurrentPlayer permanent? false
2023-05-03 18:31:23 Using EffectsPlayer
2023-05-03 18:31:23 activating audio session succeeded
2023-05-03 18:31:30 saving played up to 2450.703628117914 for episode (Plus) Die Zukunft von Steam: Aufstieg oder Niedergang?
2023-05-03 18:32:02 saving played up to 2482.703628117914 for episode (Plus) Die Zukunft von Steam: Aufstieg oder Niedergang?
2023-05-03 18:32:34 saving played up to 2515.017097505669 for episode (Plus) Die Zukunft von Steam: Aufstieg oder Niedergang?
2023-05-03 18:33:06 saving played up to 2547.017097505669 for episode (Plus) Die Zukunft von Steam: Aufstieg oder Niedergang?
2023-05-03 18:33:06 Sent position 2547 status 2 for episode (Plus) Die Zukunft von Steam: Aufstieg oder Niedergang? to server
2023-05-03 18:33:38 saving played up to 2579.3044444444445 for episode (Plus) Die Zukunft von Steam: Aufstieg oder Niedergang?
2023-05-03 18:34:10 saving played up to 2612.114240362812 for episode (Plus) Die Zukunft von Steam: Aufstieg oder Niedergang?
2023-05-03 18:34:42 saving played up to 2646.4913832199545 for episode (Plus) Die Zukunft von Steam: Aufstieg oder Niedergang?
2023-05-03 18:35:14 saving played up to 2678.987709750567 for episode (Plus) Die Zukunft von Steam: Aufstieg oder Niedergang?
2023-05-03 18:35:14 Sent position 2678 status 2 for episode (Plus) Die Zukunft von Steam: Aufstieg oder Niedergang? to server
2023-05-03 18:35:46 saving played up to 2710.987709750567 for episode (Plus) Die Zukunft von Steam: Aufstieg oder Niedergang?
2023-05-03 18:36:18 saving played up to 2742.987709750567 for episode (Plus) Die Zukunft von Steam: Aufstieg oder Niedergang?
2023-05-03 18:36:50 saving played up to 2775.0138321995464 for episode (Plus) Die Zukunft von Steam: Aufstieg oder Niedergang?
2023-05-03 18:37:22 saving played up to 2807.170566893424 for episode (Plus) Die Zukunft von Steam: Aufstieg oder Niedergang?
2023-05-03 18:37:22 Sent position 2807 status 2 for episode (Plus) Die Zukunft von Steam: Aufstieg oder Niedergang? to server
2023-05-03 18:37:53 pausing playback
2023-05-03 18:37:53 saving played up to 2839.928117913832 for episode (Plus) Die Zukunft von Steam: Aufstieg oder Niedergang?
2023-05-03 18:37:53 cleanupCurrentPlayer permanent? true
2023-05-03 18:37:56 deactiveAudioSession succeeded
2023-05-03 18:37:59 deactiveAudioSession succeeded
2023-05-03 18:37:59 seek to 2849.928117913832 startPlaybackAfterSeek false
2023-05-03 18:37:59 Remote control: changePlaybackPositionCommand
2023-05-03 18:37:59 seek to 2278.826171875 startPlaybackAfterSeek false
2023-05-03 18:41:26 Remote control: playCommand, treating as playPause
2023-05-03 18:41:26 Loading (Plus) Die Zukunft von Steam: Aufstieg oder Niedergang? with UUID cd37a657-d840-4d79-8869-ed157eaf2759 autoPlay false
2023-05-03 18:41:26 saving played up to 2278.826171875 for episode (Plus) Die Zukunft von Steam: Aufstieg oder Niedergang?
2023-05-03 18:41:26 cleanupCurrentPlayer permanent? false
2023-05-03 18:41:26 Using EffectsPlayer
2023-05-03 18:41:27 activating audio session succeeded
2023-05-03 18:41:28 saving played up to 2279.557596371882 for episode (Plus) Die Zukunft von Steam: Aufstieg oder Niedergang?
2023-05-03 18:41:28 Sent position 2279 status 2 for episode (Plus) Die Zukunft von Steam: Aufstieg oder Niedergang? to server
2023-05-03 18:41:55 PlaybackManager handleAudioInterrupt began
2023-05-03 18:41:55 cleanupCurrentPlayer permanent? true
2023-05-03 18:41:55 PlaybackManager handleAudioInterrupt ended, should attempt to restart audio = 1 )
2023-05-03 18:41:55 Loading (Plus) Die Zukunft von Steam: Aufstieg oder Niedergang? with UUID cd37a657-d840-4d79-8869-ed157eaf2759 autoPlay false
2023-05-03 18:41:55 saving played up to 2306.829433106576 for episode (Plus) Die Zukunft von Steam: Aufstieg oder Niedergang?
2023-05-03 18:41:55 cleanupCurrentPlayer permanent? false
2023-05-03 18:41:55 Using EffectsPlayer
2023-05-03 18:41:55 activating audio session succeeded
2023-05-03 18:42:00 saving played up to 2311.8971655328796 for episode (Plus) Die Zukunft von Steam: Aufstieg oder Niedergang?**
```

##### Reported on iPhone13,2, iOS 16.4.1, Pocket Casts 7.36

Contributor guide

Open the contributing guide

Research direction

Start by tracing PlaybackManager.handleAudioInterrupt and the remote-control play/seek handling shown in the logs, then reproduce the interruption flow on the reported iOS setup. Done means playback resumes at the position immediately before interruption, including for downloaded episodes.

Written by the indexing model from the issue text.

Assessment

Tech stack
ios, swift
Domain
mobile-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.