Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[iOS] Audiobook playback skipping parts of track #686

Closed
hyyyjinx opened this issue Apr 25, 2023 · 8 comments
Closed

[iOS] Audiobook playback skipping parts of track #686

hyyyjinx opened this issue Apr 25, 2023 · 8 comments
Labels
bug Something isn't working

Comments

@hyyyjinx
Copy link

hyyyjinx commented Apr 25, 2023

Steps to reproduce

I have noticed this happening somewhat frequently and have now found a track to reliably replicate the issue. I think this mostly occurs around changing chapter marks but might be a more general problem. When playing the audiotrack it seemingly randomly skips several seconds.

I have attached a screencap of this issue occuring.

Expected behaviour

  • Audiobookshelf-app should not skip any part of the track.

Actual behaviour

  • We miss 20 seconds up to 1 minute of the audiobook when playing. see video attached.

In this video we can see:

  1. The track is playing and suddenly jumps from 52:55 to 53:40.
  2. I pause and rewind to retry. Again we skip from 52:55 to 53:17.
  3. To listen to the missing 20 seconds, I switch to chapter view and scroll to minute 0 of this chapter. The track plays as expected which also confirms that this is not a network or track corruption issue. The file plays fine.

Note: The behavior is the same when we use chapter view instead of track view. Playback will just start 15 seconds into the chapter.

signal-2023-04-25-103241_002.mp4

Environment data

Audiobookshelf Version:

iOS App
app: 0.6.63-beta
server: v2.2.19

iOS Issue

iOS Version: 16.1.1

iPhone model: iphone 13 mini

logs

posting server logs for posterity, nothing that indicates any issues here:\

