Skip to content

Combining Shuflfe and Repeat causes songs to loop silently #217

Description

@Gambloide

Bug Description

Combining Shuffle and Repeat or simply using single-song Repeat causes any song to loop silently on Musly 1.013 on Android 16.

  1. Shuffle + normal Repeat => loops single song silently
  2. no Shuffle + normal Repeat => loops single song "normally"
  3. Shuffle + single-song Repeat => loops single song silently
  4. Shuffle + normal Repeat => loops single song silently

I tested this with gapless playback enabled and disabled. Volume normalization is disabled and transcoding is disabled too. The backend is Navidrome. The songs are streaming from the server, i.e. the songs were not downloaded to the mobile device beforehand.

Off-topic: The fact that selecting a song from the library and using normal Repeat causes the song to loop over and over, instead of going through the library and starting over once done playing every song once, is confusing me as well, given it makes the single-song Repeat feature redundant in that context and looping the library impossible, yet turning normal Repeat off in this scenario makes the app go through the entire library.

Steps to Reproduce

  1. go to "Library"
  2. tap any song and wait for it to start playing
  3. tap on the song name in the bottom of the app view
  4. enable shuffle
  5. enable repeat (the repeat mode doesn't matter, it happens for both)
  6. either wait for the song to finish or tap on the progress bar close to the end
  7. the progress bar will now reset at it will look like the song is playing again, but no sound will be played
  8. tap into the progress bar again, and now you will hear audio, but the issue will repeat as soon as the song ends

Expected Behavior

The playback should continue after a song plays when any repeat mode is enabled, regardless of context and other settings.

App Version

v1.013

Subsonic Server

Navidrome

Relevant Logs

The relevant part is that the logs show nothing after the initial playback. The silent loop seems to happen 100% client side, since it does neither ask the server to stream the file again, nor trigger any other server request after the initial playback concludes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions