2. SkyOS Tour - Integrated streaming system

Submitted by Robert Szeleney on Fri, 2006-01-13 08:34.

ISS (Integrated streaming system)

The ISS is a very tightly-integrated sound and video system, which makes it very easy to access the audio and video multimedia services of SkyOS, while still providing a very powerful interface. The simplest way for programmers to allow their application to play an audio/video file is by simply calling the ISS_PlayFile function with a filename.

On the other hand, you can create extremely complex audio applications by using the various functions provided by ISS. For example, you can create two audio streams, one stereo, one 5.1 DolbyDigital, connecting an echo filter to the second, associating the 5.1 stream with a SB Audigy live and the stereo stream with a basic stereo soundcard, and apply various software digital filters to individual streams.

Much design work has gone into simplicity. Playing audio/video files (MP3, MPEG, DIVX, WMV, etc....) in your application can be achieved with just 5 - 10 lines of code (the ISS will automatically play the music stream and render the video into the provided window, and does optional scaling).
On the other side, the ISS always allows you to control almost
every part of the entire video/audio pipeline. For instance, you can add audio/video filters, manipulate data streams, adjust volumes, and access multiple streams, among other things.

Features of the ISS:

  • Supports unlimited number of simultaneous playing audio and video streams
  • Supports more than 60 audio/video codecs
  • Automatic down / up-sampling for audio streams
  • Automatic stream mixing
  • Automatic YUV<-->RGB convertion
  • Audio streams can be sent to different soundcards, or can be "broadcast" to all soundcards
  • Use various digital filter (volume, effects, sampling,... ) for audio streams
  • User can set volume for each audio stream seperatly using the mixer
  • Built-in, extandeable plugin system to automatically decode various sound file formats like MP3, Wav, Vorbis, WMV, etc.
  • Requires very low CPU usage by using the recently implemented fast DataExchange interface
  • ISS configuration is done by a plugin for the system manager, the central configuration interface to SkyOS
  • Requires zero configuration for basic audio and video output
  • Audio/Video playback (with all supported codecs) is embeddable into any application with just a few lines of code