|
Post by calestyo on Sept 13, 2015 19:18:07 GMT -5
Hi.
I'm just trying out several music players for android, and apart from it's name I like GMMP quite a lot over e.g. Poweramp (whose name isn't much better either)...
Anyway... one issue I found it that gapless playback doesn't work - sometimes it does, often not. This was tried with LAME encoded MP3s, which play back gaplessly in e.g. mpv, ipod or poweramp.
At first I though the issue would have gone away when I select the Android EQ, but then it also happened there.
Further, GMMP seems to overplay these tracks, i.e. when the maximum length is e.g. 1:31, it plays until 1:34... interestingly, this is independent of whether the gapless playback works or not. Haven't tried other codecs yet, since I'm on vacation.
Cheers, Chris.
|
|
|
Post by GoneMAD on Sept 13, 2015 23:17:35 GMT -5
gapless works just fine (it is in fact better than every other player out there especially for mp3). I have some tracks that poweramp fail to playback gaplessly that gmmp handles perfectly. feel free to send me tracks you feel do not work tho. The current time is not very accurate and thats due to the decoder which is nothing i have control over
|
|
|
Post by calestyo on Sept 14, 2015 16:24:02 GMT -5
Hey.
Well I didn't meant to say Poweramp would be better than GMMP (as said, I actually like GMMP more)... yet it does't play back gaplessly what's played back correctly by other Android software (at least poweramp), hardware device (ipod) and Linux player (mpv).
Anyway... hopefully it can be fixed, I'll provide you with a download link in a PM.
As for the times,... do other players use their own decoder then?
Cheers, Chris.
|
|
|
Post by GoneMAD on Sept 15, 2015 11:27:04 GMT -5
Hey. Well I didn't meant to say Poweramp would be better than GMMP (as said, I actually like GMMP more)... yet it does't play back gaplessly what's played back correctly by other Android software (at least poweramp), hardware device (ipod) and Linux player (mpv). Anyway... hopefully it can be fixed, I'll provide you with a download link in a PM. As for the times,... do other players use their own decoder then? Cheers, Chris. some do. poweramp does
|
|
|
Post by calestyo on Sept 15, 2015 14:59:23 GMT -5
Some small update here: I couldn't check it thoroughly yet since I'm on vacation... but a few tries seemed to have shown, that the files I sent you do only then not play back gaplessly (or maybe it's not a gap but a spike), when the "OpenSL" option is disabled.
Contrary, when it's enabled, it seems to work and even the playback time issues mentioned above go away.
But as said,... so far, I only tried it a few times, and even with it disabled (I don't know how it got disabled, or is that the default?) it worked some times.
Cheers, Chris.
|
|
|
Post by GoneMAD on Sept 15, 2015 20:25:31 GMT -5
Some small update here: I couldn't check it thoroughly yet since I'm on vacation... but a few tries seemed to have shown, that the files I sent you do only then not play back gaplessly (or maybe it's not a gap but a spike), when the "OpenSL" option is disabled. Contrary, when it's enabled, it seems to work and even the playback time issues mentioned above go away. But as said,... so far, I only tried it a few times, and even with it disabled (I don't know how it got disabled, or is that the default?) it worked some times. Cheers, Chris. So i think you have the answer on what to do.. leave opensl off. OpenSL is an api provided by google for audio decoding however the implementation is completely dependent on the manufacturer of the device and its buggy and inconsistent in what output it provides. Ive tested on some devices where it literally just cuts off the first 50-60 samples of the audio data (in mp3 this is usually garbage data that gets skipped over anyway for gapless) which makes it really difficult to know how much data to cut off to do gapless. The mp3 tags provide the number of samples to skip, but when the decoder itself is skipping an arbitrary amount its nearly impossible. The OpenSL implementation in GMMP does some analysis on the first hundred or so samples to try and make the best guess on where to cut off the data, but its not 100% accurate and depends on the device This will not be fixed as its an issue with the devices implementation of opensl rather than gmmp's code (GMMP 2.1 will have a much more reliable mp3 decoder anyway)
|
|
|
Post by calestyo on Sept 15, 2015 20:50:42 GMT -5
So i think you have the answer on what to do.. leave opensl off. It's vice versa... it works when it's enabled. OpenSL is an api provided by google for audio decoding however the implementation is completely dependent on the manufacturer of the device and its buggy and inconsistent in what output it provides. Ive tested on some devices where it literally just cuts off the first 50-60 samples of the audio data (in mp3 this is usually garbage data that gets skipped over anyway for gapless) which makes it really difficult to know how much data to cut off to do gapless. The mp3 tags provide the number of samples to skip, but when the decoder itself is skipping an arbitrary amount its nearly impossible. The OpenSL implementation in GMMP does some analysis on the first hundred or so samples to try and make the best guess on where to cut off the data, but its not 100% accurate and depends on the device This will not be fixed as its an issue with the devices implementation of opensl rather than gmmp's code (GMMP 2.1 will have a much more reliable mp3 decoder anyway) Maybe you should add this to the FAQ,... I'm having a Samsung Galaxy S5, so likely many people could be affected by this problem (if they care) and it would make finding a solution for them easier. btw: As for gapless in MP3... I haven't had time to get deeper into this (due to the vacation thingy) but apparently lame provides another "gapless" mode which doesn't depend on the lame tag, explained here: sourceforge.net/p/lame/bugs/453/However, so far I haven't found any player, which actually plays these --nogap encoded MP3s from LAME correctly (even though, AFAIU on a first glance, it should work automatically)... maybe you want to have a look at this whether GMMP supports that other mode. Cheers, Chris.
|
|
|
Post by GoneMAD on Sept 15, 2015 22:33:38 GMT -5
ah well regardless mp3 decoding is much improved in 2.1 (there is a beta group on google+). The mp3 decoding patent expires in a week so apps can finally legally include their own mp3 decoder without having to pay royalties. ffmpeg handles gapless natively
|
|