Open-AVB AVTP Pipeline SDK  1.4
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
openavb_map_uncmp_audio_pub.h
Go to the documentation of this file.
1 /*************************************************************************************************************
2 Copyright (c) 2012-2015, Symphony Teleca Corporation, a Harman International Industries, Incorporated company
3 All rights reserved.
4 
5 Redistribution and use in source and binary forms, with or without
6 modification, are permitted provided that the following conditions are met:
7 
8 1. Redistributions of source code must retain the above copyright notice, this
9  list of conditions and the following disclaimer.
10 2. Redistributions in binary form must reproduce the above copyright notice,
11  this list of conditions and the following disclaimer in the documentation
12  and/or other materials provided with the distribution.
13 
14 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS LISTED "AS IS" AND
15 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
16 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
17 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS LISTED BE LIABLE FOR
18 ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
19 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
20 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
21 ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
23 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 
25 Attributions: The inih library portion of the source code is licensed from
26 Brush Technology and Ben Hoyt - Copyright (c) 2009, Brush Technology and Copyright (c) 2009, Ben Hoyt.
27 Complete license and copyright information can be found at
28 https://github.com/benhoyt/inih/commit/74d2ca064fb293bc60a77b0bd068075b293cf175.
29 *************************************************************************************************************/
30 
31 /*
32 * HEADER SUMMARY : Uncompressed Audio mapping module public interface
33 *
34 * Refer to IEC 61883-6 for details of the "source packet" structure.
35 *
36 * The protocol_specific_header and CIP header.
37 *
38 * map_nv_tx_rate must be set in the .ini file.
39 */
40 
41 #ifndef OPENAVB_MAP_UNCMP_AUDIO_PUB_H
42 #define OPENAVB_MAP_UNCMP_AUDIO_PUB_H 1
43 
44 #include "openavb_types_pub.h"
45 #include "openavb_audio_pub.h"
46 #include "openavb_intf_pub.h"
47 
60 #define MapUncmpAudioMediaQDataFormat "UncmpAudio"
61 
66 typedef enum {
74 
87 typedef struct {
100 
101  // The mapping module will set these during the RX and TX init callbacks
102  // The interface module can use these during the RX and TX callbacks.
123 
126 
129 
131 
132 #endif // OPENAVB_MAP_UNCMP_AUDIO_PUB_H
U32 sytInterval
synchronization time interval
Definition: openavb_map_uncmp_audio_pub.h:122
avb_audio_rate_t audioRate
Rate of audio.
Definition: openavb_map_uncmp_audio_pub.h:89
avb_audio_sparse_mode_t sparseMode
Sparse timestamping mode.
Definition: openavb_map_uncmp_audio_pub.h:99
U32 packetSampleSizeBytes
Size of one sample in bytes.
Definition: openavb_map_uncmp_audio_pub.h:106
avb_audio_sparse_mode_t
Defines AAF timestamping mode:
Definition: openavb_map_uncmp_audio_pub.h:66
U32 itemSize
Media Queue Item size.
Definition: openavb_map_uncmp_audio_pub.h:120
U32 packetAudioDataSizeBytes
Size of packet (packetFrameSizeBytes * framesPerPacket)
Definition: openavb_map_uncmp_audio_pub.h:110
Contains detailed information of the audio format.
Definition: openavb_map_uncmp_audio_pub.h:87
U32 framesPerItem
Number of frames per one Media Queue Item.
Definition: openavb_map_uncmp_audio_pub.h:114
void(* openavb_intf_rx_translate_cb_t)(media_q_t *pMediaQ, U8 *pPubData, U32 length)
Translate RX data callback.
Definition: openavb_intf_pub.h:132
avb_audio_type_t audioType
Sample data type.
Definition: openavb_map_uncmp_audio_pub.h:91
avb_audio_channels_t
Number of channels.
Definition: openavb_audio_pub.h:127
avb_audio_endian_t audioEndian
Sample endianess.
Definition: openavb_map_uncmp_audio_pub.h:95
avb_audio_channels_t audioChannels
Number of channels.
Definition: openavb_map_uncmp_audio_pub.h:97
Common interface module public header.
avb_audio_endian_t
Defines endianess of data.
Definition: openavb_audio_pub.h:92
U32 itemFrameSizeBytes
Media Queue Item Frame size in bytes.
Definition: openavb_map_uncmp_audio_pub.h:118
uint32_t U32
Unsigned 32 bit type.
Definition: openavb_types_base_pub.h:85
U32 framesPerPacket
Number of frames for one data packet.
Definition: openavb_map_uncmp_audio_pub.h:104
U32 itemSampleSizeBytes
Item sample size in bytes (usually the same as packetSampleSizeBytes)
Definition: openavb_map_uncmp_audio_pub.h:116
Unspecified.
Definition: openavb_map_uncmp_audio_pub.h:68
avb_audio_bit_depth_t
Bit depth of audio.
Definition: openavb_audio_pub.h:106
avb_audio_rate_t
Audio rate.
Definition: openavb_audio_pub.h:44
int32_t S32
Signed 32 bit type.
Definition: openavb_types_base_pub.h:83
Disabled.
Definition: openavb_map_uncmp_audio_pub.h:70
avb_audio_type_t
Defines what type is data.
Definition: openavb_audio_pub.h:76
S32 presentationLatencyUSec
Interface Module may set this presentation latency which listener mapping modules will use to adjust ...
Definition: openavb_map_uncmp_audio_pub.h:128
U32 packingFactor
Number of frames of audio to accept in one Media Queue Item.
Definition: openavb_map_uncmp_audio_pub.h:112
General audio types.
U32 packetFrameSizeBytes
Size of one frame in bytes (framesPerPacket * audioChannels)
Definition: openavb_map_uncmp_audio_pub.h:108
openavb_intf_rx_translate_cb_t intf_rx_translate_cb
CB for interface modules to do translations in place before data is moved into the mediaQ on rx...
Definition: openavb_map_uncmp_audio_pub.h:125
avb_audio_bit_depth_t audioBitDepth
Bit depth of audio.
Definition: openavb_map_uncmp_audio_pub.h:93
Enabled.
Definition: openavb_map_uncmp_audio_pub.h:72