AHardwareBuffer

The AHardwareBuffer helpers provide a common interface for detecting and querying AHardwareBuffer-backed GstMemory.

The GST_CAPS_FEATURE_MEMORY_AHARDWAREBUFFER caps feature can be used on video/x-raw caps to negotiate AHardwareBuffer-backed buffers.

Functions

gst_ahardware_buffer_format_from_caps_string

gboolean
gst_ahardware_buffer_format_from_caps_string (const gchar * value,
                                              guint32 * format)

Parses the canonical string representation used by the ahb-format caps field.

Parameters:

value

an AHardwareBuffer format string

format ( [out])

location for the Android AHardwareBuffer format value

Returns

TRUE if value is a known name or canonical hexadecimal value.

Since : 1.30


GstAllocators.prototype.ahardware_buffer_format_from_caps_string

function GstAllocators.prototype.ahardware_buffer_format_from_caps_string(value: String): {
    // javascript wrapper for 'gst_ahardware_buffer_format_from_caps_string'
}

Parses the canonical string representation used by the ahb-format caps field.

Parameters:

value (String)

an AHardwareBuffer format string

Returns a tuple made of:

(Number )

true if value is a known name or canonical hexadecimal value.

format (Number )

true if value is a known name or canonical hexadecimal value.

Since : 1.30


GstAllocators.ahardware_buffer_format_from_caps_string

def GstAllocators.ahardware_buffer_format_from_caps_string (value):
    #python wrapper for 'gst_ahardware_buffer_format_from_caps_string'

Parses the canonical string representation used by the ahb-format caps field.

Parameters:

value (str)

an AHardwareBuffer format string

Returns a tuple made of:

(bool )

True if value is a known name or canonical hexadecimal value.

format (int )

True if value is a known name or canonical hexadecimal value.

Since : 1.30


gst_ahardware_buffer_format_to_caps_string

gchar *
gst_ahardware_buffer_format_to_caps_string (guint32 format)

Converts an Android AHardwareBuffer format value to the canonical string representation used by the ahb-format caps field. Known formats use the Android constant suffix and unknown formats use fixed-width hexadecimal.

Parameters:

format

an Android AHardwareBuffer format value

Returns ( [transfer: full])

the canonical format string.

Since : 1.30


GstAllocators.prototype.ahardware_buffer_format_to_caps_string

function GstAllocators.prototype.ahardware_buffer_format_to_caps_string(format: Number): {
    // javascript wrapper for 'gst_ahardware_buffer_format_to_caps_string'
}

Converts an Android AHardwareBuffer format value to the canonical string representation used by the ahb-format caps field. Known formats use the Android constant suffix and unknown formats use fixed-width hexadecimal.

Parameters:

format (Number)

an Android AHardwareBuffer format value

Returns (String)

the canonical format string.

Since : 1.30


GstAllocators.ahardware_buffer_format_to_caps_string

def GstAllocators.ahardware_buffer_format_to_caps_string (format):
    #python wrapper for 'gst_ahardware_buffer_format_to_caps_string'

Converts an Android AHardwareBuffer format value to the canonical string representation used by the ahb-format caps field. Known formats use the Android constant suffix and unknown formats use fixed-width hexadecimal.

Parameters:

format (int)

an Android AHardwareBuffer format value

Returns (str)

the canonical format string.

Since : 1.30


gst_ahardware_buffer_memory_peek_buffer

gboolean
gst_ahardware_buffer_memory_peek_buffer (GstMemory * mem,
                                         AHardwareBuffer** buffer)

Queries whether mem is backed by an AHardwareBuffer and, if so, returns the AHardwareBuffer represented by this memory. buffer is only modified if this function returns TRUE.

The returned AHardwareBuffer is owned by mem and is valid for as long as mem is alive. Callers must call AHardwareBuffer_acquire() if they want to keep the AHardwareBuffer beyond mem's lifetime.

Parameters:

mem

a GstMemory

buffer ( [out][transfer: none][optional])

the AHardwareBuffer

Returns

TRUE if mem exposes an AHardwareBuffer.

Since : 1.30


gst_ahardware_buffer_memory_register_query_function

gst_ahardware_buffer_memory_register_query_function (GType allocator_type,
                                                     GstAHardwareBufferMemoryQueryFunction query)

Registers query as the AHardwareBuffer query function for GstMemory objects allocated by allocator_type.

This function is intended for memory implementers rather than applications. query must remain valid for the lifetime of the process and must only return borrowed AHardwareBuffer references owned by the queried memory.

Parameters:

allocator_type

a GstAllocator type

query

function used to query AHardwareBuffer backing for memory allocated by allocator_type

Since : 1.30


gst_is_ahardware_buffer_buffer

