Introduction to the OpenCORE Audio Components Used in the Android Platform

Audio and speech codecs such as MP3, AAC, and AMR are used extensively on mobile devices throughout the world. In the ideal case, such codecs rely on hardware acceleration. However, it is also very common to see software audio codecs running on the main application processor, which is often an ARM core processor. Such codecs must be memory efficient, processing cycle efficient, portable to multiple operating systems, robust to data loss, and must also have a modular interface. In this paper, we introduce the OpenCORE multimedia framework and associated optimized audio codecs which are a part of the Android platform. We show how these components meet the challenging requirements for use in mobile devices. The OpenCORE audio components are currently available from the Open Handset Alliance as part of the Android SDK, and the source code for these components is scheduled for release in late 2008. The components are thus freely available for use in mobile device projects, and for non-mobile projects as well.