The application clic can be used to setup a multimedia flow graph from a textual description, which is called graph description. Such a graph description describes a certain task that should be performed, like watching a movie or playback an audio file. To realize the different mp3 players described in section 1 is really simple. The graph description for the helloworld11 application looks like this and can be found in /home/bob/nmm/examples/helloworld:
GenericReadNode ! MPEGAudioDecodeNode ! PlaybackNode |
The exclamation mark (!) between two nodes specifies that they should be connected. So this graph description connects the GenericReadNode to the MPEGAudioDecodeNode and the MPEGAudioDecodeNode to the PlaybackNode. To start this example enter:
cd /home/bob/nmm/apps/clic (if you use a source package) ./clic /home/bob/nmm/examples/helloworld/helloworld.gd -i <my-mp3-file> cd /home/bob/nmm/bin (if you use a binary package) ./clic gd/helloworld/helloworld.gd -i <my-mp3-file> |
To use nodes from a different host, you write #setLocation("hostname") after the corresponding node name. The corresponding graph description for the application hellonmm1 looks like this.
GenericReadNode !
MPEGAudioDecodeNode #setLocation("host2") !
PlaybackNode #setLocation("host2")
|
The directory /home/bob/nmm/apps/clic/gd and its subdirectories provide several graph descriptions that can be used for audio and video playback or to transcode files from one format into another. If you use a binary package, the graph descriptions can be found in the directory /home/bob/nmm/bin/gd A complete description about clic and how to write a graph description can be found here.