Queues A GstQueue is a filter element. Queues can be used to connect two elements in such way that the data can be buffered. A buffer that is sinked to a Queue will not automatically be pushed to the next connected element but will be buffered. It will be pushed to the next element as soon as gst_connection_push () is called. Queues are mostly used in conjunction with a GstThread to provide an external connection for the thread elements. You could have one thread feeding buffers into a GstQueue and another thread repeadedly calling gst_connection_push () on the queue to feed its internal elements. Below is a figure of a two-threaded decoder. We have one thread (the main execution thread) reading the data from a file, and another thread decoding the data.
a two-threaded decoder with a queue