Gst::Allocator Class Reference

Allocate memory blocks. More...

`#include <gstreamermm/allocator.h>`

Inheritance diagram for Gst::Allocator:
[legend]

## Public Member Functions

| Allocator (Allocator&& src) noexcept
Allocator& | operator= (Allocator&& src) noexcept
| ~Allocator () noexcept override
GstAllocator* | gobj ()
| Provides access to the underlying C GObject. More...
const GstAllocator* | gobj () const
| Provides access to the underlying C GObject. More...
GstAllocator* | gobj_copy ()
| Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More...
void | free (Glib::RefPtr< Gst::Memory >&& memory)
| Free memory that was previously allocated with alloc(). More...
Glib::RefPtr< Gst::Memory > | alloc (gsize size, const Gst::AllocationParams& params)
| Use allocator to allocate a new memory block with memory that is at least size big. More...
Glib::RefPtr< Gst::Memory > | alloc (gsize size)
| A alloc() convenience overload. More...
void | set_default ()
| Set the default allocator. More...
virtual Glib::RefPtr< Gst::Memory > | alloc_vfunc (gsize size, const Gst::AllocationParams& params)
virtual void | free_vfunc (Glib::RefPtr< Gst::Memory >&& memory)
Public Member Functions inherited from Gst::Object
| Object (Object&& src) noexcept
Object& | operator= (Object&& src) noexcept
| ~Object () noexcept override
GstObject* | gobj ()
| Provides access to the underlying C GObject. More...
const GstObject* | gobj () const
| Provides access to the underlying C GObject. More...
GstObject* | gobj_copy ()
| Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More...
bool | is_element () const
bool | is_element_factory () const
bool | is_pad () const
bool | is_pad_template () const
bool | is_bin () const
guint32 | get_flags () const
| Returns the entire set of flags for the object. More...
bool | set_name (const Glib::ustring& name)
| Sets the name of object, or gives object a guaranteed unique name (if name is `nullptr`). More...
Glib::ustring | get_name () const
| Returns a copy of the name of object. More...
bool | set_parent (const Glib::RefPtr< Gst::Object >& parent)
| Sets the parent of object to parent. More...
Glib::RefPtr< Gst::Object > | get_parent ()
| Returns the parent of object. More...
Glib::RefPtr< const Gst::Object > | get_parent () const
| Returns the parent of object. More...
void | unparent ()
| Clear the parent of object, removing the associated reference. More...
void | set_control_rate (Gst::ClockTime control_rate)
| Change the control-rate for this object. More...
Gst::ClockTime | get_control_rate () const
| Obtain the control-rate for this object. More...
Gst::ClockTime | suggest_next_sync () const
| Returns a suggestion for timestamps where buffers should be split to get best controller results. More...
bool | sync_values (Gst::ClockTime timestamp)
| Sets the properties of the object, according to the Gst::ControlSources that (maybe) handle them and for the given timestamp. More...
void | set_control_bindings_disabled (bool disabled)
| This function is used to disable all controlled properties of the object for some time, i.e. sync_values() will do nothing. More...
bool | has_asctive_control_bindings () const
| Check if the object has an active controlled properties. More...
bool | has_ancestor (const Glib::RefPtr< const Gst::Object >& ancestor) const
| Check if object has an ancestor ancestor somewhere up in the hierarchy. More...
bool | has_as_ancestor (const Glib::RefPtr< Gst::Object >& ancestor) const
| Check if object has an ancestor ancestor somewhere up in the hierarchy. More...
bool | has_as_parent (const Glib::RefPtr< Gst::Object >& parent) const
| Check if parent is the parent of object. More...
Glib::ustring | get_path_string ()
| Generates a string describing the path of object in the object hierarchy. More...
Glib::PropertyProxy< Glib::ustring > | property_name ()
| The name of the object. More...
Glib::PropertyProxy_ReadOnly< Glib::ustring > | property_name () const
| The name of the object. More...
Glib::PropertyProxy< Glib::RefPtr< Gst::Object > > | property_parent ()
| The parent of the object. More...
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Gst::Object > > | property_parent () const
| The parent of the object. More...
Glib::SignalProxy< void, const Glib::RefPtr< Gst::Object >&, GParamSpec*> | signal_deep_notify ()
int | get_refcount () const

## Static Public Member Functions

static GType | get_type ()
| Get the GType for this class, for use with the underlying GObject type system. More...
static Glib::RefPtr< Gst::Allocator > | find (const Glib::ustring& name)
| Find a previously registered allocator with name. More...
static void | register_allocator (const Glib::ustring& name, Glib::RefPtr< Gst::Allocator >&& allocator)
| Registers the memory allocator with name. More...
static Glib::RefPtr< Gst::Allocator > | get_default_allocator ()
| Find default allocator. More...
Static Public Member Functions inherited from Gst::Object
static GType | get_type ()
| Get the GType for this class, for use with the underlying GObject type system. More...
static bool | check_uniqueness (const Glib::ListHandle< const Gst::Object >& list, const Glib::ustring& name)
| Checks to see if there is any object named name in list. More...

