1 // Copyright (C) 2018-2020 Intel Corporation
2 // SPDX-License-Identifier: Apache-2.0
7 #include "XLinkStream.h"
8 #include "XLinkErrorUtils.h"
10 #ifdef MVLOG_UNIT_NAME
11 #undef MVLOG_UNIT_NAME
12 #define MVLOG_UNIT_NAME xLink
16 #include "XLinkStringUtils.h"
18 XLinkError_t XLinkStreamInitialize(
19 streamDesc_t* stream, streamId_t id, const char* name) {
20 mvLog(MVLOG_DEBUG, "name: %s, id: %ld\n", name, id);
23 memset(stream, 0, sizeof(*stream));
25 if (sem_init(&stream->sem, 0, 0)) {
26 mvLog(MVLOG_ERROR, "Cannot initialize semaphore\n");
31 mv_strncpy(stream->name, MAX_STREAM_NAME_LENGTH,
32 name, MAX_STREAM_NAME_LENGTH - 1);
34 return X_LINK_SUCCESS;
37 void XLinkStreamReset(streamDesc_t* stream) {
42 if(sem_destroy(&stream->sem)) {
43 mvLog(MVLOG_DEBUG, "Cannot destroy semaphore\n");
46 memset(stream, 0, sizeof(*stream));
47 stream->id = INVALID_STREAM_ID;