fc854aff72576db97650902f59604397b02d3f06
[platform/upstream/gstreamer.git] / docs / random / hierarchy
1 Face it, the plugins/ directory hierarchy is crap. We want to propose a
2 better layout for it now. Some things to consider:
3
4  - Elements have a klass member in the factory that is used to
5    denote the functional type of the element. For example, the
6    mp3 encoder has a klass of Filter/Encoder/Audio
7    
8  - The plugins can be grouped together by the media type they
9    operate on or by the way they work (decoder/encoder)
10    
11 In GStreamer all plugins are techically filters, the only way they
12 can be considered sources or sinks (input/output) elements is
13 by the absence of src/sink pads. At first sight the source/filter/
14 sink distinction is quite useless because most of the plugins
15 will go into the filters category anyway. 
16
17 We don't want to make the hierarchy too deep, yet provide a 
18 clean way to ask for a mp3 decoder element..
19
20 Anyway this is a rough proposal to fire off the discussions...
21
22 Wim
23
24 Source 
25   Disk
26     disksrc
27     fdsrc
28     multifilesrc
29   Network
30     HTTPsrc
31     RTPsrc
32   CDDA
33     cdparanoia
34   XMMS
35     ..
36   DVD
37     dvdsrc
38   Audio
39     ASLA
40     OSS
41   Capture
42     v4lsrc
43     firewire
44   
45 Demuxer     
46   AVI
47   MPEG1
48   MPEG2
49   QT
50   
51 Muxer
52   AVI
53   MPEG1
54   QT
55   
56 Aggregator
57
58 Tee
59   gsttee
60   
61 Connection
62   queue
63   CORBA
64
65 Parser
66   MPEG1
67   MPEG2
68   AC3
69
70 Mixer
71   Audio
72     Merge
73   Video
74     Subtitles
75     Merge
76
77 Filters
78   Audio
79     ladspa
80     resample
81   Video
82     colorspace
83   
84 Effect
85   Audio
86     stereo
87     volume
88     delay
89     chorus
90   Video
91     median
92     smooth
93   XMMS
94
95 Decoder
96   MPEG1
97   MPEG2
98   MP3
99     mpg123
100     xing
101   win32
102   AU
103   WAV
104   JPEG
105   AC3
106     ac3dec
107   RTJPEG
108   vorbis
109
110 Encoder
111   MPEG1
112   MPEG2
113   MP3
114     lame
115     mpegaudio
116   win32
117   JPEG
118   AU
119   WAV
120   RTJPEG
121   Vorbis
122
123 Visualisation
124   Video
125     histogram  
126   Audio
127     smoothwave
128     spectrum
129     synaesthesia
130     vumeter
131   XMMS
132
133 Sink
134   Disk
135     filesink
136     multifilesink
137   Network
138     ICECASTsink
139     FTPsink
140     RTPsink
141   XMMS
142   ESD
143   Video
144     videosink
145     SDLsink
146   Audio
147     OSSsink
148     ALSAsink
149