GStreamer Daemon is, as it name states, a process that runs independently and exposes a public interface for other processes to communicate with and control the daemon. The goal behind gstd is to abstract much of the complexity of writing custom GStreamer applications, as well as factoring out lots of boilerplate code required to write applications from scratch. As such, clients can focus on application-specific code accelerating time-to-market. This also removes the need to become a gobject expert and worry about memory leaks that often occur to engineers coding up GStreamer applications the first time.
The gstd public interface is exposed over a variety of Inter Process Communication (IPC) mechanisms. Different products or applications will use the most convenient IPC option. For example, QT applications may find it easier to communicate with gstd via DBus by auto-generating the respective bindings, web pages may find it natural to communicate via HTTP requests and desktop test frameworks may leverage the accompanying TCP client tool that is distributed with the gstd project. In the current release, only a TCP IPC mechanism is supported.