Porting Applications to

Using
The utility, described previously, allows most legacy sound applications that talk to the audio devices directly, to work properly under . Applications written to use the Enlightenment Sound Daemon (esd) will also work in most cases by running esd under .
This makes a good short term solution to porting existing applications to . However, it does not allow the application to directly take advantage of all of the power of , such as using modules and multimedia streams other than digital audio. If the application ges beyond simple playing of sound files, it usually makes sense to add native support for to the application.
Using also means that application does not have to do as much work -- it can leverage the functions in to handle issues like codecs for different media formats and control of the sound hardware.

Adding Native support
When using , you have a number of different APIs to choose from. The decision of which to use depends on a number of factors, including what type of streaming media is used (sound, , audio, ), the API features required, and whether it is written in C++. In most cases the choice should be relatively obvious based on the required features.
For cross-platform portability, applications that need to run on environments other than cannot rely on being present. Using the plug-ins paradigm is a good way to support different multimedia environments. Making the plug-in API open and documented (especially for closed source applications) also has the advantage of allowing someone other than the application developer to implement an plug-in.