Blame docs/gst/html/GstContext.html

Packit Service 963350
Packit Service 963350
<html>
Packit Service 963350
<head>
Packit Service 963350
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
Packit Service 963350
<title>GstContext: GStreamer 1.0 Core Reference Manual</title>
Packit Service 963350
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
Packit Service 963350
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
Packit Service 963350
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
Packit Service 963350
<link rel="prev" href="gstreamer-GstConfig.html" title="GstConfig">
Packit Service 963350
<link rel="next" href="GstControlBinding.html" title="GstControlBinding">
Packit Service 963350
<meta name="generator" content="GTK-Doc V1.27 (XML mode)">
Packit Service 963350
<link rel="stylesheet" href="style.css" type="text/css">
Packit Service 963350
</head>
Packit Service 963350
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
Packit Service 963350
Packit Service 963350
Packit Service 963350
Top  | 
Packit Service 963350
                  Description  | 
Packit Service 963350
                  Object Hierarchy
Packit Service 963350
Packit Service 963350
Home
Packit Service 963350
Up
Packit Service 963350
Prev
Packit Service 963350
Next
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350

GstContext

Packit Service 963350

GstContext — Lightweight objects to represent element contexts

Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350

Functions

Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
GstContext *
Packit Service 963350
Packit Service 963350
Packit Service 963350
gst_context_new ()
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
GstContext *
Packit Service 963350
Packit Service 963350
Packit Service 963350
gst_context_ref ()
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
void
Packit Service 963350
Packit Service 963350
Packit Service 963350
gst_context_unref ()
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
GstContext *
Packit Service 963350
Packit Service 963350
Packit Service 963350
gst_context_copy ()
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
const gchar *
Packit Service 963350
Packit Service 963350
Packit Service 963350
gst_context_get_context_type ()
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
gboolean
Packit Service 963350
Packit Service 963350
Packit Service 963350
gst_context_has_context_type ()
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
gboolean
Packit Service 963350
Packit Service 963350
Packit Service 963350
gst_context_is_persistent ()
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
const GstStructure *
Packit Service 963350
Packit Service 963350
Packit Service 963350
gst_context_get_structure ()
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
GstStructure *
Packit Service 963350
Packit Service 963350
Packit Service 963350
gst_context_writable_structure ()
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
#define
Packit Service 963350
Packit Service 963350
gst_context_make_writable()
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
#define
Packit Service 963350
Packit Service 963350
gst_context_is_writable()
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
gboolean
Packit Service 963350
Packit Service 963350
Packit Service 963350
gst_context_replace ()
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350

Types and Values

Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
 
Packit Service 963350
GstContext
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350

Object Hierarchy

Packit Service 963350
    GBoxed
Packit Service 963350
    ╰── GstContext
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350

Includes

Packit Service 963350
#include <gst/gst.h>
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350

Description

Packit Service 963350

GstContext is a container object used to store contexts like a device

Packit Service 963350
context, a display server connection and similar concepts that should
Packit Service 963350
be shared between multiple elements.

Packit Service 963350

Applications can set a context on a complete pipeline by using

Packit Service 963350
gst_element_set_context(), which will then be propagated to all
Packit Service 963350
child elements. Elements can handle these in GstElementClass.set_context()
Packit Service 963350
and merge them with the context information they already have.

Packit Service 963350

When an element needs a context it will do the following actions in this

Packit Service 963350
order until one step succeeds:

