zx_stream_seek

总结

修改进度偏移。

声明

#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_tzx_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_WRITEZX_RIGHT_WRITE

返回值

zx_stream_seek() 会在成功时返回 ZX_OK,并将生成的搜寻偏移量(相对于数据流起始位置)写入 out_offset(如果为非 NULL)。

错误

ZX_ERR_BAD_HANDLE 句柄不是有效的句柄。

ZX_ERR_WRONG_TYPE 句柄不是流句柄。

ZX_ERR_ACCESS_DENIED 句柄没有 ZX_RIGHT_READZX_RIGHT_WRITE 权限。

ZX_ERR_INVALID_ARGS 是无效的 zx_stream_seek_origin_t,或者生成的跳转为负值或超出了可表示的最大 zx_off_t

另请参阅