1 /* SPDX-License-Identifier: LGPL-2.1-only */
3 * Copyright (C) 2021 Samsung Electronics Co., Ltd.
5 * @file tensor_query_server.h
7 * @brief GStreamer plugin to handle meta_query for server elements
8 * @author Junhwan Kim <jejudo.kim@samsung.com>
9 * @see http://github.com/nnstreamer/nnstreamer
13 #ifndef __GST_TENSOR_QUERY_SERVER_H__
14 #define __GST_TENSOR_QUERY_SERVER_H__
17 #include <tensor_common.h>
18 #include <nnstreamer-edge.h>
19 #include "tensor_meta.h"
22 #define DEFAULT_SERVER_ID 0
23 #define DEFAULT_QUERY_INFO_TIMEOUT 5
24 typedef void *edge_server_handle;
27 * @brief GstTensorQueryServer internal info data structure.
37 } GstTensorQueryServer;
40 * @brief Get nnstreamer edge server handle.
42 edge_server_handle gst_tensor_query_server_get_handle (const char *id);
45 * @brief Add GstTensorQueryServer.
47 edge_server_handle gst_tensor_query_server_add_data (const char *id);
50 * @brief Remove GstTensorQueryServer.
52 void gst_tensor_query_server_remove_data (edge_server_handle server_h);
55 * @brief Wait until the sink is configured and get server info handle.
57 gboolean gst_tensor_query_server_wait_sink (edge_server_handle server_h);
60 * @brief Get nnstreamer edge handle of query server.
62 nns_edge_h gst_tensor_query_server_get_edge_handle (const char *id, nns_edge_connect_type_e connect_type);
65 * @brief set query server sink configured.
67 void gst_tensor_query_server_set_configured (edge_server_handle server_h);
70 * @brief set query server caps.
73 gst_tensor_query_server_set_caps (edge_server_handle server_h,
74 const char *caps_str);
77 * @brief Release nnstreamer edge handle of query server.
79 void gst_tensor_query_server_release_edge_handle (edge_server_handle server_h);
82 #endif /* __GST_TENSOR_QUERY_CLIENT_H__ */