总结
修改进度偏移。
声明
#include <zircon/syscalls.h>
zx_status_t zx_stream_seek(zx_handle_t handle,
zx_stream_seek_origin_t whence,
int64_t offset,
zx_off_t* out_seek);
说明
zx_stream_seek()
将音频流的跳转偏移量设置为相对于来源的偏移量。
如果生成的跳转偏移量为负或超过可表示的最大 zx_off_t
,zx_stream_seek()
会返回 ZX_ERR_INVALID_ARGS
。
生成的跳转偏移量可能会超出音频流的末尾。设置此类跳转偏移量不会导致 zx_stream_seek()
返回错误,但尝试在该跳转偏移量处读取或写入数据可能会生成错误。
什么
ZX_STREAM_SEEK_ORIGIN_START
用于设置相对于音频串流起始位置的跳转偏移量。
ZX_STREAM_SEEK_ORIGIN_CURRENT
设置相对于当前音频流的跳转偏移量。
ZX_STREAM_SEEK_ORIGIN_END
设置相对于视频流末尾的定位偏移量(由视频流的内容大小定义)。
权限
handle 必须为 ZX_OBJ_TYPE_STREAM
类型,且具有 ZX_RIGHT_WRITE
或 ZX_RIGHT_WRITE
。
返回值
zx_stream_seek()
会在成功时返回 ZX_OK
,并将生成的搜寻偏移量(相对于数据流起始位置)写入 out_offset(如果为非 NULL)。
错误
ZX_ERR_BAD_HANDLE
句柄不是有效的句柄。
ZX_ERR_WRONG_TYPE
句柄不是流句柄。
ZX_ERR_ACCESS_DENIED
句柄没有 ZX_RIGHT_READ
或 ZX_RIGHT_WRITE
权限。
ZX_ERR_INVALID_ARGS
是无效的 zx_stream_seek_origin_t
,或者生成的跳转为负值或超出了可表示的最大 zx_off_t
。