NVIDIA DeepStream SDK API Reference

9.1 Release
sources/includes/nvbufaudio.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 
30 #ifndef _NVBUFAUDIO_H_
31 #define _NVBUFAUDIO_H_
32 
33 #include <stdint.h>
34 #include <stdbool.h>
35 
36 #ifdef __cplusplus
37 extern "C"
38 {
39 #endif
40 
41 #define RESERVED_BYTES 16
42 
44 typedef enum
45 {
78 
80 typedef enum
81 {
86 
87 typedef struct
88 {
91  uint32_t bpf;
93  uint32_t channels;
94  uint32_t rate;
95  uint32_t dataSize;
96  void* dataPtr;
99  uint32_t padId;
103  uint32_t sourceId;
105  uint64_t ntpTimestamp;
107  uint64_t bufPts;
109  uint64_t duration;
110 
111  uint8_t reserved[RESERVED_BYTES];
113 
114 typedef struct
115 {
117  uint32_t numFilled;
119  uint32_t batchSize;
128 } NvBufAudio;
129 #ifdef __cplusplus
130 }
131 #endif
132 
133 #endif
NVBUF_AUDIO_U24_32LE
@ NVBUF_AUDIO_U24_32LE
Definition: sources/includes/nvbufaudio.h:55
NVBUF_AUDIO_S20BE
@ NVBUF_AUDIO_S20BE
Definition: sources/includes/nvbufaudio.h:66
NvBufAudioParams
Definition: sources/includes/nvbufaudio.h:87
NVBUF_AUDIO_U16BE
@ NVBUF_AUDIO_U16BE
Definition: sources/includes/nvbufaudio.h:52
NVBUF_AUDIO_F64LE
@ NVBUF_AUDIO_F64LE
Definition: sources/includes/nvbufaudio.h:75
NvBufAudioParams::duration
uint64_t duration
duration of this audio buffer
Definition: sources/includes/nvbufaudio.h:109
NVBUF_AUDIO_F64BE
@ NVBUF_AUDIO_F64BE
Definition: sources/includes/nvbufaudio.h:76
NvBufAudioParams::rate
uint32_t rate
audio sample rate in samples per second
Definition: sources/includes/nvbufaudio.h:94
NvBufAudio::isContiguous
bool isContiguous
isContiguous is true when the dataPtr in audioBuffers[] array is contiguous with the previous and fol...
Definition: sources/includes/nvbufaudio.h:125
NVBUF_AUDIO_S18BE
@ NVBUF_AUDIO_S18BE
Definition: sources/includes/nvbufaudio.h:70
NVBUF_AUDIO_S24BE
@ NVBUF_AUDIO_S24BE
Definition: sources/includes/nvbufaudio.h:62
NvBufAudioParams::bufPts
uint64_t bufPts
Buffer PTS of this audio buffer.
Definition: sources/includes/nvbufaudio.h:107
NvBufAudioFormat
NvBufAudioFormat
Specifies audio formats.
Definition: sources/includes/nvbufaudio.h:44
NVBUF_AUDIO_U20BE
@ NVBUF_AUDIO_U20BE
Definition: sources/includes/nvbufaudio.h:68
RESERVED_BYTES
#define RESERVED_BYTES
Definition: sources/includes/nvbufaudio.h:41
NvBufAudio::batchSize
uint32_t batchSize
The size of this NvBufAudio batch.
Definition: sources/includes/nvbufaudio.h:119
NVBUF_AUDIO_S32BE
@ NVBUF_AUDIO_S32BE
Definition: sources/includes/nvbufaudio.h:58
NVBUF_AUDIO_U32LE
@ NVBUF_AUDIO_U32LE
Definition: sources/includes/nvbufaudio.h:59
NVBUF_AUDIO_S20LE
@ NVBUF_AUDIO_S20LE
Definition: sources/includes/nvbufaudio.h:65
NVBUF_AUDIO_S24LE
@ NVBUF_AUDIO_S24LE
Definition: sources/includes/nvbufaudio.h:61
NVBUF_AUDIO_U16LE
@ NVBUF_AUDIO_U16LE
Definition: sources/includes/nvbufaudio.h:51
NvBufAudioParams::padId
uint32_t padId
Holds the pad or port index of the Gst-streammux plugin for the frame in the batch.
Definition: sources/includes/nvbufaudio.h:99
NVBUF_AUDIO_U8
@ NVBUF_AUDIO_U8
Definition: sources/includes/nvbufaudio.h:48
NvBufAudio
Definition: sources/includes/nvbufaudio.h:114
NVBUF_AUDIO_U18LE
@ NVBUF_AUDIO_U18LE
Definition: sources/includes/nvbufaudio.h:71
NVBUF_AUDIO_INTERLEAVED
@ NVBUF_AUDIO_INTERLEAVED
audio sample from each channel shall be interleaved LRLRLRLR
Definition: sources/includes/nvbufaudio.h:83
NVBUF_AUDIO_U32BE
@ NVBUF_AUDIO_U32BE
Definition: sources/includes/nvbufaudio.h:60
NVBUF_AUDIO_S16LE
@ NVBUF_AUDIO_S16LE
Definition: sources/includes/nvbufaudio.h:49
NvBufAudioParams::dataSize
uint32_t dataSize
Definition: sources/includes/nvbufaudio.h:95
NvBufAudio::numFilled
uint32_t numFilled
The size of this NvBufAudio batch.
Definition: sources/includes/nvbufaudio.h:117
NVBUF_AUDIO_F32BE
@ NVBUF_AUDIO_F32BE
Definition: sources/includes/nvbufaudio.h:74
NVBUF_AUDIO_U20LE
@ NVBUF_AUDIO_U20LE
Definition: sources/includes/nvbufaudio.h:67
NVBUF_AUDIO_S32LE
@ NVBUF_AUDIO_S32LE
Definition: sources/includes/nvbufaudio.h:57
NvBufAudioParams::format
NvBufAudioFormat format
Definition: sources/includes/nvbufaudio.h:90
NvBufAudioParams::channels
uint32_t channels
Number of audio channels.
Definition: sources/includes/nvbufaudio.h:93
NVBUF_AUDIO_U24LE
@ NVBUF_AUDIO_U24LE
Definition: sources/includes/nvbufaudio.h:63
NvBufAudioParams::layout
NvBufAudioLayout layout
Definition: sources/includes/nvbufaudio.h:89
NVBUF_AUDIO_S16BE
@ NVBUF_AUDIO_S16BE
Definition: sources/includes/nvbufaudio.h:50
NVBUF_AUDIO_F32LE
@ NVBUF_AUDIO_F32LE
Definition: sources/includes/nvbufaudio.h:73
NVBUF_AUDIO_NON_INTERLEAVED
@ NVBUF_AUDIO_NON_INTERLEAVED
audio sample from each channel shall be interleaved ; LLLLLLLLRRRRRRRR
Definition: sources/includes/nvbufaudio.h:84
NVBUF_AUDIO_U18BE
@ NVBUF_AUDIO_U18BE
Definition: sources/includes/nvbufaudio.h:72
NVBUF_AUDIO_U24BE
@ NVBUF_AUDIO_U24BE
Definition: sources/includes/nvbufaudio.h:64
NvBufAudioParams::bpf
uint32_t bpf
Bytes per frame; the size of a frame; size of one sample * @channels.
Definition: sources/includes/nvbufaudio.h:91
NVBUF_AUDIO_INVALID_LAYOUT
@ NVBUF_AUDIO_INVALID_LAYOUT
Definition: sources/includes/nvbufaudio.h:82
NvBufAudioParams::ntpTimestamp
uint64_t ntpTimestamp
NTP Timestamp of this audio buffer.
Definition: sources/includes/nvbufaudio.h:105
NVBUF_AUDIO_S24_32BE
@ NVBUF_AUDIO_S24_32BE
Definition: sources/includes/nvbufaudio.h:54
NvBufAudioLayout
NvBufAudioLayout
Specifies audio data layout in memory.
Definition: sources/includes/nvbufaudio.h:80
NVBUF_AUDIO_INVALID_FORMAT
@ NVBUF_AUDIO_INVALID_FORMAT
Definition: sources/includes/nvbufaudio.h:46
NvBufAudio::audioBuffers
NvBufAudioParams * audioBuffers
Array of batchSize audio bufffers.
Definition: sources/includes/nvbufaudio.h:127
NvBufAudioParams::sourceId
uint32_t sourceId
source ID of this buffer; This is w.r.t the multisrc DeepStream usecases
Definition: sources/includes/nvbufaudio.h:103
NVBUF_AUDIO_S8
@ NVBUF_AUDIO_S8
Definition: sources/includes/nvbufaudio.h:47
NVBUF_AUDIO_S24_32LE
@ NVBUF_AUDIO_S24_32LE
Definition: sources/includes/nvbufaudio.h:53
NVBUF_AUDIO_S18LE
@ NVBUF_AUDIO_S18LE
Definition: sources/includes/nvbufaudio.h:69
NVBUF_AUDIO_U24_32BE
@ NVBUF_AUDIO_U24_32BE
Definition: sources/includes/nvbufaudio.h:56
NvBufAudioParams::dataPtr
void * dataPtr
Definition: sources/includes/nvbufaudio.h:96