Pad.pullRange

Pulls a buffer from the peer pad or fills up a provided buffer.

This function will first trigger the pad block signal if it was installed.

When pad is not linked #GST_FLOW_NOT_LINKED is returned else this function returns the result of gst.pad.Pad.getRange on the peer pad. See gst.pad.Pad.getRange for a list of return values and for the semantics of the arguments of this function.

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 this function returns any other result value, buffer will still point to null.

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. When this function returns any other result value, buffer will be unchanged. 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.

class Pad
pullRange

Parameters

offset ulong

The start offset of the buffer

size uint

The length of the buffer

buffer gst.buffer.Buffer

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

Return Value

Type: gst.types.FlowReturn

a #GstFlowReturn from the peer pad.

MT safe.