get_range


Description:

public FlowReturn get_range (uint64 offset, uint size, out Buffer buffer)

When this is flushing this function returns FLUSHING immediately and buffer is null.

Calls the getrange function of this, see PadGetRangeFunction for a description of a getrange function. If this has no getrange function installed (see gst_pad_set_getrange_function) this function returns NOT_SUPPORTED.

If buffer points to a variable holding null, a valid new Buffer will be placed in buffer when this function returns OK. The new buffer must be freed with gst_buffer_unref after usage.

When buffer points to a variable that points to a valid Buffer, the buffer will be filled with the result data when this function returns 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 OK, buffer will be unchanged.

This is a lowlevel function. Usually pull_range is used.

Parameters:

this

a src Pad, returns ERROR if not.

offset

The start offset of the buffer

size

The length of the buffer

buffer

a pointer to hold the Buffer, returns ERROR if null.

Returns: