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
{
52
NvDsBaseMeta
base_meta
;
55
guint
pad_index
;
57
guint
batch_id
;
59
gint
frame_num
;
61
guint64
buf_pts
;
63
guint64
ntp_timestamp
;
66
guint
source_id
;
68
gint
num_samples_per_frame
;
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. */
74
NvBufAudioFormat
format
;
75
/* Holds layout information indicating whether audio channels are interleaved
76
* or non-interleaved */
77
NvBufAudioLayout
layout
;
79
gboolean
bInferDone
;
82
gint
class_id
;
84
gfloat
confidence
;
86
gchar
class_label
[
MAX_LABEL_SIZE
];
89
NvDsClassifierMetaList
*
classifier_meta_list
;
92
NvDsUserMetaList
*
frame_user_meta_list
;
94
gint64
misc_frame_info
[
MAX_USER_FIELDS
];
96
gint64
reserved
[
MAX_RESERVED_FIELDS
];
97
}
NvDsAudioFrameMeta
;
98
105
NvDsBatchMeta
*
nvds_create_audio_batch_meta
(guint max_batch_size);
106
114
gboolean
nvds_destroy_audio_batch_meta
(
NvDsBatchMeta
*batch_meta);
115
126
NvDsAudioFrameMeta
*
nvds_acquire_audio_frame_meta_from_pool
(
NvDsBatchMeta
*batch_meta);
127
136
void
nvds_add_audio_frame_meta_to_audio_batch
(
NvDsBatchMeta
* batch_meta,
137
NvDsAudioFrameMeta
* frame_meta);
138
147
void
nvds_remove_audio_frame_meta_from_audio_batch
(
NvDsBatchMeta
*batch_meta,
148
NvDsAudioFrameMeta
* frame_meta);
149
162
void
nvds_add_classifier_meta_to_audio_frame
(
NvDsAudioFrameMeta
*frame_meta,
163
NvDsClassifierMeta
* classifier_meta);
164
173
void
nvds_remove_classifier_meta_from_audio_frame
(
NvDsAudioFrameMeta
* frame_meta,
174
NvDsClassifierMeta
*classifier_meta);
175
184
void
nvds_add_user_meta_to_audio_batch
(
NvDsBatchMeta
* batch_meta,
185
NvDsUserMeta
* user_meta);
186
195
void
nvds_add_user_meta_to_audio_frame
(
NvDsAudioFrameMeta
* frame_meta,
196
NvDsUserMeta
* user_meta);
197
208
void
nvds_remove_user_meta_from_audio_batch
(
NvDsBatchMeta
* batch_meta,
209
NvDsUserMeta
* user_meta);
210
219
void
nvds_remove_user_meta_from_audio_frame
(
NvDsAudioFrameMeta
* frame_meta,
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
250
NvDsAudioFrameMeta
*
nvds_get_nth_audio_frame_meta
(
NvDsFrameMetaList
*frame_meta_list,
251
guint index);
252
260
void
nvds_clear_audio_frame_meta_list
(
NvDsBatchMeta
*batch_meta,
261
NvDsFrameMetaList
*meta_list);
262
271
void
nvds_clear_audio_classifier_meta_list
(
NvDsAudioFrameMeta
*frame_meta,
272
NvDsClassifierMetaList
*meta_list);
273
282
void
nvds_clear_audio_batch_user_meta_list
(
NvDsBatchMeta
*batch_meta,
283
NvDsUserMetaList
*meta_list);
284
292
void
nvds_clear_audio_frame_user_meta_list
(
NvDsAudioFrameMeta
*frame_meta,
293
NvDsUserMetaList
*meta_list);
294
302
void
nvds_copy_audio_batch_user_meta_list
(
NvDsUserMetaList
*src_user_meta_list,
303
NvDsBatchMeta
*dst_batch_meta);
304
311
void
nvds_copy_audio_frame_meta
(
NvDsAudioFrameMeta
*src_frame_meta,
312
NvDsAudioFrameMeta
*dst_frame_meta);
313
321
void
nvds_copy_audio_frame_user_meta_list
(
NvDsUserMetaList
*src_user_meta_list,
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
Privacy Policy
|
Manage My Privacy
|
Do Not Sell or Share My Data
|
Terms of Service
|
Accessibility
|
Corporate Policies
|
Product Security
|
Contact
© 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
NVIDIA Confidential | Subject to Change | For test and development only.
Thu Jul 9 2026 11:48:20 | PR-09318-R32