# Offline files does not skip forward or back

**URL:** <http://support.symfonium.app/t/offline-files-does-not-skip-forward-or-back/14877>\
**Category:** Support\
**Tags:** handled\
**Created:** [August 29, 2026, 7:11pm UTC](http://support.symfonium.app/t/offline-files-does-not-skip-forward-or-back/14877 "2026-08-29T19:11:21Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![biofr0g](http://support.symfonium.app/letter_avatar_proxy/v4/letter/b/8491ac/32.png) [@biofr0g](http://support.symfonium.app/u/biofr0g)\
**Post date:** [August 29, 2026, 7:11pm UTC](http://support.symfonium.app/t/offline-files-does-not-skip-forward-or-back/14877/1 "2026-08-29T19:11:21Z")

</div>

### App version

Production

### Issue description

Hello all,

So I have been using Symfonium on multiple DAPs without an issue, syncing my navidrome music to play offline.

Today, I tried to play some music but I am unable to skip forward or back on played music, when trying, the track just goes back to the start and starts to play again.

Frustrating, I hope for a solution.

Thanks.

### Device type

Phone

### Media provider

Navidrome

### Steps to reproduce

Sync some music to offline permanent cache, play the files, those files cannot be skipped forward or back.

### I searched existing issues first

on

### I understand that logs are mandatory

on

### Log upload name / description

biofr0g

---

<div class="post-metadata">

**Author:** ![Tolriq](http://support.symfonium.app/user_avatar/support.symfonium.app/tolriq/32/726_2.png) [@Tolriq](http://support.symfonium.app/u/Tolriq)\
**Post date:** [August 29, 2026, 7:50pm UTC](http://support.symfonium.app/t/offline-files-does-not-skip-forward-or-back/14877/2 "2026-08-29T19:50:09Z")

</div>

You are forcing FLAC transcoding on server side and Navidrome applies it. This generate unseekable flacs.

@deluan This is not the first report I got, even with the new api.

```auto
{
  "name": "Symfonium",
  "platform": "Android",
  "maxAudioBitrate": 0,
  "maxTranscodingAudioBitrate": 0,
  "directPlayProfiles": [
    {
      "containers": [
        "mp4",
        "mka",
        "m4a",
        "mp3",
        "mp2",
        "wav",
        "flac",
        "ogg",
        "alac",
        "opus",
        "vorbis",
        "dsf",
        "dff",
        "dsdiff",
        "iff"
      ],
      "audioCodecs": [],
      "protocols": [],
      "maxAudioChannels": 0
    }
  ],
  "transcodingProfiles": [
    {
      "container": "flac",
      "audioCodec": "flac",
      "protocol": "http",
      "maxAudioChannels": 6
    },
    {
      "container": "ogg",
      "audioCodec": "opus",
      "protocol": "http",
      "maxAudioChannels": 6
    },
    {
      "container": "mp3",
      "audioCodec": "mp3",
      "protocol": "http",
      "maxAudioChannels": 2
    }
  ],
  "codecProfiles": [
    {
      "type": "AudioCodec",
      "name": "vorbis",
      "limitations": [
        {
          "name": "audioSamplerate",
          "comparison": "LessThanEqual",
          "values": [
            "48000"
          ],
          "required": true
        }
      ]
    },
    {
      "type": "AudioCodec",
      "name": "opus",
      "limitations": [
        {
          "name": "audioSamplerate",
          "comparison": "LessThanEqual",
          "values": [
            "48000"
          ],
          "required": true
        }
      ]
    }
  ]
}

```

```auto
{
  "subsonic-response": {
    "status": "ok",
    "version": "1.16.1",
    "type": "navidrome",
    "serverVersion": "0.63.2 (be10f89c)",
    "openSubsonic": true,
    "transcodeDecision": {
      "canDirectPlay": false,
      "canTranscode": true,
      "transcodeParams": "xxxxxx",
      "sourceStream": {
        "protocol": "http",
        "container": "flac",
        "codec": "flac",
        "audioChannels": 2,
        "audioBitrate": 1026000,
        "audioSamplerate": 44100,
        "audioBitdepth": 16
      },
      "transcodeStream": {
        "protocol": "http",
        "container": "flac",
        "codec": "flac",
        "audioChannels": 2,
        "audioSamplerate": 44100,
        "audioBitdepth": 16
      }
    }
  }
}

```

Don’t know what they force and why, but with the new API Navidrome should not transcode FLAC to FLAC.

---

<div class="post-metadata">

**Author:** ![biofr0g](http://support.symfonium.app/letter_avatar_proxy/v4/letter/b/8491ac/32.png) [@biofr0g](http://support.symfonium.app/u/biofr0g)\
**Post date:** [August 29, 2026, 8:03pm UTC](http://support.symfonium.app/t/offline-files-does-not-skip-forward-or-back/14877/3 "2026-08-29T20:03:02Z")

</div>

How do I cancel transcoding ?

Also, why does it affect only offline files , direct streams from navidrome are ok

---

<div class="post-metadata">

**Author:** ![Tolriq](http://support.symfonium.app/user_avatar/support.symfonium.app/tolriq/32/726_2.png) [@Tolriq](http://support.symfonium.app/u/Tolriq)\
**Post date:** [August 29, 2026, 8:13pm UTC](http://support.symfonium.app/t/offline-files-does-not-skip-forward-or-back/14877/4 "2026-08-29T20:13:37Z")

</div>

You configured something on Navidrome side.

And playback works as Symfonium knows there’s transcoding and request new transcode sessions at the proper places.

Symfonium can’t fix the broken FLAC easily.

---

<div class="post-metadata">

**Author:** ![biofr0g](http://support.symfonium.app/letter_avatar_proxy/v4/letter/b/8491ac/32.png) [@biofr0g](http://support.symfonium.app/u/biofr0g)\
**Post date:** [August 29, 2026, 8:26pm UTC](http://support.symfonium.app/t/offline-files-does-not-skip-forward-or-back/14877/6 "2026-08-29T20:26:02Z")

</div>

I think I found the issue, for some reason, I had transcoding to flac set on the Symfonium player in Navidrome, I never set it​🤦 I think I need to recache all my files again.

Also, can you please add a way to name the Symfonium instance so it could be recognizable easily ? I have a phone and a dap which identify the same.

---

<div class="post-metadata">

**Author:** ![Tolriq](http://support.symfonium.app/user_avatar/support.symfonium.app/tolriq/32/726_2.png) [@Tolriq](http://support.symfonium.app/u/Tolriq)\
**Post date:** [August 31, 2026, 3:44pm UTC](http://support.symfonium.app/t/offline-files-does-not-skip-forward-or-back/14877/7 "2026-08-31T15:44:25Z")

</div>

PIng @deluan in case you did not see my post above about abnormal flac to flac transcodes.

---

<div class="post-metadata">

**Author:** ![biofr0g](http://support.symfonium.app/letter_avatar_proxy/v4/letter/b/8491ac/32.png) [@biofr0g](http://support.symfonium.app/u/biofr0g)\
**Post date:** [August 31, 2026, 7:23pm UTC](http://support.symfonium.app/t/offline-files-does-not-skip-forward-or-back/14877/8 "2026-08-31T19:23:14Z")

</div>

After changing that setting it is working good again

---

<div class="post-metadata">

**Author:** ![Tolriq](http://support.symfonium.app/user_avatar/support.symfonium.app/tolriq/32/726_2.png) [@Tolriq](http://support.symfonium.app/u/Tolriq)\
**Post date:** [August 31, 2026, 7:45pm UTC](http://support.symfonium.app/t/offline-files-does-not-skip-forward-or-back/14877/9 "2026-08-31T19:45:48Z")

</div>

Yes but this is still something that should be addressed on Navidrome side in the transcoding request handling.

---

<div class="post-metadata">

**Author:** ![deluan](http://support.symfonium.app/user_avatar/support.symfonium.app/deluan/32/928_2.png) [@deluan](http://support.symfonium.app/u/deluan)\
**Post date:** [September 9, 2026, 9:59pm UTC](http://support.symfonium.app/t/offline-files-does-not-skip-forward-or-back/14877/10 "2026-09-09T21:59:18Z")

</div>

Hey @Tolriq

You are right, and it turned out to be two bugs feeding one symptom.

The first is the one you spotted. ForceFormat was clearing the direct play  
profiles unconditionally, so a player row set to “transcode to flac” re-encoded  
a FLAC source to FLAC. Pointless work. Fixed.

The second is the one that actually broke seeking, and it is not specific to  
flac to flac. Navidrome pipes ffmpeg’s stdout. The FLAC muxer writes STREAMINFO before  
it knows the length, then rewinds at the end to fill in total\_samples. A pipe is  
not seekable, so ffmpeg logs “unable to rewrite FLAC header” and the field stays  
0. Decoders need it to turn a timestamp into a byte offset.

Streaming survives because Symfonium re-requests with a new offset, which is why  
only the offline copy was broken. But any legitimate FLAC transcode had the same  
problem, 24/96 down to 16/44 for example, so dropping the player setting only  
hid it. FLAC is the only one of our default targets that fails this way. mp3,  
opus and aac all recover the duration from the bitrate or the granulepos.

Navidrome now rewrites total\_samples as the first 26 bytes of the output go past,  
using the duration it already has and the sample rate from the header ffmpeg  
just wrote.

Both are in #6105. Not merged yet, but out of draft and tested end to end on a  
real library. Sorry this one sat for so long.