## Related Functions

(Note that these are not member functions.)
Glib::RefPtr< Gst::Allocator > | wrap (GstAllocator* object, bool take_copy=false)
| A Glib::wrap() method for this object. More...
Related Functions inherited from Gst::Object
Glib::RefPtr< Gst::Object > | wrap (GstObject* object, bool take_copy=false)
| A Glib::wrap() method for this object. More...

## Additional Inherited Members

Protected Member Functions inherited from Gst::Object
virtual void | on_deep_notify (const Glib::RefPtr< Gst::Object >& prop_object, GParamSpec* prop)
| This is a default handler for the signal signal_deep_notify(). More...

## Detailed Description

Allocate memory blocks.

Memory is usually created by allocators with a alloc() method call. When nullptr is used as the allocator, the default allocator will be used.

New allocators can be registered with register_allocator(). Allocators are identified by name and can be retrieved with find(). set_default() can be used to change the default allocator.

## Constructor & Destructor Documentation

## Allocator()

Gst::Allocator::Allocator | ( | Allocator&& | src | ) |

noexcept

## ~Allocator()

Gst::Allocator::~Allocator | ( |  | ) |

override noexcept

## Member Function Documentation

## alloc() [1/2]

Glib::RefPtr<Gst::Memory> Gst::Allocator::alloc | ( | gsize | size,
|  | const Gst::AllocationParams& | params
| ) |  |

Use allocator to allocate a new memory block with memory that is at least size big.

The optional params can specify the prefix and padding for the memory. If `nullptr` is passed, no flags, no extra prefix/padding and a default alignment is used.

The prefix/padding will be filled with 0 if flags contains Gst::MEMORY_FLAG_ZERO_PREFIXED and Gst::MEMORY_FLAG_ZERO_PADDED respectively.

When allocator is `nullptr`, the default allocator will be used.

The alignment in params is given as a bitmask so that align + 1 equals the amount of bytes to align to. For example, to align to 8 bytes, use an alignment of 7.

Parameters

  size | Size of the visible memory area.
  params | Optional parameters.

Returns
  A new Gst::Memory.

## alloc() [2/2]

Glib::RefPtr<Gst::Memory> Gst::Allocator::alloc | ( | gsize | size | ) |

A alloc() convenience overload.

## alloc_vfunc()

virtual Glib::RefPtr<Gst::Memory> Gst::Allocator::alloc_vfunc | ( | gsize | size,
|  | const Gst::AllocationParams& | params
| ) |  |

virtual

## find()

static Glib::RefPtr<Gst::Allocator> Gst::Allocator::find | ( | const Glib::ustring & | name | ) |

static

Find a previously registered allocator with name.

When name is `nullptr`, the default allocator will be returned.

Parameters

  name | The name of the allocator.

Returns
  A Gst::Allocator or `nullptr` when the allocator with name was not registered. Use Gst::Object::unref() to release the allocator after usage.

## free()

void Gst::Allocator::free | ( | Glib::RefPtr< Gst::Memory >&& | memory | ) |

Free memory that was previously allocated with alloc().

Parameters

  memory | The memory to free.

## free_vfunc()

virtual void Gst::Allocator::free_vfunc | ( | Glib::RefPtr< Gst::Memory >&& | memory | ) |

virtual

## get_default_allocator()

static Glib::RefPtr<Gst::Allocator> Gst::Allocator::get_default_allocator | ( |  | ) |

static

Find default allocator.

Returns
  : default allocator.

## get_type()

static GType Gst::Allocator::get_type | ( |  | ) |

static

Get the GType for this class, for use with the underlying GObject type system.

## gobj() [1/2]

GstAllocator* Gst::Allocator::gobj | ( |  | ) |

inline

Provides access to the underlying C GObject.

## gobj() [2/2]

const GstAllocator* Gst::Allocator::gobj | ( |  | ) | const

inline

Provides access to the underlying C GObject.

## gobj_copy()

GstAllocator* Gst::Allocator::gobj_copy | ( |  | ) |

Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.

## operator=()

Allocator& Gst::Allocator::operator= | ( | Allocator&& | src | ) |

noexcept

## register_allocator()

static void Gst::Allocator::register_allocator | ( | const Glib::ustring & | name,
|  | Glib::RefPtr< Gst::Allocator >&& | allocator
| ) |  |

static

Registers the memory allocator with name.

This function takes ownership of allocator.

Parameters

  name | The name of the allocator.
  allocator | Gst::Allocator.

## set_default()

void Gst::Allocator::set_default | ( |  | ) |

Set the default allocator.

This function takes ownership of allocator.

## Friends And Related Function Documentation

## wrap()

Glib::RefPtr< Gst::Allocator > wrap | ( | GstAllocator * | object,
|  | bool | take_copy = `false`
| ) |  |

related

A Glib::wrap() method for this object.

Parameters

  object | The C instance.
  take_copy | False if the result should take ownership of the C instance. True if it should take a new copy or ref.

Returns
  A C++ instance that wraps this C instance.