Disconnects from the VSLHost and stops all reconnection attempts. This should
be called as part of closing down a VSL client session. It is thread-safe
unlike vsl_client_release which disposes of the client object.
Creates a client and connects to the host at the provided path. If the
connection cannot be made NULL is returned and errno is set.
Returns the path on which the client has connected to the host.
Releases the client, disconnecting from the host and releasing allocated
memory.
Sets the socket timeout for this client.
Returns the optional userptr associated with this client connection.
Returns the decode timestamp for this frame in nanoseconds.
Returns the duration for this frame in nanoseconds.
Returns the epiration time for this frame in milliseconds.
Returns the FOURCC code for the video frame.
Returns the file descriptor for this frame or -1 if none is associated.
Returns the height in pixels of the video frame.
Maps the frame into the process’ memory space, optionally also sets the
size of the frame if @param size is non-NULL. Ensure the frame is
unmapped when no longer needed using @ref nn_frame_munmap().
Maps the frame into the process’ memory space, optionally also sets the
size of the frame if @param size is non-NULL.
Returns the physical address of the frame. If the frame does not support
DMA then MMAP_FAILED is returned.
Returns the presentation timestamp for this frame in nanoseconds.
Registers the video frame along with optional user pointer to any
arbitrary data. Typically it would be used for holding a reference to
the host’s view of the frame handle.
Releases a client side frame and frees any allocated memory. You should
first unmap and unlock the video frame before releasing it.
Returns the serial frame count of the video frame.
Associate userptr with this frame.
Returns the size in bytes of the video frame.
Returns the timestamp for this frame in nanoseconds.
Attempts to lock the video frame.
Attempts to unlock the video frame.
Unregisters the frame, removing it from the host pool.
Returns the user pointer associated with this frame.
Waits for a frame to arrive and returns a new frame object. Frames who’s
timestamp is less than @param until will be ignored.
Returns the width in pixels of the video frame.
Creates a host on the requested path. If the path is unavailable because
of permissions or already exists then NULL is returned and errno is set.
Returns the bound path of the host.
Polls the list of available connections in our pool. If @param wait is >0
then poll will timeout after @param wait milliseconds. Note frames are only
expired by the @ref vsl_host_process function so the @param wait parameter
should be some value no greater than the desired expiration time.
Process the host tasks by first expiring old frames and then servicing the
first available connection in our pool. This function should be called in a
loop, generally blocked by @ref vsl_host_poll.
Releases the host, disconnecting all clients and releasing any allocated
memory.
Services the client socket.
Request a copy of the sockets managed by the host. There will always be at
least one socket which is the connection socket which accepts new
connections. Up to n_sockets socket descriptors will be copied into the
sockets buffer, if n_sockets is fewer than the number of available sockets
errno will be set to ENOBUFS. The n_socket parameter, if provided, will be
populated with a value of n_clients+1 which can be used to query required
space for the sockets buffer. It is suggested to provide a buffer which is
larger than max_sockets to avoid race conditions where the number of sockets
changes between calls to this function.
Returns the VideoStream Library version.