gboolean
gst_is_ahardware_buffer_buffer (GstBuffer * buffer)

Parameters:

buffer

a GstBuffer

Returns

TRUE if buffer is non-empty and every memory block in buffer exposes an AHardwareBuffer.

Since : 1.30


GstAllocators.prototype.is_ahardware_buffer_buffer

function GstAllocators.prototype.is_ahardware_buffer_buffer(buffer: Gst.Buffer): {
    // javascript wrapper for 'gst_is_ahardware_buffer_buffer'
}

Parameters:

buffer (Gst.Buffer)

a Gst.Buffer

Returns (Number)

true if buffer is non-empty and every memory block in buffer exposes an AHardwareBuffer.

Since : 1.30


GstAllocators.is_ahardware_buffer_buffer

def GstAllocators.is_ahardware_buffer_buffer (buffer):
    #python wrapper for 'gst_is_ahardware_buffer_buffer'

Parameters:

buffer (Gst.Buffer)

a Gst.Buffer

Returns (bool)

True if buffer is non-empty and every memory block in buffer exposes an AHardwareBuffer.

Since : 1.30


gst_is_ahardware_buffer_memory

gboolean
gst_is_ahardware_buffer_memory (GstMemory * mem)

Parameters:

mem

a GstMemory

Returns

TRUE if mem exposes an AHardwareBuffer.

Since : 1.30


GstAllocators.prototype.is_ahardware_buffer_memory

function GstAllocators.prototype.is_ahardware_buffer_memory(mem: Gst.Memory): {
    // javascript wrapper for 'gst_is_ahardware_buffer_memory'
}

Parameters:

mem (Gst.Memory)

a Gst.Memory

Returns (Number)

true if mem exposes an AHardwareBuffer.

Since : 1.30


GstAllocators.is_ahardware_buffer_memory

def GstAllocators.is_ahardware_buffer_memory (mem):
    #python wrapper for 'gst_is_ahardware_buffer_memory'

Parameters:

mem (Gst.Memory)

a Gst.Memory

Returns (bool)

True if mem exposes an AHardwareBuffer.

Since : 1.30


Enumerations

GstAHardwareBufferFormat

Android AHardwareBuffer format values. These correspond to the AHARDWAREBUFFER_FORMAT_* constants in Android's hardware_buffer.h, but are available regardless of which Android SDK version is used to build.

Members
GST_AHARDWARE_BUFFER_FORMAT_R8G8B8A8_UNORM (1) –

R8G8B8A8_UNORM format

GST_AHARDWARE_BUFFER_FORMAT_R8G8B8X8_UNORM (2) –

R8G8B8X8_UNORM format

GST_AHARDWARE_BUFFER_FORMAT_R8G8B8_UNORM (3) –

R8G8B8_UNORM format

GST_AHARDWARE_BUFFER_FORMAT_R5G6B5_UNORM (4) –

R5G6B5_UNORM format

GST_AHARDWARE_BUFFER_FORMAT_R16G16B16A16_FLOAT (22) –

R16G16B16A16_FLOAT format

GST_AHARDWARE_BUFFER_FORMAT_BLOB (33) –

BLOB format

GST_AHARDWARE_BUFFER_FORMAT_Y8Cb8Cr8_420 (35) –

Y8Cb8Cr8_420 format

GST_AHARDWARE_BUFFER_FORMAT_R10G10B10A2_UNORM (43) –

R10G10B10A2_UNORM format

GST_AHARDWARE_BUFFER_FORMAT_D16_UNORM (48) –

D16_UNORM format

GST_AHARDWARE_BUFFER_FORMAT_D24_UNORM (49) –

D24_UNORM format

GST_AHARDWARE_BUFFER_FORMAT_D24_UNORM_S8_UINT (50) –

D24_UNORM_S8_UINT format

GST_AHARDWARE_BUFFER_FORMAT_D32_FLOAT (51) –

D32_FLOAT format

GST_AHARDWARE_BUFFER_FORMAT_D32_FLOAT_S8_UINT (52) –

D32_FLOAT_S8_UINT format

GST_AHARDWARE_BUFFER_FORMAT_S8_UINT (53) –

S8_UINT format

GST_AHARDWARE_BUFFER_FORMAT_YCbCr_P010 (54) –

YCbCr_P010 format

GST_AHARDWARE_BUFFER_FORMAT_R8_UNORM (56) –

R8_UNORM format

GST_AHARDWARE_BUFFER_FORMAT_R16_UINT (57) –

R16_UINT format

GST_AHARDWARE_BUFFER_FORMAT_R16G16_UINT (58) –

R16G16_UINT format

GST_AHARDWARE_BUFFER_FORMAT_R10G10B10A10_UNORM (59) –

R10G10B10A10_UNORM format

