summaryrefslogtreecommitdiff
path: root/lib/avtp_pipeline/platform/Linux/intf_alsa/alsa_intf.md
blob: 123c43663e305dfd43213697c675e0f03a7a22be (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
ALSA interface {#alsa_intf}
==============

# Description

ALSA interface module. An interface to connect AVTP streams to ALSA either as an audio source or sink.

<br>
# Interface module configuration parameters

Name                      | Description
--------------------------|---------------------------
intf_nv_ignore_timestamp  | If set to 1 timestamps will be ignored during processing of frames. This also means stale (old) Media Queue items will not be purged.
intf_nv_device_name       | ALSA device name. Commonly "default" or "plug:dmix"
intf_nv_audio_rate        | Audio rate, numberic values defined by @ref avb_audio_rate_t
intf_nv_audio_bit_depth   | Bit depth of audio, numeric values defined by @ref avb_audio_bit_depth_t
intf_nv_audio_type        | Type of data samples, possible values <ul><li>float</li><li>sign</li><li>unsign</li><li>int</li><li>uint</li></ul>
intf_nv_audio_endian      | Data endianess possible values <ul><li>big</li><li>little</li></ul>
intf_nv_audio_channels    | Number of audio channels, numeric values should be within range of values in @ref avb_audio_channels_t
intf_nv_allow_resampling  | If 1 software resampling allowed, disallowed otherwise (by default allowed)
intf_nv_start_threshold_periods | Playback start threshold measured in ALSA periods (2 by default)
intf_nv_period_time       | Approximate ALSA period duration in microseconds
intf_nv_clock_skew_ppb    | Estimate of media clock skew in Parts Per Billion (nanoseconds per second)

<br>
# Notes

There are some parameters that have to be set during configuration of this
interface module and before configuring mapping:
* [AAF audio mapping](@ref aaf_audio_map)
* [Uncompressed audio mapping](@ref uncmp_audio_map)

These parameters can be set in either:
* in the ini file (or available configuration system), so values will be parsed 
in the intf_cfg_cb function, 
* in the interface module initialization function where valid values can be 
assigned directly 

Values assigned in the intf_cfg_cb function will override any values set in the 
initialization function.