Rockbox
ca09f91f64
Internally, buffering tries to load the entire album art file into the audio buffer, which will fail if the file is larger than the buffer. Playback.c interprets a file failing to buffer to mean that the buffer is full, so it waits for more space and tries again. This results in a deadlock since the file will never fit. Change bufopen to return a new error condition when an image file will not fit on the buffer because it is too large: ERR_BITMAP_TOO_LARGE. Note that we arbitrarily set "too large" to be within 64KB of the entire buffer size or larger, this could be adjusted if needed. Change audio_load_albumart to pass through error messages from bufopen. In playback.c, check to see why audio_load_albumart fails. If it fails because the file is too large to buffer, simply ignore the file. If it fails because the file would fit but the buffer is full, try again later. Change-Id: I66799ae26f124b495e1522fce7285332f4cf986f |
||
---|---|---|
android | ||
apps | ||
backdrops | ||
bootloader | ||
debian | ||
docs | ||
firmware | ||
fonts | ||
gdb | ||
icons | ||
lib | ||
manual | ||
packaging | ||
rbutil | ||
tools | ||
uisimulator | ||
utils | ||
wps | ||
.gitattributes | ||
.gitignore |
__________ __ ___. Open \______ \ ____ ____ | | _\_ |__ _______ ___ Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ \/ \/ \/ \/ \/ Build Your Own Rockbox 1. Clone 'rockbox' from git (or extract a downloaded archive). $ git clone git://git.rockbox.org/rockbox or $ tar xjf rockbox.tar.bz2 2. Create a build directory, preferably in the same directory as the firmware/ and apps/ directories. This is where all generated files will be written. $ cd rockbox $ mkdir build $ cd build 3. Make sure you have sh/arm/m68k-elf-gcc and siblings in the PATH. Make sure that you have 'perl' in your PATH too. Your gcc cross compiler needs to be a particular version depending on what player you are compiling for. These can be acquired with the rockboxdev.sh script in the /tools/ folder of the source, or will have been included if you've installed one of the toolchains or development environments provided at http://www.rockbox.org/ $ which sh-elf-gcc $ which perl 4. In your build directory, run the 'tools/configure' script and enter what target you want to build for and if you want a debug version or not (and a few more questions). It'll prompt you. The debug version is for making a gdb version out of it. It is only useful if you run gdb towards your target Archos. $ ../tools/configure 5. *ploink*. Now you have got a Makefile generated for you. 6. Run 'make' and soon the necessary pieces from the firmware and the apps directories have been compiled, linked and scrambled for you. $ make $ make zip 7. unzip the rockbox.zip on your music player, reboot it and *smile*. If you want to build for more than one target, just create several build directories and create a setup for each target: $ mkdir build-fmrecorder $ cd build-fmrecorder $ ../tools/configure $ mkdir build-player $ cd build-player $ ../tools/configure Questions anyone? Ask on the mailing list. We'll be happy to help you!