GST_AHARDWARE_BUFFER_FORMAT_YCbCr_P210 (60) –

YCbCr_P210 format

GST_AHARDWARE_BUFFER_FORMAT_R12_UINT (61) –

R12_UINT format

GST_AHARDWARE_BUFFER_FORMAT_R14_UINT (62) –

R14_UINT format

GST_AHARDWARE_BUFFER_FORMAT_R12G12_UINT (63) –

R12G12_UINT format

GST_AHARDWARE_BUFFER_FORMAT_R14G14_UINT (64) –

R14G14_UINT format

GST_AHARDWARE_BUFFER_FORMAT_R12G12B12A12_UINT (65) –

R12G12B12A12_UINT format

GST_AHARDWARE_BUFFER_FORMAT_R14G14B14A14_UINT (66) –

R14G14B14A14_UINT format

GST_AHARDWARE_BUFFER_FORMAT_B10G10R10A2_UNORM (67) –

B10G10R10A2_UNORM format

GST_AHARDWARE_BUFFER_FORMAT_B10G10R10X2_UNORM (68) –

B10G10R10X2_UNORM format

Since : 1.30


GstAllocators.AHardwareBufferFormat

Android AHardwareBuffer format values. These correspond to the AHARDWAREBUFFER_FORMAT_* constants in Android's hardware_buffer.h, but are available regardless of which Android SDK version is used to build.

Members
GstAllocators.AHardwareBufferFormat.R8G8B8A8_UNORM (1) –

R8G8B8A8_UNORM format

GstAllocators.AHardwareBufferFormat.R8G8B8X8_UNORM (2) –

R8G8B8X8_UNORM format

GstAllocators.AHardwareBufferFormat.R8G8B8_UNORM (3) –

R8G8B8_UNORM format

GstAllocators.AHardwareBufferFormat.R5G6B5_UNORM (4) –

R5G6B5_UNORM format

GstAllocators.AHardwareBufferFormat.R16G16B16A16_FLOAT (22) –

R16G16B16A16_FLOAT format

GstAllocators.AHardwareBufferFormat.BLOB (33) –

BLOB format

GstAllocators.AHardwareBufferFormat.Y8CB8CR8_420 (35) –

Y8Cb8Cr8_420 format

GstAllocators.AHardwareBufferFormat.R10G10B10A2_UNORM (43) –

R10G10B10A2_UNORM format

GstAllocators.AHardwareBufferFormat.D16_UNORM (48) –

D16_UNORM format

GstAllocators.AHardwareBufferFormat.D24_UNORM (49) –

D24_UNORM format

GstAllocators.AHardwareBufferFormat.D24_UNORM_S8_UINT (50) –

D24_UNORM_S8_UINT format

GstAllocators.AHardwareBufferFormat.D32_FLOAT (51) –

D32_FLOAT format

GstAllocators.AHardwareBufferFormat.D32_FLOAT_S8_UINT (52) –

D32_FLOAT_S8_UINT format

GstAllocators.AHardwareBufferFormat.S8_UINT (53) –

S8_UINT format

GstAllocators.AHardwareBufferFormat.YCBCR_P010 (54) –

YCbCr_P010 format

GstAllocators.AHardwareBufferFormat.R8_UNORM (56) –

R8_UNORM format

GstAllocators.AHardwareBufferFormat.R16_UINT (57) –

R16_UINT format

GstAllocators.AHardwareBufferFormat.R16G16_UINT (58) –

R16G16_UINT format

GstAllocators.AHardwareBufferFormat.R10G10B10A10_UNORM (59) –

R10G10B10A10_UNORM format

GstAllocators.AHardwareBufferFormat.YCBCR_P210 (60) –

YCbCr_P210 format

GstAllocators.AHardwareBufferFormat.R12_UINT (61) –

R12_UINT format

GstAllocators.AHardwareBufferFormat.R14_UINT (62) –

R14_UINT format

GstAllocators.AHardwareBufferFormat.R12G12_UINT (63) –

R12G12_UINT format

GstAllocators.AHardwareBufferFormat.R14G14_UINT (64) –

R14G14_UINT format

GstAllocators.AHardwareBufferFormat.R12G12B12A12_UINT (65) –

R12G12B12A12_UINT format

GstAllocators.AHardwareBufferFormat.R14G14B14A14_UINT (66) –

R14G14B14A14_UINT format

GstAllocators.AHardwareBufferFormat.B10G10R10A2_UNORM (67) –

B10G10R10A2_UNORM format

GstAllocators.AHardwareBufferFormat.B10G10R10X2_UNORM (68) –

B10G10R10X2_UNORM format

Since : 1.30


GstAllocators.AHardwareBufferFormat

