#include "kmedia2.idl"
#include "artsflow.idl"

/* the interfaces below are not kept binary compatible */

interface DecoderBaseObject : Arts::PlayObject, Arts::SynthModule
{
  /**
   * blocking flag - defaults to false - when set to true, mpeglib will not
   * try to minimize latencies by generating answers (i.e. empty blocks)
   * when the thread producing the data wasn't ready
   */
  attribute boolean blocking;
};


interface MP3PlayObject : DecoderBaseObject
{
  out audio stream left,right;
};


interface WAVPlayObject : DecoderBaseObject
{
  out audio stream left,right;
};


interface MPGPlayObject : DecoderBaseObject
{
  out audio stream left,right;
};


interface OGGPlayObject : DecoderBaseObject
{
  out audio stream left,right;
};

interface CDDAPlayObject : DecoderBaseObject
{
  out audio stream left,right;
};

interface VCDPlayObject : DecoderBaseObject
{
  out audio stream left,right;
};

interface NULLPlayObject : Arts::PlayObject , Arts::SynthModule
{
  out audio stream left,right;
};
