Track Duration displayed is smaller than real duration

Issue description:

For only one specific song the duration displayed is wrong (From actual duration 3:30, to 29 seconds). Trying to forward the track via the notification after 29 seconds( which displays 3:30) skips to the next one and i have verified that the issue isnt with Navidrome transcoding (opus 320kbps) by caching the track, exporting to downloads and opening with symfonium as a local track (it displays and plays correctly). My guess is that, according to the other issues, its an incompatibility with exoplayer. Also i have checked that i have the latest version of symfonium.

Logs:

Upload description: DUCKYWFC

Additional information:

 
Whenever played from cache or server the quality is flac, however when played from the file exported from cache it is opus 320kbps and its extension is still flac. Maybe its related?
 

Reproduction steps:

 

  1. Play track from server (doesnt matter if it is cached or not since both result to wrong duration)
  2. Cache and extract track
  3. Play extracted track as local ( displays correct duration )
     

Media provider:

Subsonic

Screenshots:

 

    

flac -t Warsaw.flac

flac 1.3.3
Copyright (C) 2000-2009  Josh Coalson, 2011-2016  Xiph.Org Foundation
flac comes with ABSOLUTELY NO WARRANTY.  This is free software, and you are
welcome to redistribute it under certain conditions.  Type `flac' for details.

Warsaw.flac: *** Got error code 0:FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC

The input file is either not a FLAC file or is corrupted.  If you are
convinced it is a FLAC file, you can rerun the same command and add the
-F parameter to try and recover as much as possible from the file.

I checked it and you are right. The file is an ogg opus file with a flac extension ( probably due to the original file being flac ). Transcode to mp3 nor ignore server transcoding settings help. Is there anything that you could do from your side to fix it or does it completely depend to navidrome? Also is there any workaround to make it work?

When disabling enforce bitrate it displays properly the time when streaming. When saving with original bitrate the issue persists. So the issue seems to be with the file extension.

I do not understand what you do so it’s hard to tell. If the original file is corrupted there’s not much to do.

I am sorry for confusing you with all these texts. The file i embedded is the file exported from symfonium which is a ogg opus (probably ogg due to the max bitrate being set) that has no integrity issues according to ogginfo. The file on the server is a flac. The app seems to load the file as a flac which would obviously cause issues, possibly due to transcoding the flac while retaining its extension as indicated on the exported file (Warsaw.flac). Can i do something to verify that or do i have to resort to local files? If you need any more info or logs i will be happy to provide them.

I’d need the original file to reproduce, the file extension should not have any impact, unless the start of the file is compatible with flac and Exoplayer bugs and wrong branch to flac.

I uploaded the file here: https://share.symfonium.app/app/share/Symfonium with description DUCKYWFC

I can’t reproduce so no idea what happens.

Exoplayer always play the media exported or streamed and is not impacted by the file extension.
The fact that the the interface shows FLAC means that there’s no transcoding in that case either.

I will just rely on local files then. Thanks a lot for your time.