Android AHardwareBuffer format values. These correspond to the AHARDWAREBUFFER_FORMAT_* constants in Android's hardware_buffer.h, but are available regardless of which Android SDK version is used to build.

Members
GstAllocators.AHardwareBufferFormat.R8G8B8A8_UNORM (1) –

R8G8B8A8_UNORM format

GstAllocators.AHardwareBufferFormat.R8G8B8X8_UNORM (2) –

R8G8B8X8_UNORM format

GstAllocators.AHardwareBufferFormat.R8G8B8_UNORM (3) –

R8G8B8_UNORM format

GstAllocators.AHardwareBufferFormat.R5G6B5_UNORM (4) –

R5G6B5_UNORM format

GstAllocators.AHardwareBufferFormat.R16G16B16A16_FLOAT (22) –

R16G16B16A16_FLOAT format

GstAllocators.AHardwareBufferFormat.BLOB (33) –

BLOB format

GstAllocators.AHardwareBufferFormat.Y8CB8CR8_420 (35) –

Y8Cb8Cr8_420 format

GstAllocators.AHardwareBufferFormat.R10G10B10A2_UNORM (43) –

R10G10B10A2_UNORM format

GstAllocators.AHardwareBufferFormat.D16_UNORM (48) –

D16_UNORM format

GstAllocators.AHardwareBufferFormat.D24_UNORM (49) –

D24_UNORM format

GstAllocators.AHardwareBufferFormat.D24_UNORM_S8_UINT (50) –

D24_UNORM_S8_UINT format

GstAllocators.AHardwareBufferFormat.D32_FLOAT (51) –

D32_FLOAT format

GstAllocators.AHardwareBufferFormat.D32_FLOAT_S8_UINT (52) –

D32_FLOAT_S8_UINT format

GstAllocators.AHardwareBufferFormat.S8_UINT (53) –

S8_UINT format

GstAllocators.AHardwareBufferFormat.YCBCR_P010 (54) –

YCbCr_P010 format

GstAllocators.AHardwareBufferFormat.R8_UNORM (56) –

R8_UNORM format

GstAllocators.AHardwareBufferFormat.R16_UINT (57) –

R16_UINT format

GstAllocators.AHardwareBufferFormat.R16G16_UINT (58) –

R16G16_UINT format

GstAllocators.AHardwareBufferFormat.R10G10B10A10_UNORM (59) –

R10G10B10A10_UNORM format

GstAllocators.AHardwareBufferFormat.YCBCR_P210 (60) –

YCbCr_P210 format

GstAllocators.AHardwareBufferFormat.R12_UINT (61) –

R12_UINT format

GstAllocators.AHardwareBufferFormat.R14_UINT (62) –

R14_UINT format

GstAllocators.AHardwareBufferFormat.R12G12_UINT (63) –

R12G12_UINT format

GstAllocators.AHardwareBufferFormat.R14G14_UINT (64) –

R14G14_UINT format

GstAllocators.AHardwareBufferFormat.R12G12B12A12_UINT (65) –

R12G12B12A12_UINT format

GstAllocators.AHardwareBufferFormat.R14G14B14A14_UINT (66) –

R14G14B14A14_UINT format

GstAllocators.AHardwareBufferFormat.B10G10R10A2_UNORM (67) –

B10G10R10A2_UNORM format

GstAllocators.AHardwareBufferFormat.B10G10R10X2_UNORM (68) –

B10G10R10X2_UNORM format

Since : 1.30


Constants

GST_CAPS_FEATURE_MEMORY_AHARDWAREBUFFER

#define GST_CAPS_FEATURE_MEMORY_AHARDWAREBUFFER "memory:AHardwareBuffer"

Name of the caps feature for indicating the use of AHardwareBuffer-backed memory.

Since : 1.30


GstAllocators.CAPS_FEATURE_MEMORY_AHARDWAREBUFFER

Name of the caps feature for indicating the use of AHardwareBuffer-backed memory.

Since : 1.30


GstAllocators.CAPS_FEATURE_MEMORY_AHARDWAREBUFFER

Name of the caps feature for indicating the use of AHardwareBuffer-backed memory.

Since : 1.30


Callbacks

GstAHardwareBufferMemoryQueryFunction

gboolean
(*GstAHardwareBufferMemoryQueryFunction) (GstMemory * mem,
                                          AHardwareBuffer** buffer)

Function used by memory implementations to expose AHardwareBuffer backing through gst_ahardware_buffer_memory_peek_buffer.

Returning TRUE requires setting buffer. buffer must be a borrowed reference owned by mem and valid for as long as mem is alive.

Parameters:

mem

a GstMemory

buffer ( [out][transfer: none])

location for the AHardwareBuffer

Returns

TRUE if mem exposes an AHardwareBuffer.

Since : 1.30


The results of the search are