# Dependencies

Why are there so many dependencies ?

Making a full-featured media framework is a huge undertaking in itself. By using the work done by others, we both reduce the amount of redundant work being done and leave ourselves free to work on the architecture itself instead of working on the low-level stuff. We would be stupid not to reuse the code others have written.

However, do realize that in no way you are forced to have all dependencies installed. None of the core developers has all of them installed. GStreamer has only a few obligate dependencies : GLib 2.0, liborc, and very common stuff like glibc, a C compiler, and so on. All of the other dependencies are optional.

So, in closing, let's rephrase the question to Why are you giving me so many choices and such a rich environment ?

Is GStreamer X independent ?

Yes, we have no hard X dependency in any of our modules. There are many GStreamer applications that run fine without any need for X, for example streaming servers, transcoding applications, or audio applications that don't output any video. Other applications output video to a framebuffer, custom-made hardware sinks, or via wayland.

What is GStreamer's position on efforts such as LADSPA ?

GStreamer actively supports such efforts, and in the case of LADSPA, we already have a wrapper plugin. This wrapper plug-in detects the LADSPA plugins present on your system at run time.

Does GStreamer support MIDI ?

Not yet. The GStreamer architecture should be able to support the needs of MIDI applications very well however. If you are a developer interested in adding MIDI support to GStreamer we are very interested in getting in touch with you.

MIDI playback is provided by plugins such as wildmidi and timidity.

Does GStreamer depend on GNOME or GTK+ ?

No. But many of the applications developed for GStreamer do, including some of our sample applications. Other applications use the Qt toolkit, or are written for Mac OS/X or Windows. We aim to provide API that is toolkit agnostic and can be used from any toolkit, desktop environment or operating system.