This function will be called on source pads when a peer element
request a buffer at the specified @offset and @length. If this function
returns #GST_FLOW_OK, the result buffer will be stored in @buffer. The
contents of @buffer is invalid for any other return value.
This function is installed on a source pad with
gst_pad_set_getrange_function() and can only be called on source pads after
they are successfully activated with gst_pad_activate_mode() with the
#GST_PAD_MODE_PULL.
@offset and @length are always given in byte units. @offset must normally be a value
between 0 and the length in bytes of the data available on @pad. The
length (duration in bytes) can be retrieved with a #GST_QUERY_DURATION or with a
#GST_QUERY_SEEKING.
Any @offset larger or equal than the length will make the function return
#GST_FLOW_EOS, which corresponds to EOS. In this case @buffer does not
contain a valid buffer.
The buffer size of @buffer will only be smaller than @length when @offset is
near the end of the stream. In all other cases, the size of @buffer must be
exactly the requested size.
It is allowed to call this function with a 0 @length and valid @offset, in
which case @buffer will contain a 0-sized buffer and the function returns
#GST_FLOW_OK.
When this function is called with a -1 @offset, the sequentially next buffer
of length @length in the stream is returned.
When this function is called with a -1 @length, a buffer with a default
optimal length is returned in @buffer. The length might depend on the value
of @offset.
This function will be called on source pads when a peer element request a buffer at the specified @offset and @length. If this function returns #GST_FLOW_OK, the result buffer will be stored in @buffer. The contents of @buffer is invalid for any other return value.
This function is installed on a source pad with gst_pad_set_getrange_function() and can only be called on source pads after they are successfully activated with gst_pad_activate_mode() with the #GST_PAD_MODE_PULL.
@offset and @length are always given in byte units. @offset must normally be a value between 0 and the length in bytes of the data available on @pad. The length (duration in bytes) can be retrieved with a #GST_QUERY_DURATION or with a #GST_QUERY_SEEKING.
Any @offset larger or equal than the length will make the function return #GST_FLOW_EOS, which corresponds to EOS. In this case @buffer does not contain a valid buffer.
The buffer size of @buffer will only be smaller than @length when @offset is near the end of the stream. In all other cases, the size of @buffer must be exactly the requested size.
It is allowed to call this function with a 0 @length and valid @offset, in which case @buffer will contain a 0-sized buffer and the function returns #GST_FLOW_OK.
When this function is called with a -1 @offset, the sequentially next buffer of length @length in the stream is returned.
When this function is called with a -1 @length, a buffer with a default optimal length is returned in @buffer. The length might depend on the value of @offset.