LCOV - code coverage report
Current view: top level - nnstreamer-2.4.2/gst/nnstreamer - tensor_meta.c (source / functions) Coverage Total Hit
Test: nnstreamer 2.4.2-0 nnstreamer/nnstreamer#eca68b8d050408568af95d831a8eef62aaee7784 Lines: 95.8 % 24 23
Test Date: 2025-03-13 05:38:21 Functions: 100.0 % 5 5

            Line data    Source code
       1              : /* SPDX-License-Identifier: LGPL-2.1-only */
       2              : /**
       3              :  * Copyright (C) 2021 Junhwan Kim <jejudo.kim@samsung.com>
       4              :  *
       5              :  * @file    tensor_meta.c
       6              :  * @date    09 Aug 2021
       7              :  * @brief   Internal tensor meta implementation for nnstreamer
       8              :  * @author  Junhwan Kim <jejudo.kim@samsung.com>
       9              :  * @see     http://github.com/nnstreamer/nnstreamer
      10              :  * @bug     No known bugs
      11              :  *
      12              :  */
      13              : #ifdef HAVE_CONFIG_H
      14              : #include "config.h"
      15              : #endif
      16              : 
      17              : #include <nnstreamer_util.h>
      18              : #include "tensor_meta.h"
      19              : 
      20              : /**
      21              :  * @brief Define meta_query type to register
      22              :  */
      23              : GType
      24          293 : gst_meta_query_api_get_type (void)
      25              : {
      26              :   static GType type = 0;
      27              :   static const gchar *tags[] = {
      28              :     NULL
      29              :   };
      30              : 
      31          293 :   if (g_once_init_enter (&type)) {
      32              :     GType _type;
      33           11 :     const GstMetaInfo *meta_info = gst_meta_get_info ("GstMetaQuery");
      34           11 :     if (meta_info) {
      35            0 :       _type = meta_info->api;
      36              :     } else {
      37           11 :       _type = gst_meta_api_type_register ("GstMetaQueryAPI", tags);
      38              :     }
      39           11 :     g_once_init_leave (&type, _type);
      40              :   }
      41          293 :   return type;
      42              : }
      43              : 
      44              : /**
      45              :  * @brief meta_query init
      46              :  */
      47              : static gboolean
      48           10 : gst_meta_query_init (GstMeta * meta, gpointer params, GstBuffer * buffer)
      49              : {
      50           10 :   GstMetaQuery *emeta = (GstMetaQuery *) meta;
      51              :   UNUSED (params);
      52              :   UNUSED (buffer);
      53           10 :   emeta->client_id = 0;
      54           10 :   return TRUE;
      55              : }
      56              : 
      57              : /**
      58              :  * @brief free meta_query
      59              :  */
      60              : static void
      61           10 : gst_meta_query_free (GstMeta * meta, GstBuffer * buffer)
      62              : {
      63              :   UNUSED (meta);
      64              :   UNUSED (buffer);
      65           10 : }
      66              : 
      67              : /**
      68              :  * @brief tensor_query meta data transform (source to dest)
      69              :  */
      70              : static gboolean
      71            8 : gst_meta_query_transform (GstBuffer * transbuf, GstMeta * meta,
      72              :     GstBuffer * buffer, GQuark type, gpointer data)
      73              : {
      74            8 :   GstMetaQuery *dest_meta = gst_buffer_add_meta_query (transbuf);
      75            8 :   GstMetaQuery *src_meta = (GstMetaQuery *) meta;
      76              :   UNUSED (buffer);
      77              :   UNUSED (type);
      78              :   UNUSED (data);
      79            8 :   dest_meta->client_id = src_meta->client_id;
      80            8 :   return TRUE;
      81              : }
      82              : 
      83              : /**
      84              :  * @brief Get meta_query info
      85              :  */
      86              : const GstMetaInfo *
      87           10 : gst_meta_query_get_info (void)
      88              : {
      89              :   static const GstMetaInfo *meta_query_info = NULL;
      90              : 
      91           10 :   if (g_once_init_enter (&meta_query_info)) {
      92            1 :     const GstMetaInfo *meta = gst_meta_register (GST_META_QUERY_API_TYPE,
      93              :         "GstMetaQuery", sizeof *meta,
      94              :         gst_meta_query_init,
      95              :         gst_meta_query_free,
      96              :         gst_meta_query_transform);
      97            1 :     g_once_init_leave (&meta_query_info, meta);
      98              :   }
      99           10 :   return meta_query_info;
     100              : }
        

Generated by: LCOV version 2.0-1