Context

gstreamer.Context is a container object used to store contexts like a device context, a display server connection and similar concepts that should be shared between multiple elements.

Applications can set a context on a complete pipeline by using Element.setContext, which will then be propagated to all child elements. Elements can handle these in gstreamer.ElementClass.ElementClass.set_context|gstreamer.ElementClass.set_context and merge them with the context information they already have.

When an element needs a context it will do the following actions in this order until one step succeeds: 1. Check if the element already has a context 2. Query downstream with GST_QUERY_CONTEXT for the context 3. Query upstream with GST_QUERY_CONTEXT for the context 4. Post a GST_MESSAGE_NEED_CONTEXT message on the bus with the required context types and afterwards check if a usable context was set now 5. Create a context by itself and post a GST_MESSAGE_HAVE_CONTEXT message on the bus.

Bins will catch GST_MESSAGE_NEED_CONTEXT messages and will set any previously known context on the element that asks for it if possible. Otherwise the application should provide one if it can.

gstreamer.Context<!-- -->s can be persistent. A persistent gstreamer.Context is kept in elements when they reach GST_STATE_NULL, non-persistent ones will be removed. Also, a non-persistent context won't override a previous persistent context set to an element.

Constructors

this
this(GstContext* gstContext, bool ownedRef)

Sets our main struct and passes it to the parent class.

this
this(string contextType, bool persistent)

Create a new context.

Members

Functions

getContextStruct
GstContext* getContextStruct(bool transferOwnership)

Get the main Gtk struct

getContextType
string getContextType()

Get the type of context.

getStruct
void* getStruct()

the main Gtk struct as a void*

getStructure
Structure getStructure()

Access the structure of the context.

hasContextType
bool hasContextType(string contextType)

Checks if context has context_type.

isPersistent
bool isPersistent()

Check if context is persistent.

writableStructure
Structure writableStructure()

Get a writable version of the structure.

Static functions

getType
GType getType()

Variables

gstContext
GstContext* gstContext;

the main Gtk struct

Meta