NVIDIA DeepStream SDK API Reference

9.1 Release
sources/includes/nvds_audio_meta.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2020-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3  * SPDX-License-Identifier: Apache-2.0
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 
33 #ifndef _NVDS_AUDIO_META_H_
34 #define _NVDS_AUDIO_META_H_
35 
36 #include "glib.h"
37 #include "gmodule.h"
38 
39 #include <nvdsmeta.h>
40 #include <nvbufaudio.h>
41 
42 #ifdef __cplusplus
43 extern "C"
44 {
45 #endif
46 
50 typedef struct _NvDsAudioFrameMeta {
55  guint pad_index;
57  guint batch_id;
59  gint frame_num;
61  guint64 buf_pts;
63  guint64 ntp_timestamp;
66  guint source_id;
69  /* Holds the sample rate for audio stream */
70  guint sample_rate;
71  /* Holds the number of channels in audio stream. */
72  guint num_channels;
73  /* Holds the audio format type. */
75  /* Holds layout information indicating whether audio channels are interleaved
76  * or non-interleaved */
79  gboolean bInferDone;
82  gint class_id;
84  gfloat confidence;
98 
105 NvDsBatchMeta *nvds_create_audio_batch_meta(guint max_batch_size);
106 
114 gboolean nvds_destroy_audio_batch_meta(NvDsBatchMeta *batch_meta);
115 
127 
137  NvDsAudioFrameMeta * frame_meta);
138 
148  NvDsAudioFrameMeta * frame_meta);
149 
163  NvDsClassifierMeta * classifier_meta);
164 
174  NvDsClassifierMeta *classifier_meta);
175 
185  NvDsUserMeta * user_meta);
186 
196  NvDsUserMeta * user_meta);
197 
209  NvDsUserMeta * user_meta);
210 
220  NvDsUserMeta * user_meta);
221 
231 gpointer nvds_audio_batch_meta_copy_func (gpointer data, gpointer user_data);
232 
240 void nvds_audio_batch_meta_release_func(gpointer data, gpointer user_data);
241 
251  guint index);
252 
261  NvDsFrameMetaList *meta_list);
262 
272  NvDsClassifierMetaList *meta_list);
273 
283  NvDsUserMetaList *meta_list);
284 
293  NvDsUserMetaList *meta_list);
294 
303  NvDsBatchMeta *dst_batch_meta);
304 
312  NvDsAudioFrameMeta *dst_frame_meta);
313 
322  NvDsAudioFrameMeta *dst_frame_meta);
323 
331 void nvds_copy_audio_frame_meta_list (NvDsFrameMetaList *src_frame_meta_list,
332  NvDsBatchMeta *dst_batch_meta);
333 
343 void nvds_copy_audio_classification_list(NvDsClassifierMetaList *src_classifier_meta_list,
344  NvDsAudioFrameMeta *dst_frame_meta);
345 
346 #ifdef __cplusplus
347 }
348 #endif
349 #endif
350 
nvds_add_user_meta_to_audio_frame
void nvds_add_user_meta_to_audio_frame(NvDsAudioFrameMeta *frame_meta, NvDsUserMeta *user_meta)
Add a user meta to a audio frame meta.
nvds_get_nth_audio_frame_meta
NvDsAudioFrameMeta * nvds_get_nth_audio_frame_meta(NvDsFrameMetaList *frame_meta_list, guint index)
Returns a pointer to a specified frame meta in the frame meta list.
_NvDsAudioFrameMeta::pad_index
guint pad_index
Holds the pad or port index of the Gst-streammux plugin for the frame in the batch.
Definition: sources/includes/nvds_audio_meta.h:55
_NvDsAudioFrameMeta::format
NvBufAudioFormat format
Definition: sources/includes/nvds_audio_meta.h:74
_NvDsAudioFrameMeta::sample_rate
guint sample_rate
Definition: sources/includes/nvds_audio_meta.h:70
_NvDsAudioFrameMeta::confidence
gfloat confidence
Hold confidence for last event detected (last NvDsClassifierMeta)
Definition: sources/includes/nvds_audio_meta.h:84
nvds_acquire_audio_frame_meta_from_pool
NvDsAudioFrameMeta * nvds_acquire_audio_frame_meta_from_pool(NvDsBatchMeta *batch_meta)
Acquires a audio frame meta from a batch's audio frame meta pool.
_NvDsAudioFrameMeta
Holds metadata for a audio frame in a batch.
Definition: sources/includes/nvds_audio_meta.h:50
nvds_copy_audio_classification_list
void nvds_copy_audio_classification_list(NvDsClassifierMetaList *src_classifier_meta_list, NvDsAudioFrameMeta *dst_frame_meta)
Makes a deep copy of a source classifier meta list to the classifier meta list in a specified object ...
nvds_remove_classifier_meta_from_audio_frame
void nvds_remove_classifier_meta_from_audio_frame(NvDsAudioFrameMeta *frame_meta, NvDsClassifierMeta *classifier_meta)
Removes a classifier meta from the audio frame meta to which it is attached.
nvds_clear_audio_batch_user_meta_list
void nvds_clear_audio_batch_user_meta_list(NvDsBatchMeta *batch_meta, NvDsUserMetaList *meta_list)
Removes all of the user metadata attached to the audio batch meta.
nvds_create_audio_batch_meta
NvDsBatchMeta * nvds_create_audio_batch_meta(guint max_batch_size)
Creates a batch metadata structure for a audio batch of specified size.
nvds_remove_user_meta_from_audio_batch
void nvds_remove_user_meta_from_audio_batch(NvDsBatchMeta *batch_meta, NvDsUserMeta *user_meta)
Removes a user meta from a audio batch meta to which it is attached.
MAX_USER_FIELDS
#define MAX_USER_FIELDS
Defines the number of additional fields available to the user in the metadata structure.
Definition: sources/includes/nvdsmeta.h:50
nvds_remove_user_meta_from_audio_frame
void nvds_remove_user_meta_from_audio_frame(NvDsAudioFrameMeta *frame_meta, NvDsUserMeta *user_meta)
Removes a user meta from a audio frame meta to which it is attached.
_NvDsBaseMeta
Holds information about base metadata of a given metadata type.
Definition: sources/includes/nvdsmeta.h:236
NvBufAudioFormat
NvBufAudioFormat
Specifies audio formats.
Definition: sources/includes/nvbufaudio.h:44
_NvDsAudioFrameMeta::num_channels
guint num_channels
Definition: sources/includes/nvds_audio_meta.h:72
nvds_add_user_meta_to_audio_batch
void nvds_add_user_meta_to_audio_batch(NvDsBatchMeta *batch_meta, NvDsUserMeta *user_meta)
Add a user meta to a audio batch meta.
_NvDsAudioFrameMeta::frame_user_meta_list
NvDsUserMetaList * frame_user_meta_list
Holds a pointer to a list of pointers of type NvDsUserMeta in use for the frame.
Definition: sources/includes/nvds_audio_meta.h:92
_NvDsAudioFrameMeta::class_id
gint class_id
Holds the index of the last object class inferred by the primary detector/classifier.
Definition: sources/includes/nvds_audio_meta.h:82
_NvDsUserMeta
Holds user metadata.
Definition: sources/includes/nvdsmeta.h:494
_NvDsAudioFrameMeta::frame_num
gint frame_num
Holds the current frame number of the source.
Definition: sources/includes/nvds_audio_meta.h:59
nvds_clear_audio_frame_meta_list
void nvds_clear_audio_frame_meta_list(NvDsBatchMeta *batch_meta, NvDsFrameMetaList *meta_list)
Removes all of the frame metadata attached to a batch meta.
nvds_add_audio_frame_meta_to_audio_batch
void nvds_add_audio_frame_meta_to_audio_batch(NvDsBatchMeta *batch_meta, NvDsAudioFrameMeta *frame_meta)
Adds a audio frame meta to a batch meta.
_NvDsBatchMeta
Holds information about a formed batch containing frames from different sources.
Definition: sources/includes/nvdsmeta.h:262
_NvDsAudioFrameMeta::misc_frame_info
gint64 misc_frame_info[MAX_USER_FIELDS]
Holds additional user-defined frame information.
Definition: sources/includes/nvds_audio_meta.h:94
nvds_copy_audio_batch_user_meta_list
void nvds_copy_audio_batch_user_meta_list(NvDsUserMetaList *src_user_meta_list, NvDsBatchMeta *dst_batch_meta)
Makes a deep copy of a user meta list to the user meta list in a specified audio batch meta.
_NvDsAudioFrameMeta::num_samples_per_frame
gint num_samples_per_frame
Holds the number of samples in the frame.
Definition: sources/includes/nvds_audio_meta.h:68
_NvDsAudioFrameMeta::bInferDone
gboolean bInferDone
Holds a Boolean indicating whether inference is performed on the frame.
Definition: sources/includes/nvds_audio_meta.h:79
NvDsUserMetaList
GList NvDsUserMetaList
Definition: sources/includes/nvdsmeta.h:62
nvds_add_classifier_meta_to_audio_frame
void nvds_add_classifier_meta_to_audio_frame(NvDsAudioFrameMeta *frame_meta, NvDsClassifierMeta *classifier_meta)
Adds a classifier meta the audio frame meta.
nvds_destroy_audio_batch_meta
gboolean nvds_destroy_audio_batch_meta(NvDsBatchMeta *batch_meta)
Destroys a batch metadata structure.
nvbufaudio.h
nvds_audio_batch_meta_release_func
void nvds_audio_batch_meta_release_func(gpointer data, gpointer user_data)
Releases metadata from a batch meta.
_NvDsAudioFrameMeta::class_label
gchar class_label[MAX_LABEL_SIZE]
Holds a string describing the class of the detected event.
Definition: sources/includes/nvds_audio_meta.h:86
_NvDsClassifierMeta
Holds classifier metadata for an object.
Definition: sources/includes/nvdsmeta.h:423
NvDsFrameMetaList
GList NvDsFrameMetaList
Definition: sources/includes/nvdsmeta.h:61
_NvDsAudioFrameMeta::base_meta
NvDsBaseMeta base_meta
Holds the base metadata for the frame.
Definition: sources/includes/nvds_audio_meta.h:52
_NvDsAudioFrameMeta::batch_id
guint batch_id
Holds the location of the frame in the batch.
Definition: sources/includes/nvds_audio_meta.h:57
_NvDsAudioFrameMeta::source_id
guint source_id
Holds the source IDof the frame in the batch, e.g.
Definition: sources/includes/nvds_audio_meta.h:66
NvDsAudioFrameMeta
struct _NvDsAudioFrameMeta NvDsAudioFrameMeta
Holds metadata for a audio frame in a batch.
_NvDsAudioFrameMeta::buf_pts
guint64 buf_pts
Holds the presentation timestamp (PTS) of the frame.
Definition: sources/includes/nvds_audio_meta.h:61
nvds_clear_audio_classifier_meta_list
void nvds_clear_audio_classifier_meta_list(NvDsAudioFrameMeta *frame_meta, NvDsClassifierMetaList *meta_list)
Removes all of the classifier metadata attached to an audio frame meta.
MAX_LABEL_SIZE
#define MAX_LABEL_SIZE
Definition: sources/gst-plugins/gst-dsexample/dsexample_lib/dsexample_lib.h:21
_NvDsAudioFrameMeta::reserved
gint64 reserved[MAX_RESERVED_FIELDS]
For internal use.
Definition: sources/includes/nvds_audio_meta.h:96
nvds_copy_audio_frame_user_meta_list
void nvds_copy_audio_frame_user_meta_list(NvDsUserMetaList *src_user_meta_list, NvDsAudioFrameMeta *dst_frame_meta)
Makes a deep copy of a source user meta list to the user meta list in a specified audio frame meta.
_NvDsAudioFrameMeta::ntp_timestamp
guint64 ntp_timestamp
Holds the ntp timestamp.
Definition: sources/includes/nvds_audio_meta.h:63
nvds_clear_audio_frame_user_meta_list
void nvds_clear_audio_frame_user_meta_list(NvDsAudioFrameMeta *frame_meta, NvDsUserMetaList *meta_list)
Removes all of the user metadata attached to the audio frame meta.
_NvDsAudioFrameMeta::layout
NvBufAudioLayout layout
Definition: sources/includes/nvds_audio_meta.h:77
nvds_copy_audio_frame_meta_list
void nvds_copy_audio_frame_meta_list(NvDsFrameMetaList *src_frame_meta_list, NvDsBatchMeta *dst_batch_meta)
Makes a deep copy of a source frame meta list to the frame meta list in a specified batch meta.
nvds_copy_audio_frame_meta
void nvds_copy_audio_frame_meta(NvDsAudioFrameMeta *src_frame_meta, NvDsAudioFrameMeta *dst_frame_meta)
Makes a deep copy of a frame meta to another frame meta.
NvBufAudioLayout
NvBufAudioLayout
Specifies audio data layout in memory.
Definition: sources/includes/nvbufaudio.h:80
nvds_audio_batch_meta_copy_func
gpointer nvds_audio_batch_meta_copy_func(gpointer data, gpointer user_data)
Copies or transforms meta data from one buffer to another.
nvdsmeta.h
MAX_RESERVED_FIELDS
#define MAX_RESERVED_FIELDS
Definition: sources/includes/nvdsmeta.h:52
nvds_remove_audio_frame_meta_from_audio_batch
void nvds_remove_audio_frame_meta_from_audio_batch(NvDsBatchMeta *batch_meta, NvDsAudioFrameMeta *frame_meta)
Removes a audio frame meta from a batch meta.
NvDsClassifierMetaList
GList NvDsClassifierMetaList
Definition: sources/includes/nvdsmeta.h:65
_NvDsAudioFrameMeta::classifier_meta_list
NvDsClassifierMetaList * classifier_meta_list
Holds a pointer to a list of pointers of type NvDsClassifierMeta in use for the frame.
Definition: sources/includes/nvds_audio_meta.h:89