2023-04-25 13:33:03
INFO
[Server] Socket Connected LdaO5eyOf_B9grXFAABn
2023-04-25 13:33:03
DEBUG
[Server] User Online root
2023-04-25 13:33:03
DEBUG
[DB] Updated user: 1
2023-04-25 14:17:57
INFO
[Server] Socket Connected jJLf1VCeE1SelAr3AABp
2023-04-25 14:17:57
DEBUG
[Server] User Online root
2023-04-25 14:17:57
DEBUG
[DB] Updated user: 1
2023-04-25 14:17:57
DEBUG
[MeController] syncLocalMediaProgress server and local are in sync - local_0F443E8C-91A0-411C-A5AC-1E698EC8E244
2023-04-25 14:17:57
DEBUG
[MeController] syncLocalMediaProgress server and local are in sync - local_B11C057B-CC69-4F08-8C03-4D2E6B92FB1B
2023-04-25 14:17:57
DEBUG
[MeController] syncLocalMediaProgress server and local are in sync - local_4B44388C-CA0B-43CE-996C-97501882939D
2023-04-25 14:17:57
DEBUG
[MeController] syncLocalMediaProgress server and local are in sync - li_wtx5drhfoz59vs6cd2
2023-04-25 14:17:57
DEBUG
[MeController] syncLocalMediaProgress server and local are in sync - local_4630778A-674E-4EAC-A32E-74FB5BC4FF9D
2023-04-25 14:17:57
DEBUG
[MeController] syncLocalMediaProgress server updates = 0, local updates = 0
2023-04-25 14:17:57
DEBUG
[PlaybackSessionManager] syncSession "play_aq09a5p2hllsm5dif9" (Device: iPhone14,4 / v0.9.63) | Total Time Listened: 4400.998013496399
2023-04-25 14:17:57
DEBUG
[DB] Updated user: 1
2023-04-25 14:17:58
DEBUG
[DB] Updated session: 1
2023-04-25 14:18:17
DEBUG
[Server] User Offline root
2023-04-25 14:18:17
INFO
[Server] Socket jJLf1VCeE1SelAr3AABp disconnected from client "root" after 19837ms (Reason: transport close)
2023-04-25 14:18:41
INFO
[Server] Socket Connected GJHTtk7NiAe75-h8AABr
2023-04-25 14:18:41
DEBUG
[Server] User Online root
2023-04-25 14:18:42
DEBUG
[DB] Updated user: 1
2023-04-25 14:18:51
DEBUG
[PlaybackSessionManager] syncSession "play_aq09a5p2hllsm5dif9" (Device: iPhone14,4 / v0.9.63) | Total Time Listened: 4400.998013496399
2023-04-25 14:18:51
DEBUG
[DB] Updated user: 1
2023-04-25 14:18:51
DEBUG
[DB] Updated session: 1
2023-04-25 14:18:52
DEBUG
[PlaybackSessionManager] syncSession "play_aq09a5p2hllsm5dif9" (Device: iPhone14,4 / v0.9.63) | Total Time Listened: 4401.642692565918
2023-04-25 14:18:52
DEBUG
[DB] Updated user: 1
2023-04-25 14:18:52
DEBUG
[DB] Updated session: 1
2023-04-25 14:19:06
DEBUG
[PlaybackSessionManager] syncSession "play_aq09a5p2hllsm5dif9" (Device: iPhone14,4 / v0.9.63) | Total Time Listened: 4402.55984044075
2023-04-25 14:19:06
DEBUG
[DB] Updated user: 1
2023-04-25 14:19:06
DEBUG
[DB] Updated session: 1
2023-04-25 14:19:20
DEBUG
[PlaybackSessionManager] syncSession "play_aq09a5p2hllsm5dif9" (Device: iPhone14,4 / v0.9.63) | Total Time Listened: 4412.05740571022
2023-04-25 14:19:20
DEBUG
[DB] Updated user: 1
2023-04-25 14:19:21
DEBUG
[DB] Updated session: 1
2023-04-25 14:19:24
DEBUG
[Server] User Offline root
2023-04-25 14:19:24
INFO
[Server] Socket GJHTtk7NiAe75-h8AABr disconnected from client "root" after 42417ms (Reason: transport close)
2023-04-25 14:19:51
INFO
[Server] Socket Connected Iv6vqmY0OxCPq78wAABt
2023-04-25 14:19:51
DEBUG
[Server] User Online root
2023-04-25 14:19:51
DEBUG
[DB] Updated user: 1
2023-04-25 14:19:59
DEBUG
[Server] User Offline root
2023-04-25 14:19:59
INFO
[Server] Socket Iv6vqmY0OxCPq78wAABt disconnected from client "root" after 8692ms (Reason: transport close)
2023-04-25 14:20:05
INFO
[Server] Socket Connected OeO_-IYUTqFMgBivAABv
2023-04-25 14:20:05
DEBUG
[Server] User Online root
2023-04-25 14:20:05
DEBUG
[DB] Updated user: 1
2023-04-25 14:20:05
DEBUG
[PlaybackSessionManager] syncSession "play_aq09a5p2hllsm5dif9" (Device: iPhone14,4 / v0.9.63) | Total Time Listened: 4412.05740571022
2023-04-25 14:20:05
DEBUG
[DB] Updated user: 1
2023-04-25 14:20:05
DEBUG
[DB] Updated session: 1
2023-04-25 14:20:28
DEBUG
[PlaybackSessionManager] syncSession "play_aq09a5p2hllsm5dif9" (Device: iPhone14,4 / v0.9.63) | Total Time Listened: 4434.989347696304
2023-04-25 14:20:28
DEBUG
[DB] Updated user: 1
2023-04-25 14:20:28
DEBUG
[DB] Updated session: 1
2023-04-25 14:20:50
DEBUG
[PlaybackSessionManager] syncSession "play_aq09a5p2hllsm5dif9" (Device: iPhone14,4 / v0.9.63) | Total Time Listened: 4456.447958707809
2023-04-25 14:20:50
DEBUG
[DB] Updated user: 1
2023-04-25 14:20:50
DEBUG
[DB] Updated session: 1
2023-04-25 14:20:50
DEBUG
[PlaybackSessionManager] syncSession "play_aq09a5p2hllsm5dif9" (Device: iPhone14,4 / v0.9.63) | Total Time Listened: 4456.447958707809
2023-04-25 14:20:50
DEBUG
[DB] Updated session: 1
2023-04-25 14:21:15
DEBUG
[PlaybackSessionManager] syncSession "play_aq09a5p2hllsm5dif9" (Device: iPhone14,4 / v0.9.63) | Total Time Listened: 4469.547427654266
2023-04-25 14:21:15
DEBUG
[DB] Updated user: 1
2023-04-25 14:21:15
DEBUG
[DB] Updated session: 1
2023-04-25 14:21:34
DEBUG
[PlaybackSessionManager] syncSession "play_aq09a5p2hllsm5dif9" (Device: iPhone14,4 / v0.9.63) | Total Time Listened: 4488.286041498184
2023-04-25 14:21:34
DEBUG
[DB] Updated user: 1
2023-04-25 14:21:34
DEBUG
[DB] Updated session: 1
2023-04-25 14:21:34
DEBUG
[PlaybackSessionManager] syncSession "play_aq09a5p2hllsm5dif9" (Device: iPhone14,4 / v0.9.63) | Total Time Listened: 4488.286041498184
2023-04-25 14:21:35
DEBUG
[DB] Updated session: 1
2023-04-25 14:21:50
DEBUG
[PlaybackSessionManager] syncSession "play_aq09a5p2hllsm5dif9" (Device: iPhone14,4 / v0.9.63) | Total Time Listened: 4500.503376483917
2023-04-25 14:21:50
DEBUG
[DB] Updated user: 1
2023-04-25 14:21:50
DEBUG
[DB] Updated session: 1
2023-04-25 14:21:55
DEBUG
[PlaybackSessionManager] syncSession "play_aq09a5p2hllsm5dif9" (Device: iPhone14,4 / v0.9.63) | Total Time Listened: 4505.036266565323
2023-04-25 14:21:55
DEBUG
[DB] Updated user: 1
2023-04-25 14:21:55
DEBUG
[DB] Updated session: 1
2023-04-25 14:22:05
DEBUG
[PlaybackSessionManager] syncSession "play_aq09a5p2hllsm5dif9" (Device: iPhone14,4 / v0.9.63) | Total Time Listened: 4505.733491659164
2023-04-25 14:22:05
DEBUG
[DB] Updated user: 1
2023-04-25 14:22:05
DEBUG
[DB] Updated session: 1
2023-04-25 14:22:19
DEBUG
[PlaybackSessionManager] syncSession "play_aq09a5p2hllsm5dif9" (Device: iPhone14,4 / v0.9.63) | Total Time Listened: 4517.334464550018
2023-04-25 14:22:19
DEBUG
[DB] Updated user: 1
2023-04-25 14:22:19
DEBUG
[DB] Updated session: 1
2023-04-25 14:22:30
DEBUG
[Server] User Offline root
2023-04-25 14:22:30
INFO
[Server] Socket OeO_-IYUTqFMgBivAABv disconnected from client "root" after 145028ms (Reason: transport close)
2023-04-25 14:27:53
INFO
[Server] Socket Connected Wo-OKLUoAfYXTAcAAABx
2023-04-25 14:27:53
DEBUG
[Server] User Online root
2023-04-25 14:27:53
DEBUG
[DB] Updated user: 1
2023-04-25 14:28:07
INFO
[Server] Socket Connected CFCylSrWt8nKQsiYAABz
2023-04-25 14:28:07
DEBUG
[Server] User Online root
2023-04-25 14:28:07
DEBUG
[DB] Updated user: 1
2023-04-25 14:28:41
DEBUG
[Server] User Offline root
2023-04-25 14:28:41
INFO
[Server] Socket CFCylSrWt8nKQsiYAABz disconnected from client "root" after 34286ms (Reason: transport close)
2023-04-25 14:31:19
INFO
[Server] Socket Connected ZBhaabWkgPvI5KfcAAB1
2023-04-25 14:31:19
DEBUG
[Server] User Online root
2023-04-25 14:31:19
DEBUG
[DB] Updated user: 1
2023-04-25 14:31:24
DEBUG
[Server] User Offline root
2023-04-25 14:31:24
INFO
[Server] Socket ZBhaabWkgPvI5KfcAAB1 disconnected from client "root" after 4844ms (Reason: transport close)
@hyyyjinx hyyyjinx added the bug Something isn't working label Apr 25, 2023
@hyyyjinx
Copy link
Author

