Media player displays wrong duration for variable bitrate mp3 files
Here is free track for example. It's real duration is 4:22
:
$ ffprobe /tmp/JLTM_-_The_blue_doll.mp3 |& grep Duration
Duration: 00:04:21.77, start: 0.025056, bitrate: 200 kb/s
But media player shows it's duration in track list as 4:55
:
Note that in playback bar current position is displayed properly and when playback of the track reaches the end seek bar displays 4:22
.
The bug is specific to variable bitrate mp3 files, I could not reproduce with ogg vorbis file (one more reason to use free formats but who cares :( ).
Confirmed. I use Winamp on my Windows PC. Winamp actually reports the track as 4.21 and plays through to 4.21 - nonetheless, your findings are correct; Jolla is clearly not handling vbr correctly.
Spam Hunter ( 2015-04-12 16:37:19 +0200 )editQuasarMx reports correct length. MediaInfo as well. Many players/decoders, including for Windows, report inaccurate length for VBR mp3 songs: this is likely to be related with the size of the sample they use to estimate the total duration (as the bits/time ratio isn't constant)
objectifnul ( 2015-04-13 00:33:28 +0200 )editThis might be related to using an old libav to get the duration of the file.
Could you install libav-tools and try avprobe on the phone?
If it is indeed because of that then perhaps an updated libav should fix it (Should happen during or right after we update to GStreamer 1.x).
MSameer ( 2015-05-18 18:54:10 +0200 )editavprobe
on the phone gives utterly wrong output. It recognizes this file as 21:49.38 long aac file!Here is full ffprobe output on the same file for comparison.
BTW, I've carefully picked free track as example, so you might check for yourself. To download the track run
Self-Perfection ( 2015-05-18 19:20:49 +0200 )editcurl -JO https://storage-new.newjamendo.com/download/track/1203488/mp32/
Perhaps we can wait then for the new libav then :(
MSameer ( 2015-05-19 22:14:24 +0200 )edit