[gst-devel] plugin directory/hierarchy

Wim Taymans wim.taymans at chello.be
Wed Mar 7 22:14:16 CET 2001


Face it, the plugins/ directory hierarchy is crap. We want to propose a
better layout for it now. Some things to consider:

 - Elements have a klass member in the factory that is used to
   denote the functional type of the element. For example, the
   mp3 encoder has a klass of Filter/Encoder/Audio

 - The plugins can be grouped together by the media type they
   operate on or by the way they work (decoder/encoder)

In GStreamer all plugins are techically filters, the only way they
can be considered sources or sinks (input/output) elements is
by the absence of src/sink pads. At first sight the source/filter/
sink distinction is quite useless because most of the plugins
will go into the filters category anyway.

We don't want to make the hierarchy too deep, yet provide a
clean way to ask for a mp3 decoder element..

Anyway this is a rough proposal to fire off the discussions...

Wim

Source
  Disk
    disksrc
    fdsrc
    multifilesrc
  Network
    HTTPsrc
    RTPsrc
  CDDA
    cdparanoia
  XMMS
    ..
  DVD
    dvdsrc
  Audio
    ASLA
    OSS
  Capture
    v4lsrc
    firewire

Demuxer
  AVI
  MPEG1
  MPEG2
  QT

Muxer
  AVI
  MPEG1
  QT

Aggregator

Tee
  gsttee

Connection
  queue
  CORBA

Parser
  MPEG1
  MPEG2
  AC3

Mixer
  Audio
    Merge
  Video
    Subtitles
    Merge

Filters
  Audio
    ladspa
    resample
  Video
    colorspace

Effect
  Audio
    stereo
    volume
    delay
    chorus
  Video
    median
    smooth
  XMMS

Decoder
  MPEG1
  MPEG2
  MP3
    mpg123
    xing
  win32
  AU
  WAV
  JPEG
  AC3
    ac3dec
  RTJPEG
  vorbis

Encoder
  MPEG1
  MPEG2
  MP3
    lame
    mpegaudio
  win32
  JPEG
  AU
  WAV
  RTJPEG
  Vorbis

Visualisation
  Video
    histogram
  Audio
    smoothwave
    spectrum
    synaesthesia
    vumeter
  XMMS

Sink
  Disk
    filesink
    multifilesink
  Network
    ICECASTsink
    FTPsink
    RTPsink
  XMMS
  ESD
  Video
    videosink
    SDLsink
  Audio
    OSSsink
    ALSAsink







More information about the gstreamer-devel mailing list