The JPEG decoder application source are located under /APPLICATIONS/AUDIO- PLAYER/JPG/. This is a layer that handles the data input and output of the JPEG library. It also handles the error handling to jump out of the library in case of a critical error. Since the JPEG decoding is done in the SDRAM, the memory management back-end of the library is located here too, which normally would be included in the library itself. The memory management back- end is modified to use the SDRAM with the DLMALLOC memory manager (in /SER- VICES/MEMORY/MEMORY_MANAGER/DLMALLOC/) instead of the standard malloc implementation.
There are two different configuration files. The one related to the audio player itself, located under /APPLICATIONS/AUDIO-PLAYER/<part>-<board>-<feature(s)>/conf_audio_player.h, is mostly a high level configuration file and can be customized to support certain configurations or enable/disable audio player features. The rest of the configuration files are located under the /APPLICATIONS/AUDIO-PLAYER/CONF/ directory and should be modified to change, sepa- ratly, audio player’s module configurations.
Configuration files are not linked to ‘IAR’, ‘GCC’ or ‘Avr32Studio’ projects. The user can alter any of them, then rebuild the entire project in order to reflect the new configuration.
High level configuration file: /APPLICATIONS/AUDIO-PLAYER/<part>-<board>- <feature(s)>/conf_audio_player.h.
DEFAULT_DACS, specifies the default audio DAC used for the audio output. 3 values are possible: AUDIO_MIXER_DAC_AIC23B for the I2S interface , AUDIO_MIXER_DAC_ABDAC for the internal DAC (ABDAC module) , and AUDIO_MIXER_DAC_PWM_DAC to use PWM channels (external low-pass filter is required).
USE_AUDIO_PLAYER_BUFFERIZATION, set to ‘ENABLED’ to support navigation while playing feature, it will use extra memory to buffer decoded samples in order to prevent audio blips while the user navigates in the disk architecture for example. The memory address and size can be configured in the file ‘conf_buff_player.h’ (see bellow). Note that using the audio sample bufferization will not ensure that every audio blip will be covered. It will always depends on the speed of the USB device connected, its file system, the operations requested. The default buffer size is set to 128K.
SUPPORT_MP3, SUPPORT_PLAYLISTS, SUPPORT_EMBEDDED_COVER_ARTS: a set of defines that can be enabled or disabled to reduce audio player features. Note that the use of the embedded cover arts requires RAM in order to decode embedded JPEG pictures. Therefore it needs an external memory to handle this feature.
conf access.h This file contains the possible external configuration of the memory access control. It configures the abstract layer between the memory and the application and specifies the commands used in order to access the memory. For example, this file will define the functions to be called for a SD/MMC memory access.
conf audio_interface.h A set of configuration flags to enable/disable internal features of the audio player.
Low level configuration files: /APPLICATIONS/AUDIO-PLAYER/CONF/*.h.