Pad.getRange

When @pad is flushing this function returns #GST_FLOW_FLUSHING immediately and @buffer is %NULL.

Calls the getrange function of @pad, see #GstPadGetRangeFunction for a description of a getrange function. If @pad has no getrange function installed (see gst_pad_set_getrange_function()) this function returns #GST_FLOW_NOT_SUPPORTED.

If @buffer points to a variable holding %NULL, a valid new #GstBuffer will be placed in @buffer when this function returns #GST_FLOW_OK. The new buffer must be freed with gst_buffer_unref() after usage.

When @buffer points to a variable that points to a valid #GstBuffer, the buffer will be filled with the result data when this function returns #GST_FLOW_OK. If the provided buffer is larger than @size, only @size bytes will be filled in the result buffer and its size will be updated accordingly.

Note that less than @size bytes can be returned in @buffer when, for example, an EOS condition is near or when @buffer is not large enough to hold @size bytes. The caller should check the result buffer size to get the result size.

When this function returns any other result value than #GST_FLOW_OK, @buffer will be unchanged.

This is a lowlevel function. Usually gst_pad_pull_range() is used.

class Pad
getRange
(
ulong offset
,
uint size
,)

Parameters

offset ulong

The start offset of the buffer

size uint

The length of the buffer

buffer Buffer

a pointer to hold the #GstBuffer, returns #GST_FLOW_ERROR if %NULL.

Return Value

a #GstFlowReturn from the pad.

MT safe.

Meta