SourceFiles.org - Use the Source, Luke
Home | Register | News | Forums | Guide | MyLinks | Bookmark

Related Sites

Latest News
  General News
  Reviews
  Press Releases
  Software
  Hardware
  Security
  Tutorials
  Off Topic


Back to files

LinuX MultiMedia Project (XMMP)

Version 0.6.0

LinuX MultiMedia Project provides a generic powerfull API for all kind of multimedia. I can be used by any application for graph and sound output ( e.g. games ), but the API is designed especially for audio/video playback and editing.
It has modular structure, so formats, codecs, output devices can be added very easy. To make it modular, the project is based on plugins.

The are 9 plugin types:

  • Input ( DeMUX )
  • Output ( MUX )
  • Graph Output
  • Sound Output
  • Video Codec
  • Audio Codec
  • Video Filter
  • Audio Filter
  • I/O

Each of this types can be used independent. Not exactly ( e.g. Input plugins use I/O plugins and Audio/Video plguins ), but that fact is hidden from the programmer. For example, to use Input Plugins you don't have know anything about I/O plugins or Audio/Video codecs.

The core of the project is the XMMP library ( libxmm ). This library provides the interface for the programmer using this project and provides general stuff needed by the plugins. For example, it provides needed audio and video conversions and system specific code can be found in this library, as well. Plugins shouldn't contain system specific code. This makes it easy to port XMMP in future ( not important to me, right now ).

Part of this project is a player library ( libxmmplay ). This library makes it very easy for programmers to playback media files. The library can be controlled by simple commands ( Play, Stop, Status, ... ) and manages the complete playback of the media ( reading, output, A/V sync, ... ).

This software is distributed under GNU General Public Licence version 2, which can be found in the file "COPYING".

At this time the project provides all, that is needed for a player. Desired is a complete multimedia framework. Therefor the interfaces may change in future. Future of XMMP:

  • v0.6.1: MPEG 1/2 support and complete DVD playback
  • v0.7.0: xmmDub will be added. xmmDub will be a application

    similar to VirtualDub, that can be used for file format conversions. You are welcome to help making this project a good piece of software. If you are interested in developing 'stuff' related to XMMP or you have question feel free to contact me ( xmmp at frozenproductions.com )

The best way to learn how to use XMMP, is to check out the header files in 'include/libxmm' and 'include/libxmmplay'. This files are documented and easy to understand. This files are used by Doxygen to generate the API documentation. Only a few sample programs are available. These can be found in 'contrib/samples', but libxmmplay itsef is a good example for using the libxmm API. xmmplay is an example for the libxmmplay API.

Arthur Kleer ( kleer@frozenproductions.com )


Other Sites

Discussion Groups
  Beginners
  Distributions
  Networking / Security
  Software
  PDAs

About | FAQ | Privacy | Awards | Contact
Comments to the webmaster are welcome.
Copyright 2006 Sourcefiles.org All rights reserved.