A game system utilizes a codecs abstraction laver (CAL) to allow the game
system to accommodate new and/or modified codecs without requiring the
game application code to be modified. The CAL, functioning as an
application programming interface (API), operates between media sources
and the game application. The game application interacts with the CAL and
not the codec. Differences between codecs are transparent to the game
application. New codecs can be introduced and used by existing
applications without modifying the existing application code. The CAL
processes media from a variety of sources such as memory, files, http
sources, queues, custom sources, external drives, or game media sources
(e.g., XMedia). The CAL determines the source of the media, the type of
media being received (e.g., audio, video, image, animation, or game), and
the codec used to compress the media. The CAL provides the decoded media
to the game application.