Packit Service 963350
    Packit Service 963350
  1. Check if the element already has a context

  2. Packit Service 963350
  3. Query downstream with GST_QUERY_CONTEXT for the context

  4. Packit Service 963350
  5. Query upstream with GST_QUERY_CONTEXT for the context

  6. Packit Service 963350
  7. Post a GST_MESSAGE_NEED_CONTEXT message on the bus with the required

  8. Packit Service 963350
    context types and afterwards check if a usable context was set now

    Packit Service 963350
  9. Create a context by itself and post a GST_MESSAGE_HAVE_CONTEXT message

  10. Packit Service 963350
    on the bus.

    Packit Service 963350
    Packit Service 963350

    Bins will catch GST_MESSAGE_NEED_CONTEXT messages and will set any previously

    Packit Service 963350
    known context on the element that asks for it if possible. Otherwise the
    Packit Service 963350
    application should provide one if it can.

    Packit Service 963350

    GstContexts can be persistent.

    Packit Service 963350
    A persistent GstContext is kept in elements when they reach
    Packit Service 963350
    GST_STATE_NULL, non-persistent ones will be removed.
    Packit Service 963350
    Also, a non-persistent context won't override a previous persistent
    Packit Service 963350
    context set to an element.

    Packit Service 963350
    Packit Service 963350
    Packit Service 963350

    Functions

    Packit Service 963350
    Packit Service 963350

    gst_context_new ()

    Packit Service 963350
    GstContext *
    Packit Service 963350
    gst_context_new (const gchar *context_type,
    Packit Service 963350
                     gboolean persistent);
    Packit Service 963350

    Create a new context.

    Packit Service 963350
    Packit Service 963350

    Parameters

    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350

    context_type

    Packit Service 963350

    Context type

    Packit Service 963350
     
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350

    persistent

    Packit Service 963350

    Persistent context

    Packit Service 963350
     
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350

    Returns

    Packit Service 963350

    The new context.

    Packit Service 963350

    [transfer full]

    Packit Service 963350
    Packit Service 963350

    Since: 1.2

    Packit Service 963350
    Packit Service 963350

    Packit Service 963350
    Packit Service 963350

    gst_context_ref ()

    Packit Service 963350
    GstContext *
    Packit Service 963350
    gst_context_ref (GstContext *context);
    Packit Service 963350

    Convenience macro to increase the reference count of the context.

    Packit Service 963350
    Packit Service 963350

    Parameters

    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350

    context

    Packit Service 963350

    the context to ref

    Packit Service 963350
     
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350

    Returns

    Packit Service 963350

    context

    Packit Service 963350
    (for convenience when doing assignments)

    Packit Service 963350
    Packit Service 963350
    Packit Service 963350

    Packit Service 963350
    Packit Service 963350

    gst_context_unref ()

    Packit Service 963350
    void
    Packit Service 963350
    gst_context_unref (GstContext *context);
    Packit Service 963350

    Convenience macro to decrease the reference count of the context, possibly

    Packit Service 963350
    freeing it.

    Packit Service 963350
    Packit Service 963350

    Parameters

    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350

    context

    Packit Service 963350

    the context to unref

    Packit Service 963350
     
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350

    Packit Service 963350
    Packit Service 963350

    gst_context_copy ()

    Packit Service 963350
    GstContext *
    Packit Service 963350
    gst_context_copy (const GstContext *context);
    Packit Service 963350

    Creates a copy of the context. Returns a copy of the context.

    Packit Service 963350
    Packit Service 963350

    Parameters

    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350

    context

    Packit Service 963350

    the context to copy

    Packit Service 963350
     
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350

    Returns

    Packit Service 963350

    a new copy of context

    Packit Service 963350
    .

    Packit Service 963350

    MT safe.

    Packit Service 963350

    [transfer full]

    Packit Service 963350
    Packit Service 963350
    Packit Service 963350

    Packit Service 963350
    Packit Service 963350

    gst_context_get_context_type ()

    Packit Service 963350
    const gchar *
    Packit Service 963350
    gst_context_get_context_type (const GstContext *context);
    Packit Service 963350

    Get the type of context

    Packit Service 963350
    .

    Packit Service 963350
    Packit Service 963350

    Parameters

    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350

    context

    Packit Service 963350

    The GstContext.

    Packit Service 963350
     
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350

    Returns

    Packit Service 963350

    The type of the context.

    Packit Service 963350
    Packit Service 963350

    Since: 1.2

    Packit Service 963350
    Packit Service 963350

    Packit Service 963350
    Packit Service 963350

    gst_context_has_context_type ()

    Packit Service 963350
    gboolean
    Packit Service 963350
    gst_context_has_context_type (const GstContext *context,
    Packit Service 963350
                                  const gchar *context_type);
    Packit Service 963350

    Checks if context

    Packit Service 963350
     has context_type
    Packit Service 963350
    .

    Packit Service 963350
    Packit Service 963350

    Parameters

    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350

    context

    Packit Service 963350

    The GstContext.

    Packit Service 963350
     
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350

    context_type

    Packit Service 963350

    Context type to check.

    Packit Service 963350
     
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350

    Returns

    Packit Service 963350

    TRUE if context

    Packit Service 963350
    has context_type
    Packit Service 963350
    .

    Packit Service 963350
    Packit Service 963350

    Since: 1.2

    Packit Service 963350
    Packit Service 963350

    Packit Service 963350
    Packit Service 963350

    gst_context_is_persistent ()

    Packit Service 963350
    gboolean
    Packit Service 963350
    gst_context_is_persistent (const GstContext *context);
    Packit Service 963350

    Check if context

    Packit Service 963350
     is persistent.

    Packit Service 963350
    Packit Service 963350

    Parameters

    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350

    context

    Packit Service 963350

    The GstContext.

    Packit Service 963350
     
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350

    Returns

    Packit Service 963350

    TRUE if the context is persistent.

    Packit Service 963350
    Packit Service 963350

    Since: 1.2

    Packit Service 963350
    Packit Service 963350

    Packit Service 963350
    Packit Service 963350

    gst_context_get_structure ()

    Packit Service 963350
    const GstStructure *
    Packit Service 963350
    gst_context_get_structure (const GstContext *context);
    Packit Service 963350

    Access the structure of the context.

    Packit Service 963350
    Packit Service 963350

    Parameters

    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350

    context

    Packit Service 963350

    The GstContext.

    Packit Service 963350
     
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350

    Returns

    Packit Service 963350

    The structure of the context. The structure is

    Packit Service 963350
    still owned by the context, which means that you should not modify it,
    Packit Service 963350
    free it and that the pointer becomes invalid when you free the context. 

    Packit Service 963350

    [transfer none]

    Packit Service 963350
    Packit Service 963350

    Since: 1.2

    Packit Service 963350
    Packit Service 963350

    Packit Service 963350
    Packit Service 963350

    gst_context_writable_structure ()

    Packit Service 963350
    GstStructure *
    Packit Service 963350
    gst_context_writable_structure (GstContext *context);
    Packit Service 963350

    Get a writable version of the structure.

    Packit Service 963350
    Packit Service 963350

    Parameters

    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350

    context

    Packit Service 963350

    The GstContext.

    Packit Service 963350
     
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350

    Returns

    Packit Service 963350

    The structure of the context. The structure is still

    Packit Service 963350
    owned by the context, which means that you should not free it and
    Packit Service 963350
    that the pointer becomes invalid when you free the context.
    Packit Service 963350
    This function checks if context
    Packit Service 963350
    is writable.

    Packit Service 963350
    Packit Service 963350

    Since: 1.2

    Packit Service 963350
    Packit Service 963350

    Packit Service 963350
    Packit Service 963350

    gst_context_make_writable()

    Packit Service 963350
    #define         gst_context_make_writable(context)  GST_CONTEXT_CAST (gst_mini_object_make_writable (GST_MINI_OBJECT_CAST (context)))
    Packit Service 963350
    Packit Service 963350

    Checks if a context is writable. If not, a writable copy is made and

    Packit Service 963350
    returned.

    Packit Service 963350
    Packit Service 963350

    Parameters

    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350

    context

    Packit Service 963350

    the context to make writable.

    Packit Service 963350
    [transfer full]
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350

    Returns

    Packit Service 963350

    a context (possibly a duplicate) that is writable.

    Packit Service 963350

    MT safe.

    Packit Service 963350

    [transfer full]

    Packit Service 963350
    Packit Service 963350
    Packit Service 963350

    Packit Service 963350
    Packit Service 963350

    gst_context_is_writable()

    Packit Service 963350
    #define         gst_context_is_writable(context)     gst_mini_object_is_writable (GST_MINI_OBJECT_CAST (context))
    Packit Service 963350
    Packit Service 963350

    Tests if you can safely write into a context's structure or validly

    Packit Service 963350
    modify the seqnum and timestamp fields.

    Packit Service 963350
    Packit Service 963350

    Parameters

    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350

    context

    Packit Service 963350

    a GstContext

    Packit Service 963350
     
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350

    Packit Service 963350
    Packit Service 963350

    gst_context_replace ()

    Packit Service 963350
    gboolean
    Packit Service 963350
    gst_context_replace (GstContext **old_context,
    Packit Service 963350
                         GstContext *new_context);
    Packit Service 963350

    Modifies a pointer to a GstContext to point to a different GstContext. The

    Packit Service 963350
    modification is done atomically (so this is useful for ensuring thread safety
    Packit Service 963350
    in some cases), and the reference counts are updated appropriately (the old
    Packit Service 963350
    context is unreffed, the new one is reffed).

    Packit Service 963350

    Either new_context

    Packit Service 963350
     or the GstContext pointed to by old_context
    Packit Service 963350
     may be NULL.

    Packit Service 963350
    Packit Service 963350

    Parameters

    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350

    old_context

    Packit Service 963350

    pointer to a pointer to a GstContext

    Packit Service 963350
    to be replaced. 

    Packit Service 963350
    [inout][transfer full]
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350

    new_context

    Packit Service 963350

    pointer to a GstContext that will

    Packit Service 963350
    replace the context pointed to by old_context
    Packit Service 963350
    . 

    Packit Service 963350
    [allow-none][transfer none]
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350

    Returns

    Packit Service 963350

    TRUE if new_context

    Packit Service 963350
    was different from old_context
    Packit Service 963350

    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350

    Types and Values

    Packit Service 963350
    Packit Service 963350

    GstContext

    Packit Service 963350
    typedef struct _GstContext GstContext;
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350

    See Also

    Packit Service 963350

    GstMiniObject, GstElement

    Packit Service 963350
    Packit Service 963350
    Packit Service 963350
    Packit Service 963350

    Generated by GTK-Doc V1.27
    Packit Service 963350
    </body>
    Packit Service 963350
    </html>