Pad.getRange

gst.types.FlowReturn getRange(ulong offset, uint size, out gst.buffer.Buffer buffer)

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.Pad.pullRange] is used.

Parameters

offsetThe start offset of the buffer
sizeThe length of the buffer
buffera pointer to hold the #GstBuffer, returns #GST_FLOW_ERROR if null.

Returns

a #GstFlowReturn from the pad.

MT safe.