hyyyjinx commented May 1, 2023

Switching to the PWA for the time being. Looks like the webapp is not affected by this.

Issue persists after removing and reinstalling the ios app.

This is happening very frequently for me so it's odd there's not more reports of this. One thing that came to mind: I am mostly listening to shorter audiobooks (~1hr) which means each chapter is pretty short. I got the feeling that the audiobookshelf ios app has problems dealing with chapter tracks that only last a few minutes. This is the track length breakdown for the book i used to replicate the issue in my first post:

image

I found mention of a similar problem on reddit: https://www.reddit.com/r/audiobookshelf/comments/108or8y/issues_with_audiobookshelf_ios/

I’ve been having it stop playing sorta randomly. Like 6 minutes or longer segments are able to be played.

@TeroKeso
Copy link

I am also having some skips and starting from the start. It gets worse if I try to use the chapter time line to get back.

Android 0.9.63 beta
Server 2.2.20

@blampe
Copy link
Contributor

blampe commented May 25, 2023

I'm also seeing something similar on 2.2.20 / 0.9.64-beta (and previous iOS release).

In my case, after stopping playback and restarting it some time later, it will pick up at the next chapter marker. I've observed this with two books so far, one with very long chapters and another with short ones.

Anecdotally, it seems to have something to do with how I stop playback or close the app. Manually stopping seems to be safe, but restarting playback after taking out my airpods seems to trigger the chapter skip. This could just be coincidence, though.

