Skip to main content

1.3.8 - Playback fixes

The addition of opensl has really brought on a lot of playback issues that I've had to overcome.  The issues are 100% the fault of the manufactures of the device, but I was still able to find a work around.

Issue #1:  Some devices like the galaxy s2 and galaxy note decode mono mp3s incorrectly.  Instead of decoding out to mono, they decode the audio into stereo, with the same data in the left and right channel.  Doing this is technically okay as long as they let the user of the decoder know the output is actually in stereo instead of mono.  These devices do not.  They report that the output only has 1 channel instead of 2.  GMMP would try to play stereo data in mono, which would result in playback being slower than normal.  I wrote some code to detect this behavior and it works fairly well, so I believe this is completely fixed.

Issue #2: Adding or removing of audio samples in the beginning of the decoding process.  I have 3 devices that run ICS and on all 3 of them, the mp3 decoder would add extra samples of silence to the beginning of the audio data.  This interferes with gapless playback.  For AAC playback on the galaxy s3, the decoder would completely remove the first 1000 or so samples of audio, which of course interferes with gapless as well.  The other 2 ICS devices do not do this, so there is a inconstancy between the opensl implementations on ICS and newer devices.  I did find a workaround that works on the 3 ICS devices I tested on and should be versatile enough to work on most other ICS devices.

If you run into either of these issues on 1.3.8, you can turn off opensl through preferences -> audio -> enable opensl.  Please send in an email if you do experience the issue.

You may ask why OpenSL is even used if it is causing so many problems.  The reason is the non opensl mp3 and aac decoders are not guaranteed to be on every device.  99% of the devices tested do contain the decoders, but with 4.1 removed the AAC decoder that was being used.  OpenSL may be buggy but it is guaranteed to be there on every device running 4.0+

Changelog:

1.3.8 (08/15/12):
-Fixed scrobbling issue with shuffle all enabled
-Prefetch errors will cause the track to skip immediately instead of after the 5 second timeout
-Fixed playback speed of mono files on galaxy s2, note, and possibly other devices updated to ICS
-Album search now will show albums that match the album name, artist name, or album artist name
-Album search will now only show an album once for various artist albums
-Fixed issue where positions in file browser would be lost when changing views
-Selecting 'Play Next' will now cancel 'Shuffle Collection' if enabled
-Fixed crash when updating notification controls
-Caught out of memory exception when trying to load background art
-ICS lockscreen will no longer disappear after pausing playback
-Changing tracks when paused/stopped will no longer automatically start playback
-Added chinese translation
-Updated russian, czech, spanish and german translations
-Fixed gapless playback for 4.0+
-Fixed issue where there would be a gap between the first and second song when playing a folder
-Fixed crash during file deletion

Popular posts from this blog

GMMP 1.3 Released! ReplayGain, cuesheet, bookmarking, 6 new skins, and much more.

After about a month and a half of hard work, 1.3 is finally available for download on google play and this blog.  I've gone with the pendulum screenshot for the main image for a long long time and with the new album art as a background feature I decided to pick a new song to use. Changelog: 1.3.0 (06/14/12): New Features: -Added ReplayGain support -Added single file cuesheet support (.cue files) -Added manual bookmark option to the now playing menu -Added auto bookmarking options (Preferences -> Audio -> Bookmarks) -Added option to remove a song from the active playlist after it is played (Prefs -> Playlist -> Remove After Played) -Added dsp limiter with customizable attack and release settings (reduces audio distortion and clipping) -Added EQ and Limiter toggle buttons to the equalizer view -Added 9 new EQ presets: Bass Max, Bass & Treble, Classical, Techno, Club, Reggae, Soft, Rap, and Metal -Notification controls added to 3.0+ -The current play

3.4.0

Plans for 3.4 changed a bit when google announced they will be hiding apps on newer versions of android if they dont target the newer sdks.  GMMP always tries to target one of the more recent versions of android, but the unlocker has no need for that since its essentially just a license key.  As of May 1st the unlocker will be hidden on newer versions of android to those who have not already purchased.  Because of this, the focus of 3.4 was to get in app purchases working to allow users to buy the full version after May 1st.  There is a new 'Purchase' section in the settings where the unlocker can now be purchased. One other change in 3.4 is the support for the Android 13+ media controls.  They changed around how to customize them, so that is reflected in a new 'Media Controls' section of the settings. The language can also be changed for just GMMP via the system settings The changelog itself is fairly small but I did a large update of all the libraries / dependencies t

3.4.5 Release / Preview of 3.5

3.4.5 was just uploaded to google play and should be rolling out over the next few days. Changelog: 3.4.5 (2023-08-29): Added Dutch translation Fixed crash editing rules in rule groups Disable IAP donation options if Full Version Unlock has not been purchased to prevent confusion Other changes since 3.4.0: Added Finnish translation and updated other translations Added donation options to the purchase settings area Fixed crash when trying to bookmark / unbookmark currently playing song Fixed Finnish not showing up in the language select Fixed other various crashes Fixed issue where rating or editing tags could potentially split the album Fixed some of the lists/grids not refreshing after changes 3.5 Preview I've been working on some new UI options planned for 3.5.  So far I've finished a new gradient background option for now playing.  There are 2 different styles (linear / radial) with 2 different color sources for each.  One source will take from the theme colors, the other st