Documentation > Cherokee Release

Realease Features

This release of JEEPlayer can only deal with MPEG1 media content. At this time, we are working to offer a wide media content support, but it's not implemented yet.

MPEG1 Player relies on JMF decoder. So in order to use JEEPlayer, JMF must be installed. JMF is the Java standard framework to manage media content. JMF can be dowloaded from SunĀ“s website. Here you can find JMF site.

Developing over JMF it's not an easy task. JEEPlayer hides its complexity, and offers an ready-to-use implementation-indepent interface to play multimedia content. Once a player is created, you only have to deal with data buffering, in a very easy way.

JEEP Architecture

JEEPlayer is designed upon two main interfaces: Player and Buffer abstract classes. Player is the key class for media decoding, and Buffer is the class where you store data for playing.

As you can see above, every Player can be directly added as Swing component. In order to obtain a Player ready-to-use you must do the following:

  1. Instanciate a Player: it can be done manually or using Player static method getPlayer. Both approachs needs a PlayerConfigurationObject. Using static method, MIME type format "xxx.yyy" is followed. See supported MIME types below.
  2. Prefetch necessary tasks: by calling prefetchPlayer, the Player performs its necessary actions before any visualization. Any time-consuming tasks are programmed in a parallel thread (unnoticed by users), without blocking current method call.
  3. Wait for STATUS_PREFETCHED state: when the Player gets to this state, it's completly configured and waiting for any PLAY, PAUSE, STOP,... call sequence.

Media TypeMIME
MPEG1video.mpeg

A PlayerConfigurationObject is basically a bean class with these properties to be set:
  1. MIME type
  2. Buffer instance where data is being stored
  3. Visual component iwdth and heigth

Developers just take care about buffering and event-handling, dealing with data source and storing data in the Buffer instance. Buffer writing/reading is done through instances BufferDataUnit wich associates media data with their timestamps. Event-handling can be performed through PlayerEventListener and BufferEventListener interfaces.

For a more exhaustive knowlegde about JEEPlayer, refer to JEEPlayer API. A demostrative application is also implemented showing JEEPlayer basics. Download it in the download section.