The only odd thing I notice in my logs is this:

[MeController] syncLocalMediaProgress invalid local media progress object no library item [object Object]

@advplyr advplyr changed the title Audiobook playback skipping parts of track [iOS] Audiobook playback skipping parts of track Jun 4, 2023
@KaiStarkk
Copy link
Contributor

KaiStarkk commented Jul 26, 2023

Have a feeling this is the operating system doing control centre shenanigans.

Example below illustrates clearly:

  1. Seek to a point in track 2
  2. Go back to track 1
  3. At the end of track 1, when going to next chapter it will jump to previous point rather than start of track

The reason people are experiencing 20 second jumps is because the most common cause is rewinding by 30 seconds over the track boundary.

RPReplay_Final1690334337.mp4

@codebox
Copy link

codebox commented Jul 27, 2023

I've also been seeing this, v0.9.65 of the app on iOS 16.5.1 with 2.2.23 server. I usually listen to downloaded/local books so I've only seen it happen with those. The skips vary in length, sometimes several minutes and sometimes a few seconds. Sometimes I also see the audio stop but playback appears to continue in the app (so the time advances but no sound is played). I don't think it is related to particular audio files, often if I quit/restart the app and replay the part of the file that was skipping it plays fine the second time.

@TeroKeso
Copy link

Could this be part of using buffers for local play ? Today I noticed that the app is indicating that it is using a buffer when playing from local sources.

@hyyyjinx
Copy link
Author

I do believe @KaiStarkk is on to something here

The reason people are experiencing 20 second jumps is because the most common cause is rewinding by 30 seconds over the track boundary.

I did some testing changing the skip forward/backward timespan. This does appear to have an effect on the skips at chapter start. It looks like its kind of an upper boundary for how much of the track is randomly skipped. For example, In the settings i change forward-skip to 30 seconds. When going from chapter 1 -> 2, It will repeatedly skip up to 30 seconds into the track.

When i reduce forward skip setting to just 5 seconds it will still skip a random amount of time at the start of the track, but much shorter now - not more than 5 seconds. I was able to reproduce this repeatedly.

Ideally we can root cause this issue and fix it - but it the cause eludes us: A straight forward work around could be to allow forward/backward skips of just 1 second in the audiobookshelf-app settings. Hoping that would reduce skips to an unnoticable amount.

@advplyr
Copy link
Owner

advplyr commented Dec 19, 2023

Fixed in 0.9.69-beta

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

6 participants