summaryrefslogtreecommitdiff
path: root/docs/random/hierarchy
blob: c4e03ba40e1d440ac1db5189d5f329831eee1611 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
OUTDATED
--------


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 Codec/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