Linux unitednationsplay.com 3.10.0-1160.45.1.el7.x86_64 #1 SMP Wed Oct 13 17:20:51 UTC 2021 x86_64
nginx/1.20.1
Server IP : 188.130.139.92 & Your IP : 18.118.140.120
Domains :
Cant Read [ /etc/named.conf ]
User : web
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
share /
doc /
alsa-lib-devel-1.1.8 /
doxygen /
html /
Delete
Unzip
Name
Size
Permission
Date
Action
search
[ DIR ]
drwxr-xr-x
2021-11-09 08:48
_2test_2latency_8c-example.html
72.63
KB
-rw-r--r--
2019-08-08 12:00
_2test_2pcm_8c-example.html
96.91
KB
-rw-r--r--
2019-08-08 12:00
_2test_2pcm_min_8c-example.html
10.46
KB
-rw-r--r--
2019-08-08 12:00
_2test_2rawmidi_8c-example.html
24.4
KB
-rw-r--r--
2019-08-08 12:00
_2test_2timer_8c-example.html
28.51
KB
-rw-r--r--
2019-08-08 12:00
annotated.html
21.21
KB
-rw-r--r--
2019-08-08 12:00
asoundef_8h.html
110.32
KB
-rw-r--r--
2019-08-08 12:00
asoundef_8h_source.html
71.83
KB
-rw-r--r--
2019-08-08 12:00
asoundlib_8h.html
7.28
KB
-rw-r--r--
2019-08-08 12:00
asoundlib_8h_source.html
13.58
KB
-rw-r--r--
2019-08-08 12:00
async_8c.html
10.67
KB
-rw-r--r--
2019-08-08 12:00
bc_s.png
676
B
-rw-r--r--
2019-08-08 12:00
bdwn.png
147
B
-rw-r--r--
2019-08-08 12:00
bug.html
5.27
KB
-rw-r--r--
2019-08-08 12:00
cards_8c.html
9.36
KB
-rw-r--r--
2019-08-08 12:00
classes.html
12.61
KB
-rw-r--r--
2019-08-08 12:00
closed.png
132
B
-rw-r--r--
2019-08-08 12:00
conf.html
14.12
KB
-rw-r--r--
2019-08-08 12:00
conf_8c.html
93.94
KB
-rw-r--r--
2019-08-08 12:00
conf_8h.html
61.32
KB
-rw-r--r--
2019-08-08 12:00
conf_8h_source.html
74.11
KB
-rw-r--r--
2019-08-08 12:00
confarg.html
7.88
KB
-rw-r--r--
2019-08-08 12:00
conffunc.html
9.26
KB
-rw-r--r--
2019-08-08 12:00
confhooks.html
6.58
KB
-rw-r--r--
2019-08-08 12:00
confmisc_8c.html
53.07
KB
-rw-r--r--
2019-08-08 12:00
control.html
7.52
KB
-rw-r--r--
2019-08-08 12:00
control_8c.html
167.94
KB
-rw-r--r--
2019-08-08 12:00
control_8h.html
231.48
KB
-rw-r--r--
2019-08-08 12:00
control_8h_source.html
278.44
KB
-rw-r--r--
2019-08-08 12:00
control__ext_8c.html
7.89
KB
-rw-r--r--
2019-08-08 12:00
control__external_8h.html
15.86
KB
-rw-r--r--
2019-08-08 12:00
control__external_8h_source.html
54.72
KB
-rw-r--r--
2019-08-08 12:00
ctl_external_plugins.html
19.15
KB
-rw-r--r--
2019-08-08 12:00
deprecated.html
6.81
KB
-rw-r--r--
2019-08-08 12:00
dir_381a0a05232d68d0a2ebe5cd502f4d69.html
7.59
KB
-rw-r--r--
2019-08-08 12:00
dir_5f851d935025f1be023c2c62bd843fe2.html
6.55
KB
-rw-r--r--
2019-08-08 12:00
dir_68267d1309a1af8e8297ef4c3efbcdba.html
12.01
KB
-rw-r--r--
2019-08-08 12:00
dir_8c35c1873c2690b478a9950d0638d637.html
7.11
KB
-rw-r--r--
2019-08-08 12:00
dir_b73df3c68338d0823ff9d736eb268d89.html
7.77
KB
-rw-r--r--
2019-08-08 12:00
dir_b81b067251166617f9d0a8c0cfc3a4a9.html
9.51
KB
-rw-r--r--
2019-08-08 12:00
dir_d0e40b335958b6212fb6f781133eecbc.html
6.11
KB
-rw-r--r--
2019-08-08 12:00
dir_d1b0f45016cd06bf2eb252bd3f501161.html
7.6
KB
-rw-r--r--
2019-08-08 12:00
dir_d3519ec5023707b37568b471096da878.html
6.3
KB
-rw-r--r--
2019-08-08 12:00
dir_d44c64559bbebec7f509842c48db8b23.html
16.06
KB
-rw-r--r--
2019-08-08 12:00
dir_e8b3d2be6db305a5d41d291dd9fd6e9c.html
18.74
KB
-rw-r--r--
2019-08-08 12:00
dlmisc_8c.html
8.68
KB
-rw-r--r--
2019-08-08 12:00
doxygen.css
23.29
KB
-rw-r--r--
2019-08-08 12:00
doxygen.png
3.69
KB
-rw-r--r--
2019-08-08 12:00
dynsections.js
2.91
KB
-rw-r--r--
2019-08-08 12:00
error_8c.html
11.62
KB
-rw-r--r--
2019-08-08 12:00
error_8h.html
15.14
KB
-rw-r--r--
2019-08-08 12:00
error_8h_source.html
17.35
KB
-rw-r--r--
2019-08-08 12:00
examples.html
5.44
KB
-rw-r--r--
2019-08-08 12:00
files.html
41.53
KB
-rw-r--r--
2019-08-08 12:00
ftv2blank.png
86
B
-rw-r--r--
2019-08-08 12:00
ftv2cl.png
453
B
-rw-r--r--
2019-08-08 12:00
ftv2doc.png
746
B
-rw-r--r--
2019-08-08 12:00
ftv2folderclosed.png
616
B
-rw-r--r--
2019-08-08 12:00
ftv2folderopen.png
597
B
-rw-r--r--
2019-08-08 12:00
ftv2lastnode.png
86
B
-rw-r--r--
2019-08-08 12:00
ftv2link.png
746
B
-rw-r--r--
2019-08-08 12:00
ftv2mlastnode.png
246
B
-rw-r--r--
2019-08-08 12:00
ftv2mnode.png
246
B
-rw-r--r--
2019-08-08 12:00
ftv2mo.png
403
B
-rw-r--r--
2019-08-08 12:00
ftv2node.png
86
B
-rw-r--r--
2019-08-08 12:00
ftv2ns.png
388
B
-rw-r--r--
2019-08-08 12:00
ftv2plastnode.png
229
B
-rw-r--r--
2019-08-08 12:00
ftv2pnode.png
229
B
-rw-r--r--
2019-08-08 12:00
ftv2splitbar.png
314
B
-rw-r--r--
2019-08-08 12:00
ftv2vertline.png
86
B
-rw-r--r--
2019-08-08 12:00
functions.html
7.92
KB
-rw-r--r--
2019-08-08 12:00
functions_0x62.html
8.16
KB
-rw-r--r--
2019-08-08 12:00
functions_0x63.html
10.88
KB
-rw-r--r--
2019-08-08 12:00
functions_0x64.html
9.97
KB
-rw-r--r--
2019-08-08 12:00
functions_0x65.html
8.63
KB
-rw-r--r--
2019-08-08 12:00
functions_0x66.html
8.8
KB
-rw-r--r--
2019-08-08 12:00
functions_0x67.html
8.44
KB
-rw-r--r--
2019-08-08 12:00
functions_0x68.html
8.59
KB
-rw-r--r--
2019-08-08 12:00
functions_0x69.html
8.96
KB
-rw-r--r--
2019-08-08 12:00
functions_0x6c.html
7.69
KB
-rw-r--r--
2019-08-08 12:00
functions_0x6d.html
8.97
KB
-rw-r--r--
2019-08-08 12:00
functions_0x6e.html
9.46
KB
-rw-r--r--
2019-08-08 12:00
functions_0x6f.html
7.45
KB
-rw-r--r--
2019-08-08 12:00
functions_0x70.html
12.97
KB
-rw-r--r--
2019-08-08 12:00
functions_0x71.html
7.81
KB
-rw-r--r--
2019-08-08 12:00
functions_0x72.html
9.93
KB
-rw-r--r--
2019-08-08 12:00
functions_0x73.html
11.55
KB
-rw-r--r--
2019-08-08 12:00
functions_0x74.html
9.51
KB
-rw-r--r--
2019-08-08 12:00
functions_0x75.html
7.57
KB
-rw-r--r--
2019-08-08 12:00
functions_0x76.html
8.66
KB
-rw-r--r--
2019-08-08 12:00
functions_0x77.html
8.02
KB
-rw-r--r--
2019-08-08 12:00
functions_vars.html
7.9
KB
-rw-r--r--
2019-08-08 12:00
functions_vars_0x62.html
8.14
KB
-rw-r--r--
2019-08-08 12:00
functions_vars_0x63.html
10.86
KB
-rw-r--r--
2019-08-08 12:00
functions_vars_0x64.html
9.95
KB
-rw-r--r--
2019-08-08 12:00
functions_vars_0x65.html
8.61
KB
-rw-r--r--
2019-08-08 12:00
functions_vars_0x66.html
8.77
KB
-rw-r--r--
2019-08-08 12:00
functions_vars_0x67.html
8.42
KB
-rw-r--r--
2019-08-08 12:00
functions_vars_0x68.html
8.57
KB
-rw-r--r--
2019-08-08 12:00
functions_vars_0x69.html
8.94
KB
-rw-r--r--
2019-08-08 12:00
functions_vars_0x6c.html
7.67
KB
-rw-r--r--
2019-08-08 12:00
functions_vars_0x6d.html
8.95
KB
-rw-r--r--
2019-08-08 12:00
functions_vars_0x6e.html
9.44
KB
-rw-r--r--
2019-08-08 12:00
functions_vars_0x6f.html
7.42
KB
-rw-r--r--
2019-08-08 12:00
functions_vars_0x70.html
12.94
KB
-rw-r--r--
2019-08-08 12:00
functions_vars_0x71.html
7.78
KB
-rw-r--r--
2019-08-08 12:00
functions_vars_0x72.html
9.91
KB
-rw-r--r--
2019-08-08 12:00
functions_vars_0x73.html
11.53
KB
-rw-r--r--
2019-08-08 12:00
functions_vars_0x74.html
9.49
KB
-rw-r--r--
2019-08-08 12:00
functions_vars_0x75.html
7.55
KB
-rw-r--r--
2019-08-08 12:00
functions_vars_0x76.html
8.64
KB
-rw-r--r--
2019-08-08 12:00
functions_vars_0x77.html
8
KB
-rw-r--r--
2019-08-08 12:00
global_8h.html
21.49
KB
-rw-r--r--
2019-08-08 12:00
global_8h_source.html
31.54
KB
-rw-r--r--
2019-08-08 12:00
globals.html
10.13
KB
-rw-r--r--
2019-08-08 12:00
globals_0x61.html
6.53
KB
-rw-r--r--
2019-08-08 12:00
globals_0x69.html
27.15
KB
-rw-r--r--
2019-08-08 12:00
globals_0x6c.html
6.52
KB
-rw-r--r--
2019-08-08 12:00
globals_0x6d.html
19.28
KB
-rw-r--r--
2019-08-08 12:00
globals_0x70.html
6.52
KB
-rw-r--r--
2019-08-08 12:00
globals_0x73.html
399.6
KB
-rw-r--r--
2019-08-08 12:00
globals_defs.html
6.74
KB
-rw-r--r--
2019-08-08 12:00
globals_defs_0x61.html
6.28
KB
-rw-r--r--
2019-08-08 12:00
globals_defs_0x69.html
26.9
KB
-rw-r--r--
2019-08-08 12:00
globals_defs_0x6d.html
19.03
KB
-rw-r--r--
2019-08-08 12:00
globals_defs_0x73.html
41.41
KB
-rw-r--r--
2019-08-08 12:00
globals_enum.html
10.91
KB
-rw-r--r--
2019-08-08 12:00
globals_eval.html
56.84
KB
-rw-r--r--
2019-08-08 12:00
globals_func.html
8.99
KB
-rw-r--r--
2019-08-08 12:00
globals_func_0x73.html
296.89
KB
-rw-r--r--
2019-08-08 12:00
globals_type.html
16.29
KB
-rw-r--r--
2019-08-08 12:00
globals_vars.html
6.58
KB
-rw-r--r--
2019-08-08 12:00
group___config.html
167.8
KB
-rw-r--r--
2019-08-08 12:00
group___control.html
451.85
KB
-rw-r--r--
2019-08-08 12:00
group___ctl_plugin___s_d_k.html
27.25
KB
-rw-r--r--
2019-08-08 12:00
group___digital___audio___interface.html
121.36
KB
-rw-r--r--
2019-08-08 12:00
group___error.html
17.96
KB
-rw-r--r--
2019-08-08 12:00
group___global.html
35.46
KB
-rw-r--r--
2019-08-08 12:00
group___h_control.html
87.82
KB
-rw-r--r--
2019-08-08 12:00
group___hw_dep.html
103.83
KB
-rw-r--r--
2019-08-08 12:00
group___input.html
25.86
KB
-rw-r--r--
2019-08-08 12:00
group___m_i_d_i___commands.html
19.43
KB
-rw-r--r--
2019-08-08 12:00
group___m_i_d_i___controllers.html
59.49
KB
-rw-r--r--
2019-08-08 12:00
group___m_i_d_i___event.html
40.27
KB
-rw-r--r--
2019-08-08 12:00
group___m_i_d_i___interface.html
7.65
KB
-rw-r--r--
2019-08-08 12:00
group___mixer.html
111.34
KB
-rw-r--r--
2019-08-08 12:00
group___output.html
29.64
KB
-rw-r--r--
2019-08-08 12:00
group___p_c_m.html
239.96
KB
-rw-r--r--
2019-08-08 12:00
group___p_c_m___access.html
25.68
KB
-rw-r--r--
2019-08-08 12:00
group___p_c_m___deprecated.html
57.51
KB
-rw-r--r--
2019-08-08 12:00
group___p_c_m___description.html
21.1
KB
-rw-r--r--
2019-08-08 12:00
group___p_c_m___direct.html
30.64
KB
-rw-r--r--
2019-08-08 12:00
group___p_c_m___dump.html
19.83
KB
-rw-r--r--
2019-08-08 12:00
group___p_c_m___ext_plug.html
35.42
KB
-rw-r--r--
2019-08-08 12:00
group___p_c_m___format.html
25.63
KB
-rw-r--r--
2019-08-08 12:00
group___p_c_m___h_w___params.html
334.6
KB
-rw-r--r--
2019-08-08 12:00
group___p_c_m___helpers.html
59.92
KB
-rw-r--r--
2019-08-08 12:00
group___p_c_m___hook.html
19.18
KB
-rw-r--r--
2019-08-08 12:00
group___p_c_m___i_o_plug.html
42.67
KB
-rw-r--r--
2019-08-08 12:00
group___p_c_m___info.html
39.45
KB
-rw-r--r--
2019-08-08 12:00
group___p_c_m___s_w___params.html
57.45
KB
-rw-r--r--
2019-08-08 12:00
group___p_c_m___scope.html
36.51
KB
-rw-r--r--
2019-08-08 12:00
group___p_c_m___simple.html
24.78
KB
-rw-r--r--
2019-08-08 12:00
group___p_c_m___status.html
41.88
KB
-rw-r--r--
2019-08-08 12:00
group___p_c_m___sub_format.html
25.91
KB
-rw-r--r--
2019-08-08 12:00
group___plugin___s_d_k.html
16.2
KB
-rw-r--r--
2019-08-08 12:00
group___raw_midi.html
116.92
KB
-rw-r--r--
2019-08-08 12:00
group___s_control.html
13.25
KB
-rw-r--r--
2019-08-08 12:00
group___seq_client.html
103.44
KB
-rw-r--r--
2019-08-08 12:00
group___seq_ev_type.html
42.98
KB
-rw-r--r--
2019-08-08 12:00
group___seq_event.html
83.54
KB
-rw-r--r--
2019-08-08 12:00
group___seq_events.html
50.17
KB
-rw-r--r--
2019-08-08 12:00
group___seq_middle.html
138.03
KB
-rw-r--r--
2019-08-08 12:00
group___seq_misc.html
7.79
KB
-rw-r--r--
2019-08-08 12:00
group___seq_port.html
112.46
KB
-rw-r--r--
2019-08-08 12:00
group___seq_queue.html
136.55
KB
-rw-r--r--
2019-08-08 12:00
group___seq_subscribe.html
96.64
KB
-rw-r--r--
2019-08-08 12:00
group___sequencer.html
76.55
KB
-rw-r--r--
2019-08-08 12:00
group___simple_mixer.html
149.55
KB
-rw-r--r--
2019-08-08 12:00
group___timer.html
190.4
KB
-rw-r--r--
2019-08-08 12:00
group__topology.html
61.51
KB
-rw-r--r--
2019-08-08 12:00
group__ucm.html
57.08
KB
-rw-r--r--
2019-08-08 12:00
hcontrol.html
5.36
KB
-rw-r--r--
2019-08-08 12:00
hcontrol_8c.html
41.06
KB
-rw-r--r--
2019-08-08 12:00
hwdep_8c.html
44.41
KB
-rw-r--r--
2019-08-08 12:00
hwdep_8h.html
49.87
KB
-rw-r--r--
2019-08-08 12:00
hwdep_8h_source.html
70.6
KB
-rw-r--r--
2019-08-08 12:00
index.html
9.13
KB
-rw-r--r--
2019-08-08 12:00
input_8c.html
12.28
KB
-rw-r--r--
2019-08-08 12:00
input_8h.html
14.5
KB
-rw-r--r--
2019-08-08 12:00
input_8h_source.html
19.59
KB
-rw-r--r--
2019-08-08 12:00
jquery.js
102.24
KB
-rw-r--r--
2019-08-08 12:00
mixer.html
5.22
KB
-rw-r--r--
2019-08-08 12:00
mixer_8c.html
46.29
KB
-rw-r--r--
2019-08-08 12:00
mixer_8h.html
111.48
KB
-rw-r--r--
2019-08-08 12:00
mixer_8h_source.html
137.52
KB
-rw-r--r--
2019-08-08 12:00
mixer__simple_8h_source.html
14.49
KB
-rw-r--r--
2019-08-08 12:00
modules.html
18.17
KB
-rw-r--r--
2019-08-08 12:00
namehint_8c.html
8.18
KB
-rw-r--r--
2019-08-08 12:00
names_8c.html
7.6
KB
-rw-r--r--
2019-08-08 12:00
nav_f.png
153
B
-rw-r--r--
2019-08-08 12:00
nav_g.png
108
B
-rw-r--r--
2019-08-08 12:00
nav_h.png
98
B
-rw-r--r--
2019-08-08 12:00
open.png
123
B
-rw-r--r--
2019-08-08 12:00
output_8c.html
13.92
KB
-rw-r--r--
2019-08-08 12:00
output_8h.html
16.15
KB
-rw-r--r--
2019-08-08 12:00
output_8h_source.html
21.34
KB
-rw-r--r--
2019-08-08 12:00
pages.html
8.4
KB
-rw-r--r--
2019-08-08 12:00
pcm.html
47.73
KB
-rw-r--r--
2019-08-08 12:00
pcm_2pcm_8c.html
286.51
KB
-rw-r--r--
2019-08-08 12:00
pcm_8h.html
373.82
KB
-rw-r--r--
2019-08-08 12:00
pcm_8h_source.html
535.79
KB
-rw-r--r--
2019-08-08 12:00
pcm__adpcm_8c.html
13.99
KB
-rw-r--r--
2019-08-08 12:00
pcm__alaw_8c.html
13.46
KB
-rw-r--r--
2019-08-08 12:00
pcm__asym_8c.html
10.01
KB
-rw-r--r--
2019-08-08 12:00
pcm__copy_8c.html
12.94
KB
-rw-r--r--
2019-08-08 12:00
pcm__dmix_8c.html
15.19
KB
-rw-r--r--
2019-08-08 12:00
pcm__dshare_8c.html
14.16
KB
-rw-r--r--
2019-08-08 12:00
pcm__dsnoop_8c.html
14.17
KB
-rw-r--r--
2019-08-08 12:00
pcm__empty_8c.html
10
KB
-rw-r--r--
2019-08-08 12:00
pcm__external_8h.html
8.9
KB
-rw-r--r--
2019-08-08 12:00
pcm__external_8h_source.html
14.69
KB
-rw-r--r--
2019-08-08 12:00
pcm__extplug_8c.html
13.04
KB
-rw-r--r--
2019-08-08 12:00
pcm__extplug_8h.html
17.62
KB
-rw-r--r--
2019-08-08 12:00
pcm__extplug_8h_source.html
48.01
KB
-rw-r--r--
2019-08-08 12:00
pcm__file_8c.html
15.48
KB
-rw-r--r--
2019-08-08 12:00
pcm__hooks_8c.html
19.42
KB
-rw-r--r--
2019-08-08 12:00
pcm__hw_8c.html
18.07
KB
-rw-r--r--
2019-08-08 12:00
pcm__iec958_8c.html
14.06
KB
-rw-r--r--
2019-08-08 12:00
pcm__ioplug_8c.html
15.3
KB
-rw-r--r--
2019-08-08 12:00
pcm__ioplug_8h.html
21.94
KB
-rw-r--r--
2019-08-08 12:00
pcm__ioplug_8h_source.html
66.92
KB
-rw-r--r--
2019-08-08 12:00
pcm__ladspa_8c.html
14.79
KB
-rw-r--r--
2019-08-08 12:00
pcm__lfloat_8c.html
13.42
KB
-rw-r--r--
2019-08-08 12:00
pcm__linear_8c.html
13.49
KB
-rw-r--r--
2019-08-08 12:00
pcm__meter_8c.html
22.2
KB
-rw-r--r--
2019-08-08 12:00
pcm__mmap__emul_8c.html
9.84
KB
-rw-r--r--
2019-08-08 12:00
pcm__mulaw_8c.html
13.48
KB
-rw-r--r--
2019-08-08 12:00
pcm__multi_8c.html
14.84
KB
-rw-r--r--
2019-08-08 12:00
pcm__null_8c.html
12.88
KB
-rw-r--r--
2019-08-08 12:00
pcm__plugin_8c.html
6.44
KB
-rw-r--r--
2019-08-08 12:00
pcm__rate_8c.html
16.13
KB
-rw-r--r--
2019-08-08 12:00
pcm__route_8c.html
21.28
KB
-rw-r--r--
2019-08-08 12:00
pcm__share_8c.html
15.31
KB
-rw-r--r--
2019-08-08 12:00
pcm__shm_8c.html
13.27
KB
-rw-r--r--
2019-08-08 12:00
pcm__simple_8c.html
10.12
KB
-rw-r--r--
2019-08-08 12:00
pcm__softvol_8c.html
16.08
KB
-rw-r--r--
2019-08-08 12:00
pcm_external_plugins.html
24.32
KB
-rw-r--r--
2019-08-08 12:00
pcm_plugins.html
66.5
KB
-rw-r--r--
2019-08-08 12:00
rawmidi.html
11.77
KB
-rw-r--r--
2019-08-08 12:00
rawmidi_8c.html
46.77
KB
-rw-r--r--
2019-08-08 12:00
rawmidi_8h.html
54.98
KB
-rw-r--r--
2019-08-08 12:00
rawmidi_8h_source.html
65.34
KB
-rw-r--r--
2019-08-08 12:00
seq.html
57.26
KB
-rw-r--r--
2019-08-08 12:00
seq_8c.html
197.23
KB
-rw-r--r--
2019-08-08 12:00
seq_8h.html
251.24
KB
-rw-r--r--
2019-08-08 12:00
seq_8h_source.html
272.74
KB
-rw-r--r--
2019-08-08 12:00
seq__event_8c.html
6.64
KB
-rw-r--r--
2019-08-08 12:00
seq__event_8h.html
29.19
KB
-rw-r--r--
2019-08-08 12:00
seq__event_8h_source.html
96.96
KB
-rw-r--r--
2019-08-08 12:00
seq__midi__event_8c.html
14.24
KB
-rw-r--r--
2019-08-08 12:00
seq__midi__event_8h.html
15.24
KB
-rw-r--r--
2019-08-08 12:00
seq__midi__event_8h_source.html
19.92
KB
-rw-r--r--
2019-08-08 12:00
seqmid_8h.html
42.31
KB
-rw-r--r--
2019-08-08 12:00
seqmid_8h_source.html
53.43
KB
-rw-r--r--
2019-08-08 12:00
setup_8c.html
9.85
KB
-rw-r--r--
2019-08-08 12:00
simple_8c.html
60.74
KB
-rw-r--r--
2019-08-08 12:00
simple__abst_8c.html
16.27
KB
-rw-r--r--
2019-08-08 12:00
simple__none_8c.html
9.28
KB
-rw-r--r--
2019-08-08 12:00
structctl__access__elem.html
6.41
KB
-rw-r--r--
2019-08-08 12:00
structsnd__aes__iec958__t.html
8.83
KB
-rw-r--r--
2019-08-08 12:00
structsnd__ctl__ext.html
18.52
KB
-rw-r--r--
2019-08-08 12:00
structsnd__ctl__ext__callback.html
35.7
KB
-rw-r--r--
2019-08-08 12:00
structsnd__devname.html
8.06
KB
-rw-r--r--
2019-08-08 12:00
structsnd__mixer__selem__regopt.html
10.25
KB
-rw-r--r--
2019-08-08 12:00
structsnd__pcm__audio__tstamp__config__t.html
6.58
KB
-rw-r--r--
2019-08-08 12:00
structsnd__pcm__audio__tstamp__report__t.html
7.29
KB
-rw-r--r--
2019-08-08 12:00
structsnd__pcm__channel__area__t.html
8.58
KB
-rw-r--r--
2019-08-08 12:00
structsnd__pcm__chmap__query__t.html
7.82
KB
-rw-r--r--
2019-08-08 12:00
structsnd__pcm__chmap__t.html
7.39
KB
-rw-r--r--
2019-08-08 12:00
structsnd__pcm__extplug.html
17.41
KB
-rw-r--r--
2019-08-08 12:00
structsnd__pcm__extplug__callback.html
16.62
KB
-rw-r--r--
2019-08-08 12:00
structsnd__pcm__ioplug.html
22.55
KB
-rw-r--r--
2019-08-08 12:00
structsnd__pcm__ioplug__callback.html
27.5
KB
-rw-r--r--
2019-08-08 12:00
structsnd__pcm__scope__ops__t.html
14.9
KB
-rw-r--r--
2019-08-08 12:00
structsnd__seq__addr__t.html
7.39
KB
-rw-r--r--
2019-08-08 12:00
structsnd__seq__connect__t.html
7.66
KB
-rw-r--r--
2019-08-08 12:00
structsnd__seq__ev__ctrl__t.html
8.8
KB
-rw-r--r--
2019-08-08 12:00
structsnd__seq__ev__ext.html
7.41
KB
-rw-r--r--
2019-08-08 12:00
structsnd__seq__ev__note__t.html
9.79
KB
-rw-r--r--
2019-08-08 12:00
structsnd__seq__ev__queue__control__t.html
12.5
KB
-rw-r--r--
2019-08-08 12:00
structsnd__seq__ev__raw32__t.html
6.74
KB
-rw-r--r--
2019-08-08 12:00
structsnd__seq__ev__raw8__t.html
6.74
KB
-rw-r--r--
2019-08-08 12:00
structsnd__seq__event__t.html
19.44
KB
-rw-r--r--
2019-08-08 12:00
structsnd__seq__queue__skew__t.html
7.42
KB
-rw-r--r--
2019-08-08 12:00
structsnd__seq__real__time__t.html
7.43
KB
-rw-r--r--
2019-08-08 12:00
structsnd__seq__result__t.html
7.37
KB
-rw-r--r--
2019-08-08 12:00
structsnd__timer__read__t.html
7.76
KB
-rw-r--r--
2019-08-08 12:00
structsnd__timer__tread__t.html
8.42
KB
-rw-r--r--
2019-08-08 12:00
structsnd__tplg__bytes__template.html
11.35
KB
-rw-r--r--
2019-08-08 12:00
structsnd__tplg__channel__elem.html
8.65
KB
-rw-r--r--
2019-08-08 12:00
structsnd__tplg__channel__map__template.html
7.96
KB
-rw-r--r--
2019-08-08 12:00
structsnd__tplg__channel__template.html
5.92
KB
-rw-r--r--
2019-08-08 12:00
structsnd__tplg__ctl__template.html
9.91
KB
-rw-r--r--
2019-08-08 12:00
structsnd__tplg__dai__template.html
12.13
KB
-rw-r--r--
2019-08-08 12:00
structsnd__tplg__enum__template.html
11.45
KB
-rw-r--r--
2019-08-08 12:00
structsnd__tplg__graph__elem.html
8.26
KB
-rw-r--r--
2019-08-08 12:00
structsnd__tplg__graph__template.html
7.73
KB
-rw-r--r--
2019-08-08 12:00
structsnd__tplg__hw__config__template.html
13.47
KB
-rw-r--r--
2019-08-08 12:00
structsnd__tplg__io__ops__template.html
8.23
KB
-rw-r--r--
2019-08-08 12:00
structsnd__tplg__link__template.html
12.93
KB
-rw-r--r--
2019-08-08 12:00
structsnd__tplg__mixer__template.html
11.44
KB
-rw-r--r--
2019-08-08 12:00
structsnd__tplg__obj__template.html
5.87
KB
-rw-r--r--
2019-08-08 12:00
structsnd__tplg__obj__template__t.html
15.83
KB
-rw-r--r--
2019-08-08 12:00
structsnd__tplg__pcm__template.html
15.76
KB
-rw-r--r--
2019-08-08 12:00
structsnd__tplg__pdata__template.html
7.56
KB
-rw-r--r--
2019-08-08 12:00
structsnd__tplg__stream__caps__template.html
16.33
KB
-rw-r--r--
2019-08-08 12:00
structsnd__tplg__stream__template.html
10.33
KB
-rw-r--r--
2019-08-08 12:00
structsnd__tplg__tlv__dbscale__template.html
9.14
KB
-rw-r--r--
2019-08-08 12:00
structsnd__tplg__tlv__template.html
6.84
KB
-rw-r--r--
2019-08-08 12:00
structsnd__tplg__widget__template.html
16.21
KB
-rw-r--r--
2019-08-08 12:00
sync_off.png
853
B
-rw-r--r--
2019-08-08 12:00
sync_on.png
845
B
-rw-r--r--
2019-08-08 12:00
tab_a.png
142
B
-rw-r--r--
2019-08-08 12:00
tab_b.png
169
B
-rw-r--r--
2019-08-08 12:00
tab_h.png
177
B
-rw-r--r--
2019-08-08 12:00
tab_s.png
184
B
-rw-r--r--
2019-08-08 12:00
tabs.css
1.14
KB
-rw-r--r--
2019-08-08 12:00
timer.html
6.57
KB
-rw-r--r--
2019-08-08 12:00
timer_8c.html
48.32
KB
-rw-r--r--
2019-08-08 12:00
timer_8h.html
85.53
KB
-rw-r--r--
2019-08-08 12:00
timer_8h_source.html
108.65
KB
-rw-r--r--
2019-08-08 12:00
timer__local_8h_source.html
27.74
KB
-rw-r--r--
2019-08-08 12:00
timer__query_8c.html
31.83
KB
-rw-r--r--
2019-08-08 12:00
tlv_8c.html
11.68
KB
-rw-r--r--
2019-08-08 12:00
topology_8h_source.html
138.52
KB
-rw-r--r--
2019-08-08 12:00
unionsnd__pcm__sync__id__t.html
8.07
KB
-rw-r--r--
2019-08-08 12:00
unionsnd__seq__timestamp__t.html
7.61
KB
-rw-r--r--
2019-08-08 12:00
use-case_8h.html
26.77
KB
-rw-r--r--
2019-08-08 12:00
use-case_8h_source.html
36.97
KB
-rw-r--r--
2019-08-08 12:00
version_8h_source.html
7.33
KB
-rw-r--r--
2019-08-08 12:00
wave1.gif
1.67
KB
-rw-r--r--
2019-08-08 12:00
wave2.gif
1020
B
-rw-r--r--
2019-08-08 12:00
Save
Rename
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.5"/> <title>ALSA project - the C library reference: PCM Interface</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="search/search.js"></script> <script type="text/javascript"> $(document).ready(function() { searchBox.OnSelectItem(0); }); </script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">ALSA project - the C library reference </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.5 --> <script type="text/javascript"> var searchBox = new SearchBox("searchBox", "search",false,'Search'); </script> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li><a href="examples.html"><span>Examples</span></a></li> <li> <div id="MSearchBox" class="MSearchBoxInactive"> <span class="left"> <img id="MSearchSelect" src="search/mag_sel.png" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/> <input type="text" id="MSearchField" value="Search" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/> </span><span class="right"> <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> </span> </div> </li> </ul> </div> </div><!-- top --> <!-- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Pages</a></div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="javascript:void(0)" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> <div class="header"> <div class="summary"> <a href="#groups">Modules</a> | <a href="#files">Files</a> | <a href="#nested-classes">Data Structures</a> | <a href="#define-members">Macros</a> | <a href="#typedef-members">Typedefs</a> | <a href="#enum-members">Enumerations</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">PCM Interface</div> </div> </div><!--header--> <div class="contents"> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a> Modules</h2></td></tr> <tr class="memitem:group___p_c_m___info"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___info.html">Stream Information</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:group___p_c_m___h_w___params"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___h_w___params.html">Hardware Parameters</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:group___p_c_m___s_w___params"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___s_w___params.html">Software Parameters</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:group___p_c_m___access"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___access.html">Access Mask Functions</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:group___p_c_m___format"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___format.html">Format Mask Functions</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:group___p_c_m___sub_format"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___sub_format.html">Subformat Mask Functions</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:group___p_c_m___status"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___status.html">Status Functions</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:group___p_c_m___description"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___description.html">Description Functions</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:group___p_c_m___dump"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___dump.html">Debug Functions</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:group___p_c_m___direct"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___direct.html">Direct Access (MMAP) Functions</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:group___p_c_m___helpers"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___helpers.html">Helper Functions</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:group___p_c_m___hook"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___hook.html">Hook Extension</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:group___p_c_m___scope"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___scope.html">Scope Plugin Extension</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:group___p_c_m___simple"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___simple.html">Simple setup functions</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:group___p_c_m___deprecated"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___deprecated.html">Deprecated Functions</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a> Files</h2></td></tr> <tr class="memitem:pcm_2pcm_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="pcm_2pcm_8c.html">pcm.c</a></td></tr> <tr class="memdesc:pcm_2pcm_8c"><td class="mdescLeft"> </td><td class="mdescRight">PCM Interface. <br/></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:pcm__plugin_8c"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="pcm__plugin_8c.html">pcm_plugin.c</a></td></tr> <tr class="memdesc:pcm__plugin_8c"><td class="mdescLeft"> </td><td class="mdescRight">PCM Interface. <br/></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> Data Structures</h2></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__pcm__audio__tstamp__config__t.html">snd_pcm_audio_tstamp_config_t</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__pcm__audio__tstamp__report__t.html">snd_pcm_audio_tstamp_report_t</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__pcm__channel__area__t.html">snd_pcm_channel_area_t</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">union  </td><td class="memItemRight" valign="bottom"><a class="el" href="unionsnd__pcm__sync__id__t.html">snd_pcm_sync_id_t</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__pcm__chmap__t.html">snd_pcm_chmap_t</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structsnd__pcm__chmap__query__t.html">snd_pcm_chmap_query_t</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> Macros</h2></td></tr> <tr class="memitem:ga32ccf47736036e86b0d787dc43e64d4a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga32ccf47736036e86b0d787dc43e64d4a">SND_PCM_DLSYM_VERSION</a>   _dlsym_pcm_001</td></tr> <tr class="separator:ga32ccf47736036e86b0d787dc43e64d4a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga6bd90de1d1527b5804090dcce51079ad"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga6bd90de1d1527b5804090dcce51079ad">SND_PCM_NONBLOCK</a></td></tr> <tr class="separator:ga6bd90de1d1527b5804090dcce51079ad"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga9b22351abf6c85ced128e2088f6f6a5c"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga9b22351abf6c85ced128e2088f6f6a5c">SND_PCM_ASYNC</a></td></tr> <tr class="separator:ga9b22351abf6c85ced128e2088f6f6a5c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga06aa6da1ebeff70c83d9f6e18a91a3d7"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga06aa6da1ebeff70c83d9f6e18a91a3d7">SND_PCM_ABORT</a>   0x00008000</td></tr> <tr class="separator:ga06aa6da1ebeff70c83d9f6e18a91a3d7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaba352dfac44ef1681f91d476ed781005"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#gaba352dfac44ef1681f91d476ed781005">SND_PCM_NO_AUTO_RESAMPLE</a>   0x00010000</td></tr> <tr class="separator:gaba352dfac44ef1681f91d476ed781005"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga64fa40b556374dabe40d4874242fee19"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga64fa40b556374dabe40d4874242fee19">SND_PCM_NO_AUTO_CHANNELS</a>   0x00020000</td></tr> <tr class="separator:ga64fa40b556374dabe40d4874242fee19"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gacb997a23fbba62232101f730e9ae1e96"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#gacb997a23fbba62232101f730e9ae1e96">SND_PCM_NO_AUTO_FORMAT</a>   0x00040000</td></tr> <tr class="separator:gacb997a23fbba62232101f730e9ae1e96"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga1f67b4e05749f0d3dafe7c17e448518a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga1f67b4e05749f0d3dafe7c17e448518a">SND_PCM_NO_SOFTVOL</a>   0x00080000</td></tr> <tr class="separator:ga1f67b4e05749f0d3dafe7c17e448518a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaf79d447b5f5c0936cfbc769eee03078b"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#gaf79d447b5f5c0936cfbc769eee03078b">SND_CHMAP_API_VERSION</a>   ((1 << 16) | (0 << 8) | 1)</td></tr> <tr class="separator:gaf79d447b5f5c0936cfbc769eee03078b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gad6713109477a592274f92f85670fcc1a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#gad6713109477a592274f92f85670fcc1a">SND_CHMAP_POSITION_MASK</a>   0xffff</td></tr> <tr class="separator:gad6713109477a592274f92f85670fcc1a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gad98b225c79dd92fc387b2e7884ef97da"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#gad98b225c79dd92fc387b2e7884ef97da">SND_CHMAP_PHASE_INVERSE</a>   (0x01 << 16)</td></tr> <tr class="separator:gad98b225c79dd92fc387b2e7884ef97da"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaf3d1c438269afa0206fb9f2151c4fc6a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#gaf3d1c438269afa0206fb9f2151c4fc6a">SND_CHMAP_DRIVER_SPEC</a>   (0x02 << 16)</td></tr> <tr class="separator:gaf3d1c438269afa0206fb9f2151c4fc6a"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a> Typedefs</h2></td></tr> <tr class="memitem:ga7dae86a468480ce8eb1c485446c51664"><td class="memItemLeft" align="right" valign="top">typedef struct _snd_pcm_info </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga7dae86a468480ce8eb1c485446c51664">snd_pcm_info_t</a></td></tr> <tr class="separator:ga7dae86a468480ce8eb1c485446c51664"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga65c737127994f0a980edad744e36dc40"><td class="memItemLeft" align="right" valign="top">typedef struct _snd_pcm_hw_params </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga65c737127994f0a980edad744e36dc40">snd_pcm_hw_params_t</a></td></tr> <tr class="separator:ga65c737127994f0a980edad744e36dc40"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga7e082d9ea701709270b0674a0be23b09"><td class="memItemLeft" align="right" valign="top">typedef struct _snd_pcm_sw_params </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a></td></tr> <tr class="separator:ga7e082d9ea701709270b0674a0be23b09"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga902b87281c46910b469d5f7aaafc1890"><td class="memItemLeft" align="right" valign="top">typedef struct _snd_pcm_status </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga902b87281c46910b469d5f7aaafc1890">snd_pcm_status_t</a></td></tr> <tr class="separator:ga902b87281c46910b469d5f7aaafc1890"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga7f9575bcc94c7c2cf5d688a45c16ffba"><td class="memItemLeft" align="right" valign="top">typedef struct _snd_pcm_access_mask </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga7f9575bcc94c7c2cf5d688a45c16ffba">snd_pcm_access_mask_t</a></td></tr> <tr class="separator:ga7f9575bcc94c7c2cf5d688a45c16ffba"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga0936aa9ac0051a3611583a2740915545"><td class="memItemLeft" align="right" valign="top">typedef struct _snd_pcm_format_mask </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga0936aa9ac0051a3611583a2740915545">snd_pcm_format_mask_t</a></td></tr> <tr class="separator:ga0936aa9ac0051a3611583a2740915545"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga891b054202089747199bc3348b9d9630"><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/> _snd_pcm_subformat_mask </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga891b054202089747199bc3348b9d9630">snd_pcm_subformat_mask_t</a></td></tr> <tr class="separator:ga891b054202089747199bc3348b9d9630"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gab01fcfe9b97382a8d3f2027c664b8b8a"><td class="memItemLeft" align="right" valign="top">typedef unsigned long </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a></td></tr> <tr class="separator:gab01fcfe9b97382a8d3f2027c664b8b8a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga71cdfa37e258d2210b8bd0216bf0c36c"><td class="memItemLeft" align="right" valign="top">typedef long </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga71cdfa37e258d2210b8bd0216bf0c36c">snd_pcm_sframes_t</a></td></tr> <tr class="separator:ga71cdfa37e258d2210b8bd0216bf0c36c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga919e634deecd855b6e2e15174e70d3ea"><td class="memItemLeft" align="right" valign="top">typedef struct _snd_pcm </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a></td></tr> <tr class="separator:ga919e634deecd855b6e2e15174e70d3ea"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaca6314f46f54a0b62536c403bbb62601"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="group___p_c_m.html#ga060d5b81f2fc8efcc35ff3e1de6e9fa4">_snd_pcm_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#gaca6314f46f54a0b62536c403bbb62601">snd_pcm_type_t</a></td></tr> <tr class="separator:gaca6314f46f54a0b62536c403bbb62601"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga3cd150b8aa57e634e1e1dd914940c765"><td class="memItemLeft" align="right" valign="top">typedef struct _snd_pcm_scope </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga3cd150b8aa57e634e1e1dd914940c765">snd_pcm_scope_t</a></td></tr> <tr class="separator:ga3cd150b8aa57e634e1e1dd914940c765"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a> Enumerations</h2></td></tr> <tr class="memitem:gad0e95dc8a590d8f9915fec237d7a28a5"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#gad0e95dc8a590d8f9915fec237d7a28a5">snd_pcm_class_t</a> { <br/>   <a class="el" href="group___p_c_m.html#ggad0e95dc8a590d8f9915fec237d7a28a5a3899ef7b0fa4a9717abe5587e9110514">SND_PCM_CLASS_GENERIC</a> = 0, <a class="el" href="group___p_c_m.html#ggad0e95dc8a590d8f9915fec237d7a28a5a223f6ffeb72c72144f4f680998fbedb3">SND_PCM_CLASS_MULTI</a>, <a class="el" href="group___p_c_m.html#ggad0e95dc8a590d8f9915fec237d7a28a5a79cdb236d774a3a5e17cf4929a16936b">SND_PCM_CLASS_MODEM</a>, <a class="el" href="group___p_c_m.html#ggad0e95dc8a590d8f9915fec237d7a28a5a69f4d2c8aa3195c6fc140b6d4c2f25ea">SND_PCM_CLASS_DIGITIZER</a>, <br/>   <b>SND_PCM_CLASS_LAST</b> = SND_PCM_CLASS_DIGITIZER <br/> }</td></tr> <tr class="separator:gad0e95dc8a590d8f9915fec237d7a28a5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga6a164917c35e2216f6e76beff4e4d0cb"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga6a164917c35e2216f6e76beff4e4d0cb">snd_pcm_subclass_t</a> { <a class="el" href="group___p_c_m.html#gga6a164917c35e2216f6e76beff4e4d0cba79a61939325a37b0fdfcf6e9ac0ce572">SND_PCM_SUBCLASS_GENERIC_MIX</a> = 0, <a class="el" href="group___p_c_m.html#gga6a164917c35e2216f6e76beff4e4d0cbaafd17e33fac6f3c2b7e9bb48473b8c54">SND_PCM_SUBCLASS_MULTI_MIX</a>, <b>SND_PCM_SUBCLASS_LAST</b> = SND_PCM_SUBCLASS_MULTI_MIX }</td></tr> <tr class="separator:ga6a164917c35e2216f6e76beff4e4d0cb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gac23b43ff55add78638e503b9cc892c24"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#gac23b43ff55add78638e503b9cc892c24">snd_pcm_stream_t</a> { <a class="el" href="group___p_c_m.html#ggac23b43ff55add78638e503b9cc892c24a57a2b920dbc34173479fc9036cfc78a1">SND_PCM_STREAM_PLAYBACK</a> = 0, <a class="el" href="group___p_c_m.html#ggac23b43ff55add78638e503b9cc892c24af07834f756b4f95cb61987f4811073c4">SND_PCM_STREAM_CAPTURE</a>, <b>SND_PCM_STREAM_LAST</b> = SND_PCM_STREAM_CAPTURE }</td></tr> <tr class="separator:gac23b43ff55add78638e503b9cc892c24"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga661221ba5e8f1d6eaf4ab8e2da57cc1a"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga661221ba5e8f1d6eaf4ab8e2da57cc1a">snd_pcm_access_t</a> { <br/>   <a class="el" href="group___p_c_m.html#gga661221ba5e8f1d6eaf4ab8e2da57cc1aa90a5dea527c5ae9a53f1448beb2dee6f">SND_PCM_ACCESS_MMAP_INTERLEAVED</a> = 0, <a class="el" href="group___p_c_m.html#gga661221ba5e8f1d6eaf4ab8e2da57cc1aa7de225785e05dd1d538203c5ece9036e">SND_PCM_ACCESS_MMAP_NONINTERLEAVED</a>, <a class="el" href="group___p_c_m.html#gga661221ba5e8f1d6eaf4ab8e2da57cc1aa26a4f161364cb539df4de5eeb9949121">SND_PCM_ACCESS_MMAP_COMPLEX</a>, <a class="el" href="group___p_c_m.html#gga661221ba5e8f1d6eaf4ab8e2da57cc1aa72a970ed6e676ab0fd9f3c3d36737e0a">SND_PCM_ACCESS_RW_INTERLEAVED</a>, <br/>   <a class="el" href="group___p_c_m.html#gga661221ba5e8f1d6eaf4ab8e2da57cc1aae7ab128d10c32667f396933190435071">SND_PCM_ACCESS_RW_NONINTERLEAVED</a>, <b>SND_PCM_ACCESS_LAST</b> = SND_PCM_ACCESS_RW_NONINTERLEAVED <br/> }</td></tr> <tr class="separator:ga661221ba5e8f1d6eaf4ab8e2da57cc1a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaa14b7f26877a812acbb39811364177f8"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#gaa14b7f26877a812acbb39811364177f8">snd_pcm_format_t</a> { <br/>   <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8ab1e118ecdccf628639b5c85bc3a48999">SND_PCM_FORMAT_UNKNOWN</a> = -1, <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8a5b78bf93eaed5f52cf16c582f04aa7f1">SND_PCM_FORMAT_S8</a> = 0, <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8ad5856f97113926836a7c6651cb8864a3">SND_PCM_FORMAT_U8</a>, <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8a8b66a29293c62df9d1678c609fab76c0">SND_PCM_FORMAT_S16_LE</a>, <br/>   <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8a9f6783e14d7cbb5023c86427263b0d50">SND_PCM_FORMAT_S16_BE</a>, <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8ab2f9619da5d5062e612b2ee0929e8164">SND_PCM_FORMAT_U16_LE</a>, <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8aecc04aa997503c030a47fe5798514180">SND_PCM_FORMAT_U16_BE</a>, <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8a04b3c3b9ad0106c9619a28b753d8fd18">SND_PCM_FORMAT_S24_LE</a>, <br/>   <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8a226d2f6a6bc53a6f75786ca8fad3fc65">SND_PCM_FORMAT_S24_BE</a>, <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8a33b2fb89235eebda4e6820d4a80a4c29">SND_PCM_FORMAT_U24_LE</a>, <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8a2c2effcf940fdee8eddf43a62360f7c4">SND_PCM_FORMAT_U24_BE</a>, <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8aa99dcea38d9cd8ea3b8a6e9ea85bcc52">SND_PCM_FORMAT_S32_LE</a>, <br/>   <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8ad30a0d4bc893eba11d08d72b3916ca2a">SND_PCM_FORMAT_S32_BE</a>, <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8a4c9ee7d82e322009e85f7cd739bbb692">SND_PCM_FORMAT_U32_LE</a>, <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8ac4d69a20b22df53a63ad8589bbdf6f93">SND_PCM_FORMAT_U32_BE</a>, <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8a083f32474a84d344e0da496470085c8f">SND_PCM_FORMAT_FLOAT_LE</a>, <br/>   <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8ab24eac408b0d2ae6b5f68ed3a7cd2d75">SND_PCM_FORMAT_FLOAT_BE</a>, <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8a8e6d82461abbb8be043f8addd23f76c0">SND_PCM_FORMAT_FLOAT64_LE</a>, <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8a9215cd0ab46e6db8668d8bfbb3cd76a6">SND_PCM_FORMAT_FLOAT64_BE</a>, <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8a4a51dcbdb981d0357447115d7ccf3b1f">SND_PCM_FORMAT_IEC958_SUBFRAME_LE</a>, <br/>   <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8a347bac4a7d9ac64e3019a2f3238e09fb">SND_PCM_FORMAT_IEC958_SUBFRAME_BE</a>, <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8a1f71fdf666f5dea8b84d627ba84a9ea5">SND_PCM_FORMAT_MU_LAW</a>, <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8a9d1017ad6b2f73e97f20cf933a5d8a7e">SND_PCM_FORMAT_A_LAW</a>, <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8a984ec5c790504560bfc7564cfeaddc23">SND_PCM_FORMAT_IMA_ADPCM</a>, <br/>   <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8a3705d4bd3266f3a68c276da9e7a65660">SND_PCM_FORMAT_MPEG</a>, <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8a32ec1ed1e6bc5eafff1547e1401f679c">SND_PCM_FORMAT_GSM</a>, <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8abeb8a83f4a3f685cf8051842ad40d25f">SND_PCM_FORMAT_S20_LE</a>, <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8a17cbdeeafef56a2e93719a1866c9681a">SND_PCM_FORMAT_S20_BE</a>, <br/>   <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8aed034cada192ddc4814c6ebf19f37bef">SND_PCM_FORMAT_U20_LE</a>, <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8abc818f93cee1a1602d808549ba5adfd9">SND_PCM_FORMAT_U20_BE</a>, <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8a770a94546bff2f0d07e32dd22c5f9a2c">SND_PCM_FORMAT_SPECIAL</a> = 31, <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8a1fd8c22f3dd45fc1b8e41b0b5e6107ce">SND_PCM_FORMAT_S24_3LE</a> = 32, <br/>   <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8a531ede921f12bd96e02499f962fdb7ea">SND_PCM_FORMAT_S24_3BE</a>, <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8a76ef58eb516389000bdc678ca69515c3">SND_PCM_FORMAT_U24_3LE</a>, <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8a26318cc44ae67775ccedc1f5ba07d925">SND_PCM_FORMAT_U24_3BE</a>, <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8a8f23da6a6564831a09f079f4d0e7fd6c">SND_PCM_FORMAT_S20_3LE</a>, <br/>   <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8a178dd8e9b92a0dbe80ae837979720fa7">SND_PCM_FORMAT_S20_3BE</a>, <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8a15eb6dc96e7940b06b2b40fd483073a3">SND_PCM_FORMAT_U20_3LE</a>, <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8a8d4e75049c83e0b26493d4d149de5b22">SND_PCM_FORMAT_U20_3BE</a>, <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8a89ba6879c39fec5ee33f2b760ebd7053">SND_PCM_FORMAT_S18_3LE</a>, <br/>   <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8ad49193efd29a9f7085ddcd08e3b33eba">SND_PCM_FORMAT_S18_3BE</a>, <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8a3ab354cc702a7b9d651aec726bb8a68c">SND_PCM_FORMAT_U18_3LE</a>, <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8a0bab067dee022bd684b1015762a44663">SND_PCM_FORMAT_U18_3BE</a>, <b>SND_PCM_FORMAT_G723_24</b>, <br/>   <b>SND_PCM_FORMAT_G723_24_1B</b>, <b>SND_PCM_FORMAT_G723_40</b>, <b>SND_PCM_FORMAT_G723_40_1B</b>, <b>SND_PCM_FORMAT_DSD_U8</b>, <br/>   <b>SND_PCM_FORMAT_DSD_U16_LE</b>, <b>SND_PCM_FORMAT_DSD_U32_LE</b>, <b>SND_PCM_FORMAT_DSD_U16_BE</b>, <b>SND_PCM_FORMAT_DSD_U32_BE</b>, <br/>   <b>SND_PCM_FORMAT_LAST</b> = SND_PCM_FORMAT_DSD_U32_BE, <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8aac4470b6be81c22af0cfe528bee4a474">SND_PCM_FORMAT_S16</a> = SND_PCM_FORMAT_S16_LE, <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8a032b33ad0fe643a3177be26148f026f1">SND_PCM_FORMAT_U16</a> = SND_PCM_FORMAT_U16_LE, <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8ad2eb0073f6d7ba800695c088b32956a5">SND_PCM_FORMAT_S24</a> = SND_PCM_FORMAT_S24_LE, <br/>   <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8a036c86abc5151b9a1f19476d34120994">SND_PCM_FORMAT_U24</a> = SND_PCM_FORMAT_U24_LE, <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8abccf973f2b6eba3481949a7b5b04f4ab">SND_PCM_FORMAT_S32</a> = SND_PCM_FORMAT_S32_LE, <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8abbdd76fc846d3a68c19727a44bd38336">SND_PCM_FORMAT_U32</a> = SND_PCM_FORMAT_U32_LE, <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8a7d9fd83c6ff5be7a9cde4b0673b64bf0">SND_PCM_FORMAT_FLOAT</a> = SND_PCM_FORMAT_FLOAT_LE, <br/>   <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8a0ecea6572fd04ef25ae24cde617eaa9a">SND_PCM_FORMAT_FLOAT64</a> = SND_PCM_FORMAT_FLOAT64_LE, <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8a7ecefcb13f1fbb3ffb24f9b6582d53cc">SND_PCM_FORMAT_IEC958_SUBFRAME</a> = SND_PCM_FORMAT_IEC958_SUBFRAME_LE, <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8a3a80019ca0ede6cc2278ed13f03ce3ea">SND_PCM_FORMAT_S20</a> = SND_PCM_FORMAT_S20_LE, <a class="el" href="group___p_c_m.html#ggaa14b7f26877a812acbb39811364177f8ace45a12e077ffb0be4df727cc23ea099">SND_PCM_FORMAT_U20</a> = SND_PCM_FORMAT_U20_LE <br/> }</td></tr> <tr class="separator:gaa14b7f26877a812acbb39811364177f8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga1e5fe73a6bdf881e2f91921d5e5327c7"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga1e5fe73a6bdf881e2f91921d5e5327c7">snd_pcm_subformat_t</a> { <a class="el" href="group___p_c_m.html#gga1e5fe73a6bdf881e2f91921d5e5327c7a09a538c9147dae5bb19df88198f0ebb8">SND_PCM_SUBFORMAT_STD</a> = 0, <b>SND_PCM_SUBFORMAT_LAST</b> = SND_PCM_SUBFORMAT_STD }</td></tr> <tr class="separator:ga1e5fe73a6bdf881e2f91921d5e5327c7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga61ac499cb3701ce536d4d83725908860"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga61ac499cb3701ce536d4d83725908860">snd_pcm_state_t</a> { <br/>   <a class="el" href="group___p_c_m.html#gga61ac499cb3701ce536d4d83725908860a56cf8033b50561b57437232e243f3007">SND_PCM_STATE_OPEN</a> = 0, <a class="el" href="group___p_c_m.html#gga61ac499cb3701ce536d4d83725908860a58d9a0501aa1b2bd2607e1084c335672">SND_PCM_STATE_SETUP</a>, <a class="el" href="group___p_c_m.html#gga61ac499cb3701ce536d4d83725908860a3eb4a3b75c7d2adb22f1829f3f738b27">SND_PCM_STATE_PREPARED</a>, <a class="el" href="group___p_c_m.html#gga61ac499cb3701ce536d4d83725908860a86f6fbc796881f19fde0e1957f878147">SND_PCM_STATE_RUNNING</a>, <br/>   <a class="el" href="group___p_c_m.html#gga61ac499cb3701ce536d4d83725908860ab63b5b90201110cd586b686355fd5d83">SND_PCM_STATE_XRUN</a>, <a class="el" href="group___p_c_m.html#gga61ac499cb3701ce536d4d83725908860a86f88c2a4c8eedb5c91f3b6cb4879cfe">SND_PCM_STATE_DRAINING</a>, <a class="el" href="group___p_c_m.html#gga61ac499cb3701ce536d4d83725908860a9fa0c5b43e5c924f87b50e22878a8952">SND_PCM_STATE_PAUSED</a>, <a class="el" href="group___p_c_m.html#gga61ac499cb3701ce536d4d83725908860a79a05b6b619f88e153d50d9daf2e84bf">SND_PCM_STATE_SUSPENDED</a>, <br/>   <a class="el" href="group___p_c_m.html#gga61ac499cb3701ce536d4d83725908860aa0cbad634a40383eed6059d1b49c215a">SND_PCM_STATE_DISCONNECTED</a>, <b>SND_PCM_STATE_LAST</b> = SND_PCM_STATE_DISCONNECTED, <a class="el" href="group___p_c_m.html#gga61ac499cb3701ce536d4d83725908860a5003a732bf308c84259933c64ab02f06">SND_PCM_STATE_PRIVATE1</a> = 1024 <br/> }</td></tr> <tr class="separator:ga61ac499cb3701ce536d4d83725908860"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga0eae9150f4f207ed05cb629cc3a3673f"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga0eae9150f4f207ed05cb629cc3a3673f">snd_pcm_start_t</a> { <a class="el" href="group___p_c_m.html#gga0eae9150f4f207ed05cb629cc3a3673fa1784d28a1a0b6d0dc9726e8093fef095">SND_PCM_START_DATA</a> = 0, <a class="el" href="group___p_c_m.html#gga0eae9150f4f207ed05cb629cc3a3673fa3f7514d50731fbec3bf3963f8f50e377">SND_PCM_START_EXPLICIT</a>, <b>SND_PCM_START_LAST</b> = SND_PCM_START_EXPLICIT }</td></tr> <tr class="separator:ga0eae9150f4f207ed05cb629cc3a3673f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga67c10983b5cadd8b3eb3163489655784"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga67c10983b5cadd8b3eb3163489655784">snd_pcm_xrun_t</a> { <a class="el" href="group___p_c_m.html#gga67c10983b5cadd8b3eb3163489655784a2041251f57b2d807a87dbb33de4a0299">SND_PCM_XRUN_NONE</a> = 0, <a class="el" href="group___p_c_m.html#gga67c10983b5cadd8b3eb3163489655784a79be5aacb29e5eb3cea538eb7a24c57c">SND_PCM_XRUN_STOP</a>, <b>SND_PCM_XRUN_LAST</b> = SND_PCM_XRUN_STOP }</td></tr> <tr class="separator:ga67c10983b5cadd8b3eb3163489655784"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga695a9755880cf886c13d07938f92ea77"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga695a9755880cf886c13d07938f92ea77">snd_pcm_tstamp_t</a> { <a class="el" href="group___p_c_m.html#gga695a9755880cf886c13d07938f92ea77af49a1c378583854b22ed6f6490f3b1ee">SND_PCM_TSTAMP_NONE</a> = 0, <a class="el" href="group___p_c_m.html#gga695a9755880cf886c13d07938f92ea77ac62f4ba2b203d59b8f11074fb12788ae">SND_PCM_TSTAMP_ENABLE</a>, <a class="el" href="group___p_c_m.html#gga695a9755880cf886c13d07938f92ea77ab09196ab367636c4d365b5b6bcd391d8">SND_PCM_TSTAMP_MMAP</a> = SND_PCM_TSTAMP_ENABLE, <b>SND_PCM_TSTAMP_LAST</b> = SND_PCM_TSTAMP_ENABLE }</td></tr> <tr class="separator:ga695a9755880cf886c13d07938f92ea77"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga6e7869809e23ed1a3595e94fbd9a275c"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga6e7869809e23ed1a3595e94fbd9a275c">snd_pcm_tstamp_type_t</a> { <a class="el" href="group___p_c_m.html#gga6e7869809e23ed1a3595e94fbd9a275ca363906e727cdee56da82cab964ac3ad9">SND_PCM_TSTAMP_TYPE_GETTIMEOFDAY</a> = 0, <a class="el" href="group___p_c_m.html#gga6e7869809e23ed1a3595e94fbd9a275ca649eaa23a8ba59ef31b7cb1582a9d2b2">SND_PCM_TSTAMP_TYPE_MONOTONIC</a>, <a class="el" href="group___p_c_m.html#gga6e7869809e23ed1a3595e94fbd9a275caaf1a88d034848bf2154be94ace1f8cef">SND_PCM_TSTAMP_TYPE_MONOTONIC_RAW</a>, <b>SND_PCM_TSTAMP_TYPE_LAST</b> = SND_PCM_TSTAMP_TYPE_MONOTONIC_RAW }</td></tr> <tr class="separator:ga6e7869809e23ed1a3595e94fbd9a275c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga060d5b81f2fc8efcc35ff3e1de6e9fa4"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga060d5b81f2fc8efcc35ff3e1de6e9fa4">_snd_pcm_type</a> { <br/>   <a class="el" href="group___p_c_m.html#gga060d5b81f2fc8efcc35ff3e1de6e9fa4a09891cdb0b9282c37c41941b922b12c4">SND_PCM_TYPE_HW</a> = 0, <a class="el" href="group___p_c_m.html#gga060d5b81f2fc8efcc35ff3e1de6e9fa4a2e332e4a85ab27030c8504a2becc02ee">SND_PCM_TYPE_HOOKS</a>, <a class="el" href="group___p_c_m.html#gga060d5b81f2fc8efcc35ff3e1de6e9fa4a568ddf1cfbafe64782e3073b235ff5f3">SND_PCM_TYPE_MULTI</a>, <a class="el" href="group___p_c_m.html#gga060d5b81f2fc8efcc35ff3e1de6e9fa4a583a91928c037820337cd8915cd85e02">SND_PCM_TYPE_FILE</a>, <br/>   <a class="el" href="group___p_c_m.html#gga060d5b81f2fc8efcc35ff3e1de6e9fa4a1fd5236858488b6bb1c565ae83ba451d">SND_PCM_TYPE_NULL</a>, <a class="el" href="group___p_c_m.html#gga060d5b81f2fc8efcc35ff3e1de6e9fa4a7af39420542c41f72a62551b2ae8db6d">SND_PCM_TYPE_SHM</a>, <a class="el" href="group___p_c_m.html#gga060d5b81f2fc8efcc35ff3e1de6e9fa4a3b07a18a1c2cadfc4e2eec2d62aef57e">SND_PCM_TYPE_INET</a>, <a class="el" href="group___p_c_m.html#gga060d5b81f2fc8efcc35ff3e1de6e9fa4af09844304be19ee3a81ba5e2165e00bc">SND_PCM_TYPE_COPY</a>, <br/>   <a class="el" href="group___p_c_m.html#gga060d5b81f2fc8efcc35ff3e1de6e9fa4a3a89f56e7151dba7ba93e392fe709222">SND_PCM_TYPE_LINEAR</a>, <a class="el" href="group___p_c_m.html#gga060d5b81f2fc8efcc35ff3e1de6e9fa4aaefed6aee6ad9570fa3fdd5943702e43">SND_PCM_TYPE_ALAW</a>, <a class="el" href="group___p_c_m.html#gga060d5b81f2fc8efcc35ff3e1de6e9fa4a225a22f28b83348c81b9962b53f68419">SND_PCM_TYPE_MULAW</a>, <a class="el" href="group___p_c_m.html#gga060d5b81f2fc8efcc35ff3e1de6e9fa4a8b358976321af44871bfd4f5743eb7f0">SND_PCM_TYPE_ADPCM</a>, <br/>   <a class="el" href="group___p_c_m.html#gga060d5b81f2fc8efcc35ff3e1de6e9fa4ac551ab5a7b8c32d4a79a9f605287c4b0">SND_PCM_TYPE_RATE</a>, <a class="el" href="group___p_c_m.html#gga060d5b81f2fc8efcc35ff3e1de6e9fa4a25b8c982e260c67fdf3da22a7d68bbb0">SND_PCM_TYPE_ROUTE</a>, <a class="el" href="group___p_c_m.html#gga060d5b81f2fc8efcc35ff3e1de6e9fa4af03892219cb4ca4f07025b7a67d3890e">SND_PCM_TYPE_PLUG</a>, <a class="el" href="group___p_c_m.html#gga060d5b81f2fc8efcc35ff3e1de6e9fa4a5f90c13d40f32cdbaa24304f1f4aa260">SND_PCM_TYPE_SHARE</a>, <br/>   <a class="el" href="group___p_c_m.html#gga060d5b81f2fc8efcc35ff3e1de6e9fa4a415afb5482d35b38837035a6dd82b39d">SND_PCM_TYPE_METER</a>, <a class="el" href="group___p_c_m.html#gga060d5b81f2fc8efcc35ff3e1de6e9fa4a9d46de594d5885faa0fc4c3075eade76">SND_PCM_TYPE_MIX</a>, <a class="el" href="group___p_c_m.html#gga060d5b81f2fc8efcc35ff3e1de6e9fa4ac48d9a315b2094989b303b62939f4d12">SND_PCM_TYPE_DROUTE</a>, <a class="el" href="group___p_c_m.html#gga060d5b81f2fc8efcc35ff3e1de6e9fa4a819e90fe76ad9b1f8615cdaa76d47606">SND_PCM_TYPE_LBSERVER</a>, <br/>   <a class="el" href="group___p_c_m.html#gga060d5b81f2fc8efcc35ff3e1de6e9fa4af99ee7d59e1195c15440b7688e36b4e2">SND_PCM_TYPE_LINEAR_FLOAT</a>, <a class="el" href="group___p_c_m.html#gga060d5b81f2fc8efcc35ff3e1de6e9fa4af3096430cd38726e8dd3751c611af13e">SND_PCM_TYPE_LADSPA</a>, <a class="el" href="group___p_c_m.html#gga060d5b81f2fc8efcc35ff3e1de6e9fa4a1345bfdf8c4052ec4eaea99ddca5b25e">SND_PCM_TYPE_DMIX</a>, <a class="el" href="group___p_c_m.html#gga060d5b81f2fc8efcc35ff3e1de6e9fa4a3c059ea48c0ecb784421997aa302ff44">SND_PCM_TYPE_JACK</a>, <br/>   <a class="el" href="group___p_c_m.html#gga060d5b81f2fc8efcc35ff3e1de6e9fa4a4fd7bc5c326b81d47841dc3133c6a154">SND_PCM_TYPE_DSNOOP</a>, <a class="el" href="group___p_c_m.html#gga060d5b81f2fc8efcc35ff3e1de6e9fa4a02bca0b5efdbdfedb0983dacac599977">SND_PCM_TYPE_DSHARE</a>, <a class="el" href="group___p_c_m.html#gga060d5b81f2fc8efcc35ff3e1de6e9fa4aa94a5d305b7803cf7ccda2ca0099a954">SND_PCM_TYPE_IEC958</a>, <a class="el" href="group___p_c_m.html#gga060d5b81f2fc8efcc35ff3e1de6e9fa4a80dcbde2dd52a423f8c5b055aacaa17d">SND_PCM_TYPE_SOFTVOL</a>, <br/>   <a class="el" href="group___p_c_m.html#gga060d5b81f2fc8efcc35ff3e1de6e9fa4ad4b0a23cef67fe330cce313c4f9e242a">SND_PCM_TYPE_IOPLUG</a>, <a class="el" href="group___p_c_m.html#gga060d5b81f2fc8efcc35ff3e1de6e9fa4a876553cf6a0650a8adcb17c3e768a8da">SND_PCM_TYPE_EXTPLUG</a>, <a class="el" href="group___p_c_m.html#gga060d5b81f2fc8efcc35ff3e1de6e9fa4aa426bf738261ee3cd1ca3a25d8cbed12">SND_PCM_TYPE_MMAP_EMUL</a>, <b>SND_PCM_TYPE_LAST</b> = SND_PCM_TYPE_MMAP_EMUL <br/> }</td></tr> <tr class="separator:ga060d5b81f2fc8efcc35ff3e1de6e9fa4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gad77f16d07431203bacc8694d28814506"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#gad77f16d07431203bacc8694d28814506">snd_pcm_chmap_type</a> { <br/>   <a class="el" href="group___p_c_m.html#ggad77f16d07431203bacc8694d28814506a0d5c1dab935398488b798934515f1fba">SND_CHMAP_TYPE_NONE</a> = 0, <a class="el" href="group___p_c_m.html#ggad77f16d07431203bacc8694d28814506a223cda2f0c432fc4706089304b550e31">SND_CHMAP_TYPE_FIXED</a>, <a class="el" href="group___p_c_m.html#ggad77f16d07431203bacc8694d28814506a4c6c131c3ec7eabf1073244c9765a3f7">SND_CHMAP_TYPE_VAR</a>, <a class="el" href="group___p_c_m.html#ggad77f16d07431203bacc8694d28814506a7f52f1c242f67d876d2bc920aba932b7">SND_CHMAP_TYPE_PAIRED</a>, <br/>   <a class="el" href="group___p_c_m.html#ggad77f16d07431203bacc8694d28814506a19c6886e5e3b457e1a6f055f124f0fe3">SND_CHMAP_TYPE_LAST</a> = SND_CHMAP_TYPE_PAIRED <br/> }</td></tr> <tr class="separator:gad77f16d07431203bacc8694d28814506"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga07f09c302588b9758946fedf97772975"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga07f09c302588b9758946fedf97772975">snd_pcm_chmap_position</a> { <br/>   <a class="el" href="group___p_c_m.html#gga07f09c302588b9758946fedf97772975a5013bd25392cde7881a00bdb4ab030ee">SND_CHMAP_UNKNOWN</a> = 0, <a class="el" href="group___p_c_m.html#gga07f09c302588b9758946fedf97772975a757ea8c2af5fcce95adc50d1faf12956">SND_CHMAP_NA</a>, <a class="el" href="group___p_c_m.html#gga07f09c302588b9758946fedf97772975a57f7b8aa28a96384e75d6a75c7f2728c">SND_CHMAP_MONO</a>, <a class="el" href="group___p_c_m.html#gga07f09c302588b9758946fedf97772975a583e5b3018a572266dff31ceb647173d">SND_CHMAP_FL</a>, <br/>   <a class="el" href="group___p_c_m.html#gga07f09c302588b9758946fedf97772975a1199db6603bfa8756b109720d6f47b88">SND_CHMAP_FR</a>, <a class="el" href="group___p_c_m.html#gga07f09c302588b9758946fedf97772975af55c7cf1772be450187b9c733e5a4601">SND_CHMAP_RL</a>, <a class="el" href="group___p_c_m.html#gga07f09c302588b9758946fedf97772975a2de6b761ffe69645bdc84dcc154ca704">SND_CHMAP_RR</a>, <a class="el" href="group___p_c_m.html#gga07f09c302588b9758946fedf97772975a1b986f167d0af5a2993688f0dc4f7ca7">SND_CHMAP_FC</a>, <br/>   <a class="el" href="group___p_c_m.html#gga07f09c302588b9758946fedf97772975a2e02fc34fc3156b9b651ddafe9430e76">SND_CHMAP_LFE</a>, <a class="el" href="group___p_c_m.html#gga07f09c302588b9758946fedf97772975abef51a1484c1b62ba57abdbf4c319018">SND_CHMAP_SL</a>, <a class="el" href="group___p_c_m.html#gga07f09c302588b9758946fedf97772975a99a126ad5674edde88e274247cdc77b0">SND_CHMAP_SR</a>, <a class="el" href="group___p_c_m.html#gga07f09c302588b9758946fedf97772975ab826e0b6dc51913bed17b9c9cd501b8b">SND_CHMAP_RC</a>, <br/>   <a class="el" href="group___p_c_m.html#gga07f09c302588b9758946fedf97772975a899724c4ba10d58f489aa95b1be85707">SND_CHMAP_FLC</a>, <a class="el" href="group___p_c_m.html#gga07f09c302588b9758946fedf97772975a715eee05d56adb21c32f04a2dff32f41">SND_CHMAP_FRC</a>, <a class="el" href="group___p_c_m.html#gga07f09c302588b9758946fedf97772975a792ec89e7ed77e517fca9a042030cf91">SND_CHMAP_RLC</a>, <a class="el" href="group___p_c_m.html#gga07f09c302588b9758946fedf97772975a01bb8ab068f1ad7ea82201fda13e7351">SND_CHMAP_RRC</a>, <br/>   <a class="el" href="group___p_c_m.html#gga07f09c302588b9758946fedf97772975a0aba5e9499f8c439d7af5aba4eea7013">SND_CHMAP_FLW</a>, <a class="el" href="group___p_c_m.html#gga07f09c302588b9758946fedf97772975a866fd0a5bdacb87f672c06b19c95e3e6">SND_CHMAP_FRW</a>, <a class="el" href="group___p_c_m.html#gga07f09c302588b9758946fedf97772975a0ebb60cbf70f6bdf44f23ca53f27a48e">SND_CHMAP_FLH</a>, <a class="el" href="group___p_c_m.html#gga07f09c302588b9758946fedf97772975aa6fc16c41ed3c77d03d5338b71767dd5">SND_CHMAP_FCH</a>, <br/>   <a class="el" href="group___p_c_m.html#gga07f09c302588b9758946fedf97772975aedc57856e5d15e089ca997bb2517e558">SND_CHMAP_FRH</a>, <a class="el" href="group___p_c_m.html#gga07f09c302588b9758946fedf97772975af92f549344923b13b3f988a8bd411248">SND_CHMAP_TC</a>, <a class="el" href="group___p_c_m.html#gga07f09c302588b9758946fedf97772975ab408982aed624e7895a88a70d3cad9ce">SND_CHMAP_TFL</a>, <a class="el" href="group___p_c_m.html#gga07f09c302588b9758946fedf97772975aac94c3e49e00cf6ddc8277be9211af8a">SND_CHMAP_TFR</a>, <br/>   <a class="el" href="group___p_c_m.html#gga07f09c302588b9758946fedf97772975a8afc5e5e7278cd11e275c353f7debb76">SND_CHMAP_TFC</a>, <a class="el" href="group___p_c_m.html#gga07f09c302588b9758946fedf97772975a9801a726d1ef900db691fb3ee766c15c">SND_CHMAP_TRL</a>, <a class="el" href="group___p_c_m.html#gga07f09c302588b9758946fedf97772975a8f2b99c9f99b964305e7b20a24205845">SND_CHMAP_TRR</a>, <a class="el" href="group___p_c_m.html#gga07f09c302588b9758946fedf97772975aa38f97720df84f0d0a729a2977a7e96f">SND_CHMAP_TRC</a>, <br/>   <a class="el" href="group___p_c_m.html#gga07f09c302588b9758946fedf97772975a056a6a819e4f86531c2f72f2cca30a2f">SND_CHMAP_TFLC</a>, <a class="el" href="group___p_c_m.html#gga07f09c302588b9758946fedf97772975a1901ba205094fa4d78ae1b6ccba2a0b7">SND_CHMAP_TFRC</a>, <a class="el" href="group___p_c_m.html#gga07f09c302588b9758946fedf97772975a37e4efa8f78e28245172e609b3e2edb1">SND_CHMAP_TSL</a>, <a class="el" href="group___p_c_m.html#gga07f09c302588b9758946fedf97772975a002352cd72d1a7bb12a371c0a700368e">SND_CHMAP_TSR</a>, <br/>   <a class="el" href="group___p_c_m.html#gga07f09c302588b9758946fedf97772975a98412e4b242d63dd0f6543d7979f65d2">SND_CHMAP_LLFE</a>, <a class="el" href="group___p_c_m.html#gga07f09c302588b9758946fedf97772975a5a90ba518606bd795133b7464e297037">SND_CHMAP_RLFE</a>, <a class="el" href="group___p_c_m.html#gga07f09c302588b9758946fedf97772975a6bdb9ff785f20a01942c51f5306f1b7a">SND_CHMAP_BC</a>, <a class="el" href="group___p_c_m.html#gga07f09c302588b9758946fedf97772975a64d185c840a6c5a85b373c7b4c24a6ac">SND_CHMAP_BLC</a>, <br/>   <a class="el" href="group___p_c_m.html#gga07f09c302588b9758946fedf97772975ae8657844c743e6303622c8a5db01f9fc">SND_CHMAP_BRC</a>, <b>SND_CHMAP_LAST</b> = SND_CHMAP_BRC <br/> }</td></tr> <tr class="separator:ga07f09c302588b9758946fedf97772975"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> <tr class="memitem:ga8340c7dc0ac37f37afe5e7c21d6c528b"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga8340c7dc0ac37f37afe5e7c21d6c528b">snd_pcm_open</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> **pcm, const char *name, <a class="el" href="group___p_c_m.html#gac23b43ff55add78638e503b9cc892c24">snd_pcm_stream_t</a> stream, int mode)</td></tr> <tr class="memdesc:ga8340c7dc0ac37f37afe5e7c21d6c528b"><td class="mdescLeft"> </td><td class="mdescRight">Opens a PCM. <a href="#ga8340c7dc0ac37f37afe5e7c21d6c528b">More...</a><br/></td></tr> <tr class="separator:ga8340c7dc0ac37f37afe5e7c21d6c528b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga88164d313d8ff9dc33c94815869cb677"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga88164d313d8ff9dc33c94815869cb677">snd_pcm_open_lconf</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> **pcm, const char *name, <a class="el" href="group___p_c_m.html#gac23b43ff55add78638e503b9cc892c24">snd_pcm_stream_t</a> stream, int mode, <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *lconf)</td></tr> <tr class="memdesc:ga88164d313d8ff9dc33c94815869cb677"><td class="mdescLeft"> </td><td class="mdescRight">Opens a PCM using local configuration. <a href="#ga88164d313d8ff9dc33c94815869cb677">More...</a><br/></td></tr> <tr class="separator:ga88164d313d8ff9dc33c94815869cb677"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga189a69e31cec0aefa8c124764e99e0bf"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga189a69e31cec0aefa8c124764e99e0bf">snd_pcm_open_fallback</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> **pcm, <a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *root, const char *name, const char *orig_name, <a class="el" href="group___p_c_m.html#gac23b43ff55add78638e503b9cc892c24">snd_pcm_stream_t</a> stream, int mode)</td></tr> <tr class="memdesc:ga189a69e31cec0aefa8c124764e99e0bf"><td class="mdescLeft"> </td><td class="mdescRight">Opens a fallback PCM. <a href="#ga189a69e31cec0aefa8c124764e99e0bf">More...</a><br/></td></tr> <tr class="separator:ga189a69e31cec0aefa8c124764e99e0bf"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga042aba7262a4cbb4d444b6fc08cb7124"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga042aba7262a4cbb4d444b6fc08cb7124">snd_pcm_close</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm)</td></tr> <tr class="memdesc:ga042aba7262a4cbb4d444b6fc08cb7124"><td class="mdescLeft"> </td><td class="mdescRight">close PCM handle <a href="#ga042aba7262a4cbb4d444b6fc08cb7124">More...</a><br/></td></tr> <tr class="separator:ga042aba7262a4cbb4d444b6fc08cb7124"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga5031edc0422df8db1f70af056a12dd77"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga5031edc0422df8db1f70af056a12dd77">snd_pcm_name</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm)</td></tr> <tr class="memdesc:ga5031edc0422df8db1f70af056a12dd77"><td class="mdescLeft"> </td><td class="mdescRight">get identifier of PCM handle <a href="#ga5031edc0422df8db1f70af056a12dd77">More...</a><br/></td></tr> <tr class="separator:ga5031edc0422df8db1f70af056a12dd77"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaa7cf89c3f83d83aaa0248055a783b632"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___p_c_m.html#gaca6314f46f54a0b62536c403bbb62601">snd_pcm_type_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#gaa7cf89c3f83d83aaa0248055a783b632">snd_pcm_type</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm)</td></tr> <tr class="memdesc:gaa7cf89c3f83d83aaa0248055a783b632"><td class="mdescLeft"> </td><td class="mdescRight">get type of PCM handle <a href="#gaa7cf89c3f83d83aaa0248055a783b632">More...</a><br/></td></tr> <tr class="separator:gaa7cf89c3f83d83aaa0248055a783b632"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga8eea4a021a114ecc3e8f6d80901faf46"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___p_c_m.html#gac23b43ff55add78638e503b9cc892c24">snd_pcm_stream_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga8eea4a021a114ecc3e8f6d80901faf46">snd_pcm_stream</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm)</td></tr> <tr class="memdesc:ga8eea4a021a114ecc3e8f6d80901faf46"><td class="mdescLeft"> </td><td class="mdescRight">get stream for a PCM handle <a href="#ga8eea4a021a114ecc3e8f6d80901faf46">More...</a><br/></td></tr> <tr class="separator:ga8eea4a021a114ecc3e8f6d80901faf46"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gac7f4cdb1c930b8d343714f60afa02fc4"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#gac7f4cdb1c930b8d343714f60afa02fc4">snd_pcm_poll_descriptors_count</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm)</td></tr> <tr class="memdesc:gac7f4cdb1c930b8d343714f60afa02fc4"><td class="mdescLeft"> </td><td class="mdescRight">get count of poll descriptors for PCM handle <a href="#gac7f4cdb1c930b8d343714f60afa02fc4">More...</a><br/></td></tr> <tr class="separator:gac7f4cdb1c930b8d343714f60afa02fc4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga742e8705f6992fd0e36efc868e574f01"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga742e8705f6992fd0e36efc868e574f01">snd_pcm_poll_descriptors</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm, struct pollfd *pfds, unsigned int space)</td></tr> <tr class="memdesc:ga742e8705f6992fd0e36efc868e574f01"><td class="mdescLeft"> </td><td class="mdescRight">get poll descriptors <a href="#ga742e8705f6992fd0e36efc868e574f01">More...</a><br/></td></tr> <tr class="separator:ga742e8705f6992fd0e36efc868e574f01"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga7e561f305702c6f52dab49b6c84f7df7"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga7e561f305702c6f52dab49b6c84f7df7">snd_pcm_poll_descriptors_revents</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm, struct pollfd *pfds, unsigned int nfds, unsigned short *revents)</td></tr> <tr class="memdesc:ga7e561f305702c6f52dab49b6c84f7df7"><td class="mdescLeft"> </td><td class="mdescRight">get returned events from poll descriptors <a href="#ga7e561f305702c6f52dab49b6c84f7df7">More...</a><br/></td></tr> <tr class="separator:ga7e561f305702c6f52dab49b6c84f7df7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga8d9ed4a62c17402de0389fd31fc7dc1f"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga8d9ed4a62c17402de0389fd31fc7dc1f">snd_pcm_nonblock</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm, int nonblock)</td></tr> <tr class="memdesc:ga8d9ed4a62c17402de0389fd31fc7dc1f"><td class="mdescLeft"> </td><td class="mdescRight">set nonblock mode <a href="#ga8d9ed4a62c17402de0389fd31fc7dc1f">More...</a><br/></td></tr> <tr class="separator:ga8d9ed4a62c17402de0389fd31fc7dc1f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga5a0c0da6d0d35a3ac9f6a97567ac3b63"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga5a0c0da6d0d35a3ac9f6a97567ac3b63">snd_async_add_pcm_handler</a> (<a class="el" href="group___global.html#ga8cd9a1d441e9219ca5f2ff04094c7c6d">snd_async_handler_t</a> **handler, <a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm, <a class="el" href="group___global.html#gaa0501fb0c332e2009977bb29f194200b">snd_async_callback_t</a> callback, void *private_data)</td></tr> <tr class="memdesc:ga5a0c0da6d0d35a3ac9f6a97567ac3b63"><td class="mdescLeft"> </td><td class="mdescRight">Add an async handler for a PCM. <a href="#ga5a0c0da6d0d35a3ac9f6a97567ac3b63">More...</a><br/></td></tr> <tr class="separator:ga5a0c0da6d0d35a3ac9f6a97567ac3b63"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gace4920d5943820c395dab8d9cd4fed0a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#gace4920d5943820c395dab8d9cd4fed0a">snd_async_handler_get_pcm</a> (<a class="el" href="group___global.html#ga8cd9a1d441e9219ca5f2ff04094c7c6d">snd_async_handler_t</a> *handler)</td></tr> <tr class="memdesc:gace4920d5943820c395dab8d9cd4fed0a"><td class="mdescLeft"> </td><td class="mdescRight">Return PCM handle related to an async handler. <a href="#gace4920d5943820c395dab8d9cd4fed0a">More...</a><br/></td></tr> <tr class="separator:gace4920d5943820c395dab8d9cd4fed0a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gadd9467ca75884292234e4986b329a17f"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#gadd9467ca75884292234e4986b329a17f">snd_pcm_info</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm, <a class="el" href="group___p_c_m.html#ga7dae86a468480ce8eb1c485446c51664">snd_pcm_info_t</a> *info)</td></tr> <tr class="memdesc:gadd9467ca75884292234e4986b329a17f"><td class="mdescLeft"> </td><td class="mdescRight">Obtain general (static) information for PCM handle. <a href="#gadd9467ca75884292234e4986b329a17f">More...</a><br/></td></tr> <tr class="separator:gadd9467ca75884292234e4986b329a17f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaf8cd01c4c6b79c4a45a2c816fb8fbc5f"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#gaf8cd01c4c6b79c4a45a2c816fb8fbc5f">snd_pcm_hw_params_current</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm, <a class="el" href="group___p_c_m.html#ga65c737127994f0a980edad744e36dc40">snd_pcm_hw_params_t</a> *params)</td></tr> <tr class="memdesc:gaf8cd01c4c6b79c4a45a2c816fb8fbc5f"><td class="mdescLeft"> </td><td class="mdescRight">Retreive current PCM hardware configuration chosen with <a class="el" href="group___p_c_m.html#ga1ca0dc120a484965e26cabf966502330" title="Install one PCM hardware configuration chosen from a configuration space and snd_pcm_prepare it...">snd_pcm_hw_params</a>. <a href="#gaf8cd01c4c6b79c4a45a2c816fb8fbc5f">More...</a><br/></td></tr> <tr class="separator:gaf8cd01c4c6b79c4a45a2c816fb8fbc5f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga1ca0dc120a484965e26cabf966502330"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga1ca0dc120a484965e26cabf966502330">snd_pcm_hw_params</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm, <a class="el" href="group___p_c_m.html#ga65c737127994f0a980edad744e36dc40">snd_pcm_hw_params_t</a> *params)</td></tr> <tr class="memdesc:ga1ca0dc120a484965e26cabf966502330"><td class="mdescLeft"> </td><td class="mdescRight">Install one PCM hardware configuration chosen from a configuration space and <a class="el" href="group___p_c_m.html#ga788d05de75f2d536f8443cb0306754d0" title="Prepare PCM for use. ">snd_pcm_prepare</a> it. <a href="#ga1ca0dc120a484965e26cabf966502330">More...</a><br/></td></tr> <tr class="separator:ga1ca0dc120a484965e26cabf966502330"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga242ad0a269c272830d30666220edbc2a"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga242ad0a269c272830d30666220edbc2a">snd_pcm_hw_free</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm)</td></tr> <tr class="memdesc:ga242ad0a269c272830d30666220edbc2a"><td class="mdescLeft"> </td><td class="mdescRight">Remove PCM hardware configuration and free associated resources. <a href="#ga242ad0a269c272830d30666220edbc2a">More...</a><br/></td></tr> <tr class="separator:ga242ad0a269c272830d30666220edbc2a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga61c5495ffb44c75aaa595e85512d28de"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga61c5495ffb44c75aaa595e85512d28de">snd_pcm_sw_params_current</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm, <a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> *params)</td></tr> <tr class="memdesc:ga61c5495ffb44c75aaa595e85512d28de"><td class="mdescLeft"> </td><td class="mdescRight">Return current software configuration for a PCM. <a href="#ga61c5495ffb44c75aaa595e85512d28de">More...</a><br/></td></tr> <tr class="separator:ga61c5495ffb44c75aaa595e85512d28de"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga891ccaeea2c685a533b61b5fa0493974"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga891ccaeea2c685a533b61b5fa0493974">snd_pcm_sw_params</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm, <a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> *params)</td></tr> <tr class="memdesc:ga891ccaeea2c685a533b61b5fa0493974"><td class="mdescLeft"> </td><td class="mdescRight">Install PCM software configuration defined by params. <a href="#ga891ccaeea2c685a533b61b5fa0493974">More...</a><br/></td></tr> <tr class="separator:ga891ccaeea2c685a533b61b5fa0493974"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga788d05de75f2d536f8443cb0306754d0"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga788d05de75f2d536f8443cb0306754d0">snd_pcm_prepare</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm)</td></tr> <tr class="memdesc:ga788d05de75f2d536f8443cb0306754d0"><td class="mdescLeft"> </td><td class="mdescRight">Prepare PCM for use. <a href="#ga788d05de75f2d536f8443cb0306754d0">More...</a><br/></td></tr> <tr class="separator:ga788d05de75f2d536f8443cb0306754d0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga390e084f13d24244196aca64262ce3fc"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga390e084f13d24244196aca64262ce3fc">snd_pcm_reset</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm)</td></tr> <tr class="memdesc:ga390e084f13d24244196aca64262ce3fc"><td class="mdescLeft"> </td><td class="mdescRight">Reset PCM position. <a href="#ga390e084f13d24244196aca64262ce3fc">More...</a><br/></td></tr> <tr class="separator:ga390e084f13d24244196aca64262ce3fc"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga32891eaac37741728a9b23027012c892"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga32891eaac37741728a9b23027012c892">snd_pcm_status</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm, <a class="el" href="group___p_c_m.html#ga902b87281c46910b469d5f7aaafc1890">snd_pcm_status_t</a> *status)</td></tr> <tr class="memdesc:ga32891eaac37741728a9b23027012c892"><td class="mdescLeft"> </td><td class="mdescRight">Obtain status (runtime) information for PCM handle. <a href="#ga32891eaac37741728a9b23027012c892">More...</a><br/></td></tr> <tr class="separator:ga32891eaac37741728a9b23027012c892"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga6bdb88b68a9d9e66015d770f600c6aea"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga6bdb88b68a9d9e66015d770f600c6aea">snd_pcm_start</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm)</td></tr> <tr class="memdesc:ga6bdb88b68a9d9e66015d770f600c6aea"><td class="mdescLeft"> </td><td class="mdescRight">Start a PCM. <a href="#ga6bdb88b68a9d9e66015d770f600c6aea">More...</a><br/></td></tr> <tr class="separator:ga6bdb88b68a9d9e66015d770f600c6aea"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga7000ca6010a1a2739daddff8e2fbb440"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga7000ca6010a1a2739daddff8e2fbb440">snd_pcm_drop</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm)</td></tr> <tr class="memdesc:ga7000ca6010a1a2739daddff8e2fbb440"><td class="mdescLeft"> </td><td class="mdescRight">Stop a PCM dropping pending frames. <a href="#ga7000ca6010a1a2739daddff8e2fbb440">More...</a><br/></td></tr> <tr class="separator:ga7000ca6010a1a2739daddff8e2fbb440"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga49afc5b8527f30c33fafa476533c9f86"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga49afc5b8527f30c33fafa476533c9f86">snd_pcm_drain</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm)</td></tr> <tr class="memdesc:ga49afc5b8527f30c33fafa476533c9f86"><td class="mdescLeft"> </td><td class="mdescRight">Stop a PCM preserving pending frames. <a href="#ga49afc5b8527f30c33fafa476533c9f86">More...</a><br/></td></tr> <tr class="separator:ga49afc5b8527f30c33fafa476533c9f86"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gad711b582c7066bd4fffa1d08a04316b5"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#gad711b582c7066bd4fffa1d08a04316b5">snd_pcm_pause</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm, int enable)</td></tr> <tr class="memdesc:gad711b582c7066bd4fffa1d08a04316b5"><td class="mdescLeft"> </td><td class="mdescRight">Pause/resume PCM. <a href="#gad711b582c7066bd4fffa1d08a04316b5">More...</a><br/></td></tr> <tr class="separator:gad711b582c7066bd4fffa1d08a04316b5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga87896f6f17020fc19835790369e7ce75"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___p_c_m.html#ga61ac499cb3701ce536d4d83725908860">snd_pcm_state_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga87896f6f17020fc19835790369e7ce75">snd_pcm_state</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm)</td></tr> <tr class="memdesc:ga87896f6f17020fc19835790369e7ce75"><td class="mdescLeft"> </td><td class="mdescRight">Return PCM state. <a href="#ga87896f6f17020fc19835790369e7ce75">More...</a><br/></td></tr> <tr class="separator:ga87896f6f17020fc19835790369e7ce75"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga3b71a41f6b300bf63ad374013f19d8d7"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga3b71a41f6b300bf63ad374013f19d8d7">snd_pcm_hwsync</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm)</td></tr> <tr class="memdesc:ga3b71a41f6b300bf63ad374013f19d8d7"><td class="mdescLeft"> </td><td class="mdescRight">(DEPRECATED) Synchronize stream position with hardware <a href="#ga3b71a41f6b300bf63ad374013f19d8d7">More...</a><br/></td></tr> <tr class="separator:ga3b71a41f6b300bf63ad374013f19d8d7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga012e8b999070e72ab23514f25e7d6482"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga012e8b999070e72ab23514f25e7d6482">snd_pcm_delay</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm, <a class="el" href="group___p_c_m.html#ga71cdfa37e258d2210b8bd0216bf0c36c">snd_pcm_sframes_t</a> *delayp)</td></tr> <tr class="memdesc:ga012e8b999070e72ab23514f25e7d6482"><td class="mdescLeft"> </td><td class="mdescRight">Obtain delay for a running PCM handle. <a href="#ga012e8b999070e72ab23514f25e7d6482">More...</a><br/></td></tr> <tr class="separator:ga012e8b999070e72ab23514f25e7d6482"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga13083ce2209aab9ea73831610bc61ab1"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga13083ce2209aab9ea73831610bc61ab1">snd_pcm_resume</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm)</td></tr> <tr class="memdesc:ga13083ce2209aab9ea73831610bc61ab1"><td class="mdescLeft"> </td><td class="mdescRight">Resume from suspend, no samples are lost. <a href="#ga13083ce2209aab9ea73831610bc61ab1">More...</a><br/></td></tr> <tr class="separator:ga13083ce2209aab9ea73831610bc61ab1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga3946abd34178b3de60fd5329b71c189b"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga3946abd34178b3de60fd5329b71c189b">snd_pcm_htimestamp</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm, <a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a> *avail, <a class="el" href="group___global.html#ga3a3f5b65c40f498cdbc26944bd9855cf">snd_htimestamp_t</a> *tstamp)</td></tr> <tr class="memdesc:ga3946abd34178b3de60fd5329b71c189b"><td class="mdescLeft"> </td><td class="mdescRight">Obtain last position update hi-res timestamp. <a href="#ga3946abd34178b3de60fd5329b71c189b">More...</a><br/></td></tr> <tr class="separator:ga3946abd34178b3de60fd5329b71c189b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga577b4d51e08d94930a05bbe73291ed2a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___p_c_m.html#ga71cdfa37e258d2210b8bd0216bf0c36c">snd_pcm_sframes_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga577b4d51e08d94930a05bbe73291ed2a">snd_pcm_avail</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm)</td></tr> <tr class="memdesc:ga577b4d51e08d94930a05bbe73291ed2a"><td class="mdescLeft"> </td><td class="mdescRight">Return number of frames ready to be read (capture) / written (playback) <a href="#ga577b4d51e08d94930a05bbe73291ed2a">More...</a><br/></td></tr> <tr class="separator:ga577b4d51e08d94930a05bbe73291ed2a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga8bb836bd0c414b59789d51a5f5379c08"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___p_c_m.html#ga71cdfa37e258d2210b8bd0216bf0c36c">snd_pcm_sframes_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga8bb836bd0c414b59789d51a5f5379c08">snd_pcm_avail_update</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm)</td></tr> <tr class="memdesc:ga8bb836bd0c414b59789d51a5f5379c08"><td class="mdescLeft"> </td><td class="mdescRight">Return number of frames ready to be read (capture) / written (playback) <a href="#ga8bb836bd0c414b59789d51a5f5379c08">More...</a><br/></td></tr> <tr class="separator:ga8bb836bd0c414b59789d51a5f5379c08"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga170bc44da2607b5583cff5ab5a985d98"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga170bc44da2607b5583cff5ab5a985d98">snd_pcm_avail_delay</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm, <a class="el" href="group___p_c_m.html#ga71cdfa37e258d2210b8bd0216bf0c36c">snd_pcm_sframes_t</a> *availp, <a class="el" href="group___p_c_m.html#ga71cdfa37e258d2210b8bd0216bf0c36c">snd_pcm_sframes_t</a> *delayp)</td></tr> <tr class="memdesc:ga170bc44da2607b5583cff5ab5a985d98"><td class="mdescLeft"> </td><td class="mdescRight">Combine snd_pcm_avail and snd_pcm_delay functions. <a href="#ga170bc44da2607b5583cff5ab5a985d98">More...</a><br/></td></tr> <tr class="separator:ga170bc44da2607b5583cff5ab5a985d98"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga0ea7a8aade4e6e76f2cdfd8c85f37bd0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___p_c_m.html#ga71cdfa37e258d2210b8bd0216bf0c36c">snd_pcm_sframes_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga0ea7a8aade4e6e76f2cdfd8c85f37bd0">snd_pcm_rewindable</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm)</td></tr> <tr class="memdesc:ga0ea7a8aade4e6e76f2cdfd8c85f37bd0"><td class="mdescLeft"> </td><td class="mdescRight">Get safe count of frames which can be rewinded. <a href="#ga0ea7a8aade4e6e76f2cdfd8c85f37bd0">More...</a><br/></td></tr> <tr class="separator:ga0ea7a8aade4e6e76f2cdfd8c85f37bd0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga6c66040dbe01797379436fdf36268fec"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___p_c_m.html#ga71cdfa37e258d2210b8bd0216bf0c36c">snd_pcm_sframes_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga6c66040dbe01797379436fdf36268fec">snd_pcm_rewind</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm, <a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a> frames)</td></tr> <tr class="memdesc:ga6c66040dbe01797379436fdf36268fec"><td class="mdescLeft"> </td><td class="mdescRight">Move application frame position backward. <a href="#ga6c66040dbe01797379436fdf36268fec">More...</a><br/></td></tr> <tr class="separator:ga6c66040dbe01797379436fdf36268fec"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaa2f506e03630a074130443d7b9c1a27e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___p_c_m.html#ga71cdfa37e258d2210b8bd0216bf0c36c">snd_pcm_sframes_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#gaa2f506e03630a074130443d7b9c1a27e">snd_pcm_forwardable</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm)</td></tr> <tr class="memdesc:gaa2f506e03630a074130443d7b9c1a27e"><td class="mdescLeft"> </td><td class="mdescRight">Get safe count of frames which can be forwarded. <a href="#gaa2f506e03630a074130443d7b9c1a27e">More...</a><br/></td></tr> <tr class="separator:gaa2f506e03630a074130443d7b9c1a27e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gad0774fa8991248c6f1c264aaeb0b4207"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___p_c_m.html#ga71cdfa37e258d2210b8bd0216bf0c36c">snd_pcm_sframes_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#gad0774fa8991248c6f1c264aaeb0b4207">snd_pcm_forward</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm, <a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a> frames)</td></tr> <tr class="memdesc:gad0774fa8991248c6f1c264aaeb0b4207"><td class="mdescLeft"> </td><td class="mdescRight">Move application frame position forward. <a href="#gad0774fa8991248c6f1c264aaeb0b4207">More...</a><br/></td></tr> <tr class="separator:gad0774fa8991248c6f1c264aaeb0b4207"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gabc748a500743713eafa960c7d104ca6f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___p_c_m.html#ga71cdfa37e258d2210b8bd0216bf0c36c">snd_pcm_sframes_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#gabc748a500743713eafa960c7d104ca6f">snd_pcm_writei</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm, const void *buffer, <a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a> size)</td></tr> <tr class="memdesc:gabc748a500743713eafa960c7d104ca6f"><td class="mdescLeft"> </td><td class="mdescRight">Write interleaved frames to a PCM. <a href="#gabc748a500743713eafa960c7d104ca6f">More...</a><br/></td></tr> <tr class="separator:gabc748a500743713eafa960c7d104ca6f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga4c2c7bd26cf221268d59dc3bbeb9c048"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___p_c_m.html#ga71cdfa37e258d2210b8bd0216bf0c36c">snd_pcm_sframes_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga4c2c7bd26cf221268d59dc3bbeb9c048">snd_pcm_readi</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm, void *buffer, <a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a> size)</td></tr> <tr class="memdesc:ga4c2c7bd26cf221268d59dc3bbeb9c048"><td class="mdescLeft"> </td><td class="mdescRight">Read interleaved frames from a PCM. <a href="#ga4c2c7bd26cf221268d59dc3bbeb9c048">More...</a><br/></td></tr> <tr class="separator:ga4c2c7bd26cf221268d59dc3bbeb9c048"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gae599772ce3d0aa6a70de143abcf145e7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___p_c_m.html#ga71cdfa37e258d2210b8bd0216bf0c36c">snd_pcm_sframes_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#gae599772ce3d0aa6a70de143abcf145e7">snd_pcm_writen</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm, void **bufs, <a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a> size)</td></tr> <tr class="memdesc:gae599772ce3d0aa6a70de143abcf145e7"><td class="mdescLeft"> </td><td class="mdescRight">Write non interleaved frames to a PCM. <a href="#gae599772ce3d0aa6a70de143abcf145e7">More...</a><br/></td></tr> <tr class="separator:gae599772ce3d0aa6a70de143abcf145e7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gafea175455f1a405f633a43484ded3d8a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___p_c_m.html#ga71cdfa37e258d2210b8bd0216bf0c36c">snd_pcm_sframes_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#gafea175455f1a405f633a43484ded3d8a">snd_pcm_readn</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm, void **bufs, <a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a> size)</td></tr> <tr class="memdesc:gafea175455f1a405f633a43484ded3d8a"><td class="mdescLeft"> </td><td class="mdescRight">Read non interleaved frames to a PCM. <a href="#gafea175455f1a405f633a43484ded3d8a">More...</a><br/></td></tr> <tr class="separator:gafea175455f1a405f633a43484ded3d8a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gad4d53d58b996a7cd9a5cbf1710b90375"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#gad4d53d58b996a7cd9a5cbf1710b90375">snd_pcm_wait</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm, int timeout)</td></tr> <tr class="memdesc:gad4d53d58b996a7cd9a5cbf1710b90375"><td class="mdescLeft"> </td><td class="mdescRight">Wait for a PCM to become ready. <a href="#gad4d53d58b996a7cd9a5cbf1710b90375">More...</a><br/></td></tr> <tr class="separator:gad4d53d58b996a7cd9a5cbf1710b90375"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gac6c33091b049985baa6466e8fe93917e"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#gac6c33091b049985baa6466e8fe93917e">snd_pcm_link</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm1, <a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm2)</td></tr> <tr class="memdesc:gac6c33091b049985baa6466e8fe93917e"><td class="mdescLeft"> </td><td class="mdescRight">Link two PCMs. <a href="#gac6c33091b049985baa6466e8fe93917e">More...</a><br/></td></tr> <tr class="separator:gac6c33091b049985baa6466e8fe93917e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga0d3af5e30593dae857b4308aab5035cd"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga0d3af5e30593dae857b4308aab5035cd">snd_pcm_unlink</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm)</td></tr> <tr class="memdesc:ga0d3af5e30593dae857b4308aab5035cd"><td class="mdescLeft"> </td><td class="mdescRight">Remove a PCM from a linked group. <a href="#ga0d3af5e30593dae857b4308aab5035cd">More...</a><br/></td></tr> <tr class="separator:ga0d3af5e30593dae857b4308aab5035cd"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga675cb6a0fd5470345105574216a652c2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structsnd__pcm__chmap__query__t.html">snd_pcm_chmap_query_t</a> ** </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga675cb6a0fd5470345105574216a652c2">snd_pcm_query_chmaps</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm)</td></tr> <tr class="separator:ga675cb6a0fd5470345105574216a652c2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gae766a086ec64ec1189a87da3e54b8441"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structsnd__pcm__chmap__query__t.html">snd_pcm_chmap_query_t</a> ** </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#gae766a086ec64ec1189a87da3e54b8441">snd_pcm_query_chmaps_from_hw</a> (int card, int dev, int subdev, <a class="el" href="group___p_c_m.html#gac23b43ff55add78638e503b9cc892c24">snd_pcm_stream_t</a> stream)</td></tr> <tr class="separator:gae766a086ec64ec1189a87da3e54b8441"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga0a131c274594f6266b9a3f980e479e49"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga0a131c274594f6266b9a3f980e479e49">snd_pcm_free_chmaps</a> (<a class="el" href="structsnd__pcm__chmap__query__t.html">snd_pcm_chmap_query_t</a> **maps)</td></tr> <tr class="separator:ga0a131c274594f6266b9a3f980e479e49"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gac3150e89164f6cb1276abda84b399c72"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structsnd__pcm__chmap__t.html">snd_pcm_chmap_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#gac3150e89164f6cb1276abda84b399c72">snd_pcm_get_chmap</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm)</td></tr> <tr class="separator:gac3150e89164f6cb1276abda84b399c72"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga60ee7d2c2555e21dbc844a1b73839085"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga60ee7d2c2555e21dbc844a1b73839085">snd_pcm_set_chmap</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm, const <a class="el" href="structsnd__pcm__chmap__t.html">snd_pcm_chmap_t</a> *map)</td></tr> <tr class="separator:ga60ee7d2c2555e21dbc844a1b73839085"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga2c559ecbc8f79457c1d7be5d08365739"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga2c559ecbc8f79457c1d7be5d08365739">snd_pcm_chmap_type_name</a> (enum <a class="el" href="group___p_c_m.html#gad77f16d07431203bacc8694d28814506">snd_pcm_chmap_type</a> val)</td></tr> <tr class="separator:ga2c559ecbc8f79457c1d7be5d08365739"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gac13f471d76d025798a25f3b422a07b91"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#gac13f471d76d025798a25f3b422a07b91">snd_pcm_chmap_name</a> (enum <a class="el" href="group___p_c_m.html#ga07f09c302588b9758946fedf97772975">snd_pcm_chmap_position</a> val)</td></tr> <tr class="separator:gac13f471d76d025798a25f3b422a07b91"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga5dc94582c2356ad6f214761de888bf43"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga5dc94582c2356ad6f214761de888bf43">snd_pcm_chmap_long_name</a> (enum <a class="el" href="group___p_c_m.html#ga07f09c302588b9758946fedf97772975">snd_pcm_chmap_position</a> val)</td></tr> <tr class="separator:ga5dc94582c2356ad6f214761de888bf43"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga1e10b4d6db07a3ef3a1105e703a38629"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga1e10b4d6db07a3ef3a1105e703a38629">snd_pcm_chmap_print</a> (const <a class="el" href="structsnd__pcm__chmap__t.html">snd_pcm_chmap_t</a> *map, size_t maxlen, char *buf)</td></tr> <tr class="separator:ga1e10b4d6db07a3ef3a1105e703a38629"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gad3e0c4157e5f491ba448bfd4d4dc0177"><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#gad3e0c4157e5f491ba448bfd4d4dc0177">snd_pcm_chmap_from_string</a> (const char *str)</td></tr> <tr class="separator:gad3e0c4157e5f491ba448bfd4d4dc0177"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga77973afbe7ab02bfde38d574d4879355"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structsnd__pcm__chmap__t.html">snd_pcm_chmap_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga77973afbe7ab02bfde38d574d4879355">snd_pcm_chmap_parse_string</a> (const char *str)</td></tr> <tr class="separator:ga77973afbe7ab02bfde38d574d4879355"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga2157aaeb6fc14da3f040d76591f9d3b1"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga2157aaeb6fc14da3f040d76591f9d3b1">snd_pcm_recover</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm, int err, int silent)</td></tr> <tr class="memdesc:ga2157aaeb6fc14da3f040d76591f9d3b1"><td class="mdescLeft"> </td><td class="mdescRight">Recover the stream state from an error or suspend. <a href="#ga2157aaeb6fc14da3f040d76591f9d3b1">More...</a><br/></td></tr> <tr class="separator:ga2157aaeb6fc14da3f040d76591f9d3b1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga45d50841b307f2156fce1857bfac228c"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga45d50841b307f2156fce1857bfac228c">snd_pcm_set_params</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm, <a class="el" href="group___p_c_m.html#gaa14b7f26877a812acbb39811364177f8">snd_pcm_format_t</a> format, <a class="el" href="group___p_c_m.html#ga661221ba5e8f1d6eaf4ab8e2da57cc1a">snd_pcm_access_t</a> access, unsigned int channels, unsigned int rate, int soft_resample, unsigned int latency)</td></tr> <tr class="memdesc:ga45d50841b307f2156fce1857bfac228c"><td class="mdescLeft"> </td><td class="mdescRight">Set the hardware and software parameters in a simple way. <a href="#ga45d50841b307f2156fce1857bfac228c">More...</a><br/></td></tr> <tr class="separator:ga45d50841b307f2156fce1857bfac228c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga2827b8fa77ca05717df9b0447b99d1cd"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m.html#ga2827b8fa77ca05717df9b0447b99d1cd">snd_pcm_get_params</a> (<a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> *pcm, <a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a> *buffer_size, <a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a> *period_size)</td></tr> <tr class="memdesc:ga2827b8fa77ca05717df9b0447b99d1cd"><td class="mdescLeft"> </td><td class="mdescRight">Get the transfer size parameters in a simple way. <a href="#ga2827b8fa77ca05717df9b0447b99d1cd">More...</a><br/></td></tr> <tr class="separator:ga2827b8fa77ca05717df9b0447b99d1cd"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <p>See the <a class="el" href="pcm.html">PCM (digital audio) interface</a> page for more details. </p> <h2 class="groupheader">Macro Definition Documentation</h2> <a class="anchor" id="gaf79d447b5f5c0936cfbc769eee03078b"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SND_CHMAP_API_VERSION   ((1 << 16) | (0 << 8) | 1)</td> </tr> </table> </div><div class="memdoc"> <p>channel mapping API version number </p> </div> </div> <a class="anchor" id="gaf3d1c438269afa0206fb9f2151c4fc6a"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SND_CHMAP_DRIVER_SPEC   (0x02 << 16)</td> </tr> </table> </div><div class="memdoc"> <p>bit flag indicating the non-standard channel value </p> </div> </div> <a class="anchor" id="gad98b225c79dd92fc387b2e7884ef97da"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SND_CHMAP_PHASE_INVERSE   (0x01 << 16)</td> </tr> </table> </div><div class="memdoc"> <p>bit flag indicating the channel is phase inverted </p> </div> </div> <a class="anchor" id="gad6713109477a592274f92f85670fcc1a"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SND_CHMAP_POSITION_MASK   0xffff</td> </tr> </table> </div><div class="memdoc"> <p>bitmask for channel position </p> </div> </div> <a class="anchor" id="ga06aa6da1ebeff70c83d9f6e18a91a3d7"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SND_PCM_ABORT   0x00008000</td> </tr> </table> </div><div class="memdoc"> <p>In an abort state (internal, not allowed for open) </p> </div> </div> <a class="anchor" id="ga9b22351abf6c85ced128e2088f6f6a5c"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SND_PCM_ASYNC</td> </tr> </table> </div><div class="memdoc"> <p>Async notification (flag for open mode) </p> </div> </div> <a class="anchor" id="ga32ccf47736036e86b0d787dc43e64d4a"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SND_PCM_DLSYM_VERSION   _dlsym_pcm_001</td> </tr> </table> </div><div class="memdoc"> <p>dlsym version for interface entry callback </p> </div> </div> <a class="anchor" id="ga64fa40b556374dabe40d4874242fee19"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SND_PCM_NO_AUTO_CHANNELS   0x00020000</td> </tr> </table> </div><div class="memdoc"> <p>Disable automatic (but not forced!) channel conversion </p> </div> </div> <a class="anchor" id="gacb997a23fbba62232101f730e9ae1e96"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SND_PCM_NO_AUTO_FORMAT   0x00040000</td> </tr> </table> </div><div class="memdoc"> <p>Disable automatic (but not forced!) format conversion </p> </div> </div> <a class="anchor" id="gaba352dfac44ef1681f91d476ed781005"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SND_PCM_NO_AUTO_RESAMPLE   0x00010000</td> </tr> </table> </div><div class="memdoc"> <p>Disable automatic (but not forced!) rate resamplinig </p> </div> </div> <a class="anchor" id="ga1f67b4e05749f0d3dafe7c17e448518a"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SND_PCM_NO_SOFTVOL   0x00080000</td> </tr> </table> </div><div class="memdoc"> <p>Disable soft volume control </p> </div> </div> <a class="anchor" id="ga6bd90de1d1527b5804090dcce51079ad"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SND_PCM_NONBLOCK</td> </tr> </table> </div><div class="memdoc"> <p>Non blocking mode (flag for open mode) </p> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2latency_8c-example.html#a39">/test/latency.c</a>.</dd> </dl> </div> </div> <h2 class="groupheader">Typedef Documentation</h2> <a class="anchor" id="ga7f9575bcc94c7c2cf5d688a45c16ffba"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct _snd_pcm_access_mask <a class="el" href="group___p_c_m.html#ga7f9575bcc94c7c2cf5d688a45c16ffba">snd_pcm_access_mask_t</a></td> </tr> </table> </div><div class="memdoc"> <p>PCM access types mask </p> </div> </div> <a class="anchor" id="ga0936aa9ac0051a3611583a2740915545"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct _snd_pcm_format_mask <a class="el" href="group___p_c_m.html#ga0936aa9ac0051a3611583a2740915545">snd_pcm_format_mask_t</a></td> </tr> </table> </div><div class="memdoc"> <p>PCM formats mask </p> </div> </div> <a class="anchor" id="ga65c737127994f0a980edad744e36dc40"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct _snd_pcm_hw_params <a class="el" href="group___p_c_m.html#ga65c737127994f0a980edad744e36dc40">snd_pcm_hw_params_t</a></td> </tr> </table> </div><div class="memdoc"> <p>PCM hardware configuration space container</p> <p>snd_pcm_hw_params_t is an opaque structure which contains a set of possible PCM hardware configurations. For example, a given instance might include a range of buffer sizes, a range of period sizes, and a set of several sample formats. Some subset of all possible combinations these sets may be valid, but not necessarily any combination will be valid.</p> <p>When a parameter is set or restricted using a snd_pcm_hw_params_set* function, all of the other ranges will be updated to exclude as many impossible configurations as possible. Attempting to set a parameter outside of its acceptable range will result in the function failing and an error code being returned. </p> </div> </div> <a class="anchor" id="ga7dae86a468480ce8eb1c485446c51664"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct _snd_pcm_info <a class="el" href="group___p_c_m.html#ga7dae86a468480ce8eb1c485446c51664">snd_pcm_info_t</a></td> </tr> </table> </div><div class="memdoc"> <p>PCM generic info container </p> </div> </div> <a class="anchor" id="ga3cd150b8aa57e634e1e1dd914940c765"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct _snd_pcm_scope <a class="el" href="group___p_c_m.html#ga3cd150b8aa57e634e1e1dd914940c765">snd_pcm_scope_t</a></td> </tr> </table> </div><div class="memdoc"> <p><a class="el" href="group___p_c_m.html#gga060d5b81f2fc8efcc35ff3e1de6e9fa4a415afb5482d35b38837035a6dd82b39d">SND_PCM_TYPE_METER</a> scope handle </p> </div> </div> <a class="anchor" id="ga71cdfa37e258d2210b8bd0216bf0c36c"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef long <a class="el" href="group___p_c_m.html#ga71cdfa37e258d2210b8bd0216bf0c36c">snd_pcm_sframes_t</a></td> </tr> </table> </div><div class="memdoc"> <p>Signed frames quantity </p> </div> </div> <a class="anchor" id="ga902b87281c46910b469d5f7aaafc1890"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct _snd_pcm_status <a class="el" href="group___p_c_m.html#ga902b87281c46910b469d5f7aaafc1890">snd_pcm_status_t</a></td> </tr> </table> </div><div class="memdoc"> <p>PCM status container </p> </div> </div> <a class="anchor" id="ga891b054202089747199bc3348b9d9630"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct _snd_pcm_subformat_mask <a class="el" href="group___p_c_m.html#ga891b054202089747199bc3348b9d9630">snd_pcm_subformat_mask_t</a></td> </tr> </table> </div><div class="memdoc"> <p>PCM subformats mask </p> </div> </div> <a class="anchor" id="ga7e082d9ea701709270b0674a0be23b09"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct _snd_pcm_sw_params <a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a></td> </tr> </table> </div><div class="memdoc"> <p>PCM software configuration container </p> </div> </div> <a class="anchor" id="ga919e634deecd855b6e2e15174e70d3ea"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct _snd_pcm <a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a></td> </tr> </table> </div><div class="memdoc"> <p>PCM handle </p> </div> </div> <a class="anchor" id="gaca6314f46f54a0b62536c403bbb62601"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef enum <a class="el" href="group___p_c_m.html#ga060d5b81f2fc8efcc35ff3e1de6e9fa4">_snd_pcm_type</a> <a class="el" href="group___p_c_m.html#gaca6314f46f54a0b62536c403bbb62601">snd_pcm_type_t</a></td> </tr> </table> </div><div class="memdoc"> <p>PCM type </p> </div> </div> <a class="anchor" id="gab01fcfe9b97382a8d3f2027c664b8b8a"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef unsigned long <a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a></td> </tr> </table> </div><div class="memdoc"> <p>Unsigned frames quantity </p> </div> </div> <h2 class="groupheader">Enumeration Type Documentation</h2> <a class="anchor" id="ga060d5b81f2fc8efcc35ff3e1de6e9fa4"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="group___p_c_m.html#ga060d5b81f2fc8efcc35ff3e1de6e9fa4">_snd_pcm_type</a></td> </tr> </table> </div><div class="memdoc"> <p>PCM type </p> <table class="fieldtable"> <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga060d5b81f2fc8efcc35ff3e1de6e9fa4a09891cdb0b9282c37c41941b922b12c4"></a>SND_PCM_TYPE_HW</em> </td><td class="fielddoc"> <p>Kernel level PCM </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga060d5b81f2fc8efcc35ff3e1de6e9fa4a2e332e4a85ab27030c8504a2becc02ee"></a>SND_PCM_TYPE_HOOKS</em> </td><td class="fielddoc"> <p>Hooked PCM </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga060d5b81f2fc8efcc35ff3e1de6e9fa4a568ddf1cfbafe64782e3073b235ff5f3"></a>SND_PCM_TYPE_MULTI</em> </td><td class="fielddoc"> <p>One or more linked PCM with exclusive access to selected channels </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga060d5b81f2fc8efcc35ff3e1de6e9fa4a583a91928c037820337cd8915cd85e02"></a>SND_PCM_TYPE_FILE</em> </td><td class="fielddoc"> <p>File writing plugin </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga060d5b81f2fc8efcc35ff3e1de6e9fa4a1fd5236858488b6bb1c565ae83ba451d"></a>SND_PCM_TYPE_NULL</em> </td><td class="fielddoc"> <p>Null endpoint PCM </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga060d5b81f2fc8efcc35ff3e1de6e9fa4a7af39420542c41f72a62551b2ae8db6d"></a>SND_PCM_TYPE_SHM</em> </td><td class="fielddoc"> <p>Shared memory client PCM </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga060d5b81f2fc8efcc35ff3e1de6e9fa4a3b07a18a1c2cadfc4e2eec2d62aef57e"></a>SND_PCM_TYPE_INET</em> </td><td class="fielddoc"> <p>INET client PCM (not yet implemented) </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga060d5b81f2fc8efcc35ff3e1de6e9fa4af09844304be19ee3a81ba5e2165e00bc"></a>SND_PCM_TYPE_COPY</em> </td><td class="fielddoc"> <p>Copying plugin </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga060d5b81f2fc8efcc35ff3e1de6e9fa4a3a89f56e7151dba7ba93e392fe709222"></a>SND_PCM_TYPE_LINEAR</em> </td><td class="fielddoc"> <p>Linear format conversion PCM </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga060d5b81f2fc8efcc35ff3e1de6e9fa4aaefed6aee6ad9570fa3fdd5943702e43"></a>SND_PCM_TYPE_ALAW</em> </td><td class="fielddoc"> <p>A-Law format conversion PCM </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga060d5b81f2fc8efcc35ff3e1de6e9fa4a225a22f28b83348c81b9962b53f68419"></a>SND_PCM_TYPE_MULAW</em> </td><td class="fielddoc"> <p>Mu-Law format conversion PCM </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga060d5b81f2fc8efcc35ff3e1de6e9fa4a8b358976321af44871bfd4f5743eb7f0"></a>SND_PCM_TYPE_ADPCM</em> </td><td class="fielddoc"> <p>IMA-ADPCM format conversion PCM </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga060d5b81f2fc8efcc35ff3e1de6e9fa4ac551ab5a7b8c32d4a79a9f605287c4b0"></a>SND_PCM_TYPE_RATE</em> </td><td class="fielddoc"> <p>Rate conversion PCM </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga060d5b81f2fc8efcc35ff3e1de6e9fa4a25b8c982e260c67fdf3da22a7d68bbb0"></a>SND_PCM_TYPE_ROUTE</em> </td><td class="fielddoc"> <p>Attenuated static route PCM </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga060d5b81f2fc8efcc35ff3e1de6e9fa4af03892219cb4ca4f07025b7a67d3890e"></a>SND_PCM_TYPE_PLUG</em> </td><td class="fielddoc"> <p>Format adjusted PCM </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga060d5b81f2fc8efcc35ff3e1de6e9fa4a5f90c13d40f32cdbaa24304f1f4aa260"></a>SND_PCM_TYPE_SHARE</em> </td><td class="fielddoc"> <p>Sharing PCM </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga060d5b81f2fc8efcc35ff3e1de6e9fa4a415afb5482d35b38837035a6dd82b39d"></a>SND_PCM_TYPE_METER</em> </td><td class="fielddoc"> <p>Meter plugin </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga060d5b81f2fc8efcc35ff3e1de6e9fa4a9d46de594d5885faa0fc4c3075eade76"></a>SND_PCM_TYPE_MIX</em> </td><td class="fielddoc"> <p>Mixing PCM </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga060d5b81f2fc8efcc35ff3e1de6e9fa4ac48d9a315b2094989b303b62939f4d12"></a>SND_PCM_TYPE_DROUTE</em> </td><td class="fielddoc"> <p>Attenuated dynamic route PCM (not yet implemented) </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga060d5b81f2fc8efcc35ff3e1de6e9fa4a819e90fe76ad9b1f8615cdaa76d47606"></a>SND_PCM_TYPE_LBSERVER</em> </td><td class="fielddoc"> <p>Loopback server plugin (not yet implemented) </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga060d5b81f2fc8efcc35ff3e1de6e9fa4af99ee7d59e1195c15440b7688e36b4e2"></a>SND_PCM_TYPE_LINEAR_FLOAT</em> </td><td class="fielddoc"> <p>Linear Integer <-> Linear Float format conversion PCM </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga060d5b81f2fc8efcc35ff3e1de6e9fa4af3096430cd38726e8dd3751c611af13e"></a>SND_PCM_TYPE_LADSPA</em> </td><td class="fielddoc"> <p>LADSPA integration plugin </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga060d5b81f2fc8efcc35ff3e1de6e9fa4a1345bfdf8c4052ec4eaea99ddca5b25e"></a>SND_PCM_TYPE_DMIX</em> </td><td class="fielddoc"> <p>Direct Mixing plugin </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga060d5b81f2fc8efcc35ff3e1de6e9fa4a3c059ea48c0ecb784421997aa302ff44"></a>SND_PCM_TYPE_JACK</em> </td><td class="fielddoc"> <p>Jack Audio Connection Kit plugin </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga060d5b81f2fc8efcc35ff3e1de6e9fa4a4fd7bc5c326b81d47841dc3133c6a154"></a>SND_PCM_TYPE_DSNOOP</em> </td><td class="fielddoc"> <p>Direct Snooping plugin </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga060d5b81f2fc8efcc35ff3e1de6e9fa4a02bca0b5efdbdfedb0983dacac599977"></a>SND_PCM_TYPE_DSHARE</em> </td><td class="fielddoc"> <p>Direct Sharing plugin </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga060d5b81f2fc8efcc35ff3e1de6e9fa4aa94a5d305b7803cf7ccda2ca0099a954"></a>SND_PCM_TYPE_IEC958</em> </td><td class="fielddoc"> <p>IEC958 subframe plugin </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga060d5b81f2fc8efcc35ff3e1de6e9fa4a80dcbde2dd52a423f8c5b055aacaa17d"></a>SND_PCM_TYPE_SOFTVOL</em> </td><td class="fielddoc"> <p>Soft volume plugin </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga060d5b81f2fc8efcc35ff3e1de6e9fa4ad4b0a23cef67fe330cce313c4f9e242a"></a>SND_PCM_TYPE_IOPLUG</em> </td><td class="fielddoc"> <p>External I/O plugin </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga060d5b81f2fc8efcc35ff3e1de6e9fa4a876553cf6a0650a8adcb17c3e768a8da"></a>SND_PCM_TYPE_EXTPLUG</em> </td><td class="fielddoc"> <p>External filter plugin </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga060d5b81f2fc8efcc35ff3e1de6e9fa4aa426bf738261ee3cd1ca3a25d8cbed12"></a>SND_PCM_TYPE_MMAP_EMUL</em> </td><td class="fielddoc"> <p>Mmap-emulation plugin </p> </td></tr> </table> </div> </div> <a class="anchor" id="ga661221ba5e8f1d6eaf4ab8e2da57cc1a"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="group___p_c_m.html#ga661221ba5e8f1d6eaf4ab8e2da57cc1a">snd_pcm_access_t</a></td> </tr> </table> </div><div class="memdoc"> <p>PCM access type </p> <table class="fieldtable"> <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga661221ba5e8f1d6eaf4ab8e2da57cc1aa90a5dea527c5ae9a53f1448beb2dee6f"></a>SND_PCM_ACCESS_MMAP_INTERLEAVED</em> </td><td class="fielddoc"> <p>mmap access with simple interleaved channels </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga661221ba5e8f1d6eaf4ab8e2da57cc1aa7de225785e05dd1d538203c5ece9036e"></a>SND_PCM_ACCESS_MMAP_NONINTERLEAVED</em> </td><td class="fielddoc"> <p>mmap access with simple non interleaved channels </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga661221ba5e8f1d6eaf4ab8e2da57cc1aa26a4f161364cb539df4de5eeb9949121"></a>SND_PCM_ACCESS_MMAP_COMPLEX</em> </td><td class="fielddoc"> <p>mmap access with complex placement </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga661221ba5e8f1d6eaf4ab8e2da57cc1aa72a970ed6e676ab0fd9f3c3d36737e0a"></a>SND_PCM_ACCESS_RW_INTERLEAVED</em> </td><td class="fielddoc"> <p>snd_pcm_readi/snd_pcm_writei access </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga661221ba5e8f1d6eaf4ab8e2da57cc1aae7ab128d10c32667f396933190435071"></a>SND_PCM_ACCESS_RW_NONINTERLEAVED</em> </td><td class="fielddoc"> <p>snd_pcm_readn/snd_pcm_writen access </p> </td></tr> </table> </div> </div> <a class="anchor" id="ga07f09c302588b9758946fedf97772975"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="group___p_c_m.html#ga07f09c302588b9758946fedf97772975">snd_pcm_chmap_position</a></td> </tr> </table> </div><div class="memdoc"> <p>channel positions </p> <table class="fieldtable"> <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga07f09c302588b9758946fedf97772975a5013bd25392cde7881a00bdb4ab030ee"></a>SND_CHMAP_UNKNOWN</em> </td><td class="fielddoc"> <p>unspecified </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga07f09c302588b9758946fedf97772975a757ea8c2af5fcce95adc50d1faf12956"></a>SND_CHMAP_NA</em> </td><td class="fielddoc"> <p>N/A, silent </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga07f09c302588b9758946fedf97772975a57f7b8aa28a96384e75d6a75c7f2728c"></a>SND_CHMAP_MONO</em> </td><td class="fielddoc"> <p>mono stream </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga07f09c302588b9758946fedf97772975a583e5b3018a572266dff31ceb647173d"></a>SND_CHMAP_FL</em> </td><td class="fielddoc"> <p>front left </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga07f09c302588b9758946fedf97772975a1199db6603bfa8756b109720d6f47b88"></a>SND_CHMAP_FR</em> </td><td class="fielddoc"> <p>front right </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga07f09c302588b9758946fedf97772975af55c7cf1772be450187b9c733e5a4601"></a>SND_CHMAP_RL</em> </td><td class="fielddoc"> <p>rear left </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga07f09c302588b9758946fedf97772975a2de6b761ffe69645bdc84dcc154ca704"></a>SND_CHMAP_RR</em> </td><td class="fielddoc"> <p>rear right </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga07f09c302588b9758946fedf97772975a1b986f167d0af5a2993688f0dc4f7ca7"></a>SND_CHMAP_FC</em> </td><td class="fielddoc"> <p>front center </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga07f09c302588b9758946fedf97772975a2e02fc34fc3156b9b651ddafe9430e76"></a>SND_CHMAP_LFE</em> </td><td class="fielddoc"> <p>LFE </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga07f09c302588b9758946fedf97772975abef51a1484c1b62ba57abdbf4c319018"></a>SND_CHMAP_SL</em> </td><td class="fielddoc"> <p>side left </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga07f09c302588b9758946fedf97772975a99a126ad5674edde88e274247cdc77b0"></a>SND_CHMAP_SR</em> </td><td class="fielddoc"> <p>side right </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga07f09c302588b9758946fedf97772975ab826e0b6dc51913bed17b9c9cd501b8b"></a>SND_CHMAP_RC</em> </td><td class="fielddoc"> <p>rear center </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga07f09c302588b9758946fedf97772975a899724c4ba10d58f489aa95b1be85707"></a>SND_CHMAP_FLC</em> </td><td class="fielddoc"> <p>front left center </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga07f09c302588b9758946fedf97772975a715eee05d56adb21c32f04a2dff32f41"></a>SND_CHMAP_FRC</em> </td><td class="fielddoc"> <p>front right center </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga07f09c302588b9758946fedf97772975a792ec89e7ed77e517fca9a042030cf91"></a>SND_CHMAP_RLC</em> </td><td class="fielddoc"> <p>rear left center </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga07f09c302588b9758946fedf97772975a01bb8ab068f1ad7ea82201fda13e7351"></a>SND_CHMAP_RRC</em> </td><td class="fielddoc"> <p>rear right center </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga07f09c302588b9758946fedf97772975a0aba5e9499f8c439d7af5aba4eea7013"></a>SND_CHMAP_FLW</em> </td><td class="fielddoc"> <p>front left wide </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga07f09c302588b9758946fedf97772975a866fd0a5bdacb87f672c06b19c95e3e6"></a>SND_CHMAP_FRW</em> </td><td class="fielddoc"> <p>front right wide </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga07f09c302588b9758946fedf97772975a0ebb60cbf70f6bdf44f23ca53f27a48e"></a>SND_CHMAP_FLH</em> </td><td class="fielddoc"> <p>front left high </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga07f09c302588b9758946fedf97772975aa6fc16c41ed3c77d03d5338b71767dd5"></a>SND_CHMAP_FCH</em> </td><td class="fielddoc"> <p>front center high </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga07f09c302588b9758946fedf97772975aedc57856e5d15e089ca997bb2517e558"></a>SND_CHMAP_FRH</em> </td><td class="fielddoc"> <p>front right high </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga07f09c302588b9758946fedf97772975af92f549344923b13b3f988a8bd411248"></a>SND_CHMAP_TC</em> </td><td class="fielddoc"> <p>top center </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga07f09c302588b9758946fedf97772975ab408982aed624e7895a88a70d3cad9ce"></a>SND_CHMAP_TFL</em> </td><td class="fielddoc"> <p>top front left </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga07f09c302588b9758946fedf97772975aac94c3e49e00cf6ddc8277be9211af8a"></a>SND_CHMAP_TFR</em> </td><td class="fielddoc"> <p>top front right </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga07f09c302588b9758946fedf97772975a8afc5e5e7278cd11e275c353f7debb76"></a>SND_CHMAP_TFC</em> </td><td class="fielddoc"> <p>top front center </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga07f09c302588b9758946fedf97772975a9801a726d1ef900db691fb3ee766c15c"></a>SND_CHMAP_TRL</em> </td><td class="fielddoc"> <p>top rear left </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga07f09c302588b9758946fedf97772975a8f2b99c9f99b964305e7b20a24205845"></a>SND_CHMAP_TRR</em> </td><td class="fielddoc"> <p>top rear right </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga07f09c302588b9758946fedf97772975aa38f97720df84f0d0a729a2977a7e96f"></a>SND_CHMAP_TRC</em> </td><td class="fielddoc"> <p>top rear center </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga07f09c302588b9758946fedf97772975a056a6a819e4f86531c2f72f2cca30a2f"></a>SND_CHMAP_TFLC</em> </td><td class="fielddoc"> <p>top front left center </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga07f09c302588b9758946fedf97772975a1901ba205094fa4d78ae1b6ccba2a0b7"></a>SND_CHMAP_TFRC</em> </td><td class="fielddoc"> <p>top front right center </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga07f09c302588b9758946fedf97772975a37e4efa8f78e28245172e609b3e2edb1"></a>SND_CHMAP_TSL</em> </td><td class="fielddoc"> <p>top side left </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga07f09c302588b9758946fedf97772975a002352cd72d1a7bb12a371c0a700368e"></a>SND_CHMAP_TSR</em> </td><td class="fielddoc"> <p>top side right </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga07f09c302588b9758946fedf97772975a98412e4b242d63dd0f6543d7979f65d2"></a>SND_CHMAP_LLFE</em> </td><td class="fielddoc"> <p>left LFE </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga07f09c302588b9758946fedf97772975a5a90ba518606bd795133b7464e297037"></a>SND_CHMAP_RLFE</em> </td><td class="fielddoc"> <p>right LFE </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga07f09c302588b9758946fedf97772975a6bdb9ff785f20a01942c51f5306f1b7a"></a>SND_CHMAP_BC</em> </td><td class="fielddoc"> <p>bottom center </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga07f09c302588b9758946fedf97772975a64d185c840a6c5a85b373c7b4c24a6ac"></a>SND_CHMAP_BLC</em> </td><td class="fielddoc"> <p>bottom left center </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga07f09c302588b9758946fedf97772975ae8657844c743e6303622c8a5db01f9fc"></a>SND_CHMAP_BRC</em> </td><td class="fielddoc"> <p>bottom right center </p> </td></tr> </table> </div> </div> <a class="anchor" id="gad77f16d07431203bacc8694d28814506"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="group___p_c_m.html#gad77f16d07431203bacc8694d28814506">snd_pcm_chmap_type</a></td> </tr> </table> </div><div class="memdoc"> <p>channel map list type </p> <table class="fieldtable"> <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggad77f16d07431203bacc8694d28814506a0d5c1dab935398488b798934515f1fba"></a>SND_CHMAP_TYPE_NONE</em> </td><td class="fielddoc"> <p>unspecified channel position </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggad77f16d07431203bacc8694d28814506a223cda2f0c432fc4706089304b550e31"></a>SND_CHMAP_TYPE_FIXED</em> </td><td class="fielddoc"> <p>fixed channel position </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggad77f16d07431203bacc8694d28814506a4c6c131c3ec7eabf1073244c9765a3f7"></a>SND_CHMAP_TYPE_VAR</em> </td><td class="fielddoc"> <p>freely swappable channel position </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggad77f16d07431203bacc8694d28814506a7f52f1c242f67d876d2bc920aba932b7"></a>SND_CHMAP_TYPE_PAIRED</em> </td><td class="fielddoc"> <p>pair-wise swappable channel position </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggad77f16d07431203bacc8694d28814506a19c6886e5e3b457e1a6f055f124f0fe3"></a>SND_CHMAP_TYPE_LAST</em> </td><td class="fielddoc"> <p>last entry </p> </td></tr> </table> </div> </div> <a class="anchor" id="gad0e95dc8a590d8f9915fec237d7a28a5"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="group___p_c_m.html#gad0e95dc8a590d8f9915fec237d7a28a5">snd_pcm_class_t</a></td> </tr> </table> </div><div class="memdoc"> <p>PCM class </p> <table class="fieldtable"> <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggad0e95dc8a590d8f9915fec237d7a28a5a3899ef7b0fa4a9717abe5587e9110514"></a>SND_PCM_CLASS_GENERIC</em> </td><td class="fielddoc"> <p>standard device </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggad0e95dc8a590d8f9915fec237d7a28a5a223f6ffeb72c72144f4f680998fbedb3"></a>SND_PCM_CLASS_MULTI</em> </td><td class="fielddoc"> <p>multichannel device </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggad0e95dc8a590d8f9915fec237d7a28a5a79cdb236d774a3a5e17cf4929a16936b"></a>SND_PCM_CLASS_MODEM</em> </td><td class="fielddoc"> <p>software modem device </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggad0e95dc8a590d8f9915fec237d7a28a5a69f4d2c8aa3195c6fc140b6d4c2f25ea"></a>SND_PCM_CLASS_DIGITIZER</em> </td><td class="fielddoc"> <p>digitizer device </p> </td></tr> </table> </div> </div> <a class="anchor" id="gaa14b7f26877a812acbb39811364177f8"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="group___p_c_m.html#gaa14b7f26877a812acbb39811364177f8">snd_pcm_format_t</a></td> </tr> </table> </div><div class="memdoc"> <p>PCM sample format </p> <table class="fieldtable"> <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8ab1e118ecdccf628639b5c85bc3a48999"></a>SND_PCM_FORMAT_UNKNOWN</em> </td><td class="fielddoc"> <p>Unknown </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8a5b78bf93eaed5f52cf16c582f04aa7f1"></a>SND_PCM_FORMAT_S8</em> </td><td class="fielddoc"> <p>Signed 8 bit </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8ad5856f97113926836a7c6651cb8864a3"></a>SND_PCM_FORMAT_U8</em> </td><td class="fielddoc"> <p>Unsigned 8 bit </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8a8b66a29293c62df9d1678c609fab76c0"></a>SND_PCM_FORMAT_S16_LE</em> </td><td class="fielddoc"> <p>Signed 16 bit Little Endian </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8a9f6783e14d7cbb5023c86427263b0d50"></a>SND_PCM_FORMAT_S16_BE</em> </td><td class="fielddoc"> <p>Signed 16 bit Big Endian </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8ab2f9619da5d5062e612b2ee0929e8164"></a>SND_PCM_FORMAT_U16_LE</em> </td><td class="fielddoc"> <p>Unsigned 16 bit Little Endian </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8aecc04aa997503c030a47fe5798514180"></a>SND_PCM_FORMAT_U16_BE</em> </td><td class="fielddoc"> <p>Unsigned 16 bit Big Endian </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8a04b3c3b9ad0106c9619a28b753d8fd18"></a>SND_PCM_FORMAT_S24_LE</em> </td><td class="fielddoc"> <p>Signed 24 bit Little Endian using low three bytes in 32-bit word </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8a226d2f6a6bc53a6f75786ca8fad3fc65"></a>SND_PCM_FORMAT_S24_BE</em> </td><td class="fielddoc"> <p>Signed 24 bit Big Endian using low three bytes in 32-bit word </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8a33b2fb89235eebda4e6820d4a80a4c29"></a>SND_PCM_FORMAT_U24_LE</em> </td><td class="fielddoc"> <p>Unsigned 24 bit Little Endian using low three bytes in 32-bit word </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8a2c2effcf940fdee8eddf43a62360f7c4"></a>SND_PCM_FORMAT_U24_BE</em> </td><td class="fielddoc"> <p>Unsigned 24 bit Big Endian using low three bytes in 32-bit word </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8aa99dcea38d9cd8ea3b8a6e9ea85bcc52"></a>SND_PCM_FORMAT_S32_LE</em> </td><td class="fielddoc"> <p>Signed 32 bit Little Endian </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8ad30a0d4bc893eba11d08d72b3916ca2a"></a>SND_PCM_FORMAT_S32_BE</em> </td><td class="fielddoc"> <p>Signed 32 bit Big Endian </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8a4c9ee7d82e322009e85f7cd739bbb692"></a>SND_PCM_FORMAT_U32_LE</em> </td><td class="fielddoc"> <p>Unsigned 32 bit Little Endian </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8ac4d69a20b22df53a63ad8589bbdf6f93"></a>SND_PCM_FORMAT_U32_BE</em> </td><td class="fielddoc"> <p>Unsigned 32 bit Big Endian </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8a083f32474a84d344e0da496470085c8f"></a>SND_PCM_FORMAT_FLOAT_LE</em> </td><td class="fielddoc"> <p>Float 32 bit Little Endian, Range -1.0 to 1.0 </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8ab24eac408b0d2ae6b5f68ed3a7cd2d75"></a>SND_PCM_FORMAT_FLOAT_BE</em> </td><td class="fielddoc"> <p>Float 32 bit Big Endian, Range -1.0 to 1.0 </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8a8e6d82461abbb8be043f8addd23f76c0"></a>SND_PCM_FORMAT_FLOAT64_LE</em> </td><td class="fielddoc"> <p>Float 64 bit Little Endian, Range -1.0 to 1.0 </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8a9215cd0ab46e6db8668d8bfbb3cd76a6"></a>SND_PCM_FORMAT_FLOAT64_BE</em> </td><td class="fielddoc"> <p>Float 64 bit Big Endian, Range -1.0 to 1.0 </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8a4a51dcbdb981d0357447115d7ccf3b1f"></a>SND_PCM_FORMAT_IEC958_SUBFRAME_LE</em> </td><td class="fielddoc"> <p>IEC-958 Little Endian </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8a347bac4a7d9ac64e3019a2f3238e09fb"></a>SND_PCM_FORMAT_IEC958_SUBFRAME_BE</em> </td><td class="fielddoc"> <p>IEC-958 Big Endian </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8a1f71fdf666f5dea8b84d627ba84a9ea5"></a>SND_PCM_FORMAT_MU_LAW</em> </td><td class="fielddoc"> <p>Mu-Law </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8a9d1017ad6b2f73e97f20cf933a5d8a7e"></a>SND_PCM_FORMAT_A_LAW</em> </td><td class="fielddoc"> <p>A-Law </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8a984ec5c790504560bfc7564cfeaddc23"></a>SND_PCM_FORMAT_IMA_ADPCM</em> </td><td class="fielddoc"> <p>Ima-ADPCM </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8a3705d4bd3266f3a68c276da9e7a65660"></a>SND_PCM_FORMAT_MPEG</em> </td><td class="fielddoc"> <p>MPEG </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8a32ec1ed1e6bc5eafff1547e1401f679c"></a>SND_PCM_FORMAT_GSM</em> </td><td class="fielddoc"> <p>GSM </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8abeb8a83f4a3f685cf8051842ad40d25f"></a>SND_PCM_FORMAT_S20_LE</em> </td><td class="fielddoc"> <p>Signed 20bit Little Endian in 4bytes format, LSB justified </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8a17cbdeeafef56a2e93719a1866c9681a"></a>SND_PCM_FORMAT_S20_BE</em> </td><td class="fielddoc"> <p>Signed 20bit Big Endian in 4bytes format, LSB justified </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8aed034cada192ddc4814c6ebf19f37bef"></a>SND_PCM_FORMAT_U20_LE</em> </td><td class="fielddoc"> <p>Unsigned 20bit Little Endian in 4bytes format, LSB justified </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8abc818f93cee1a1602d808549ba5adfd9"></a>SND_PCM_FORMAT_U20_BE</em> </td><td class="fielddoc"> <p>Unsigned 20bit Big Endian in 4bytes format, LSB justified </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8a770a94546bff2f0d07e32dd22c5f9a2c"></a>SND_PCM_FORMAT_SPECIAL</em> </td><td class="fielddoc"> <p>Special </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8a1fd8c22f3dd45fc1b8e41b0b5e6107ce"></a>SND_PCM_FORMAT_S24_3LE</em> </td><td class="fielddoc"> <p>Signed 24bit Little Endian in 3bytes format </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8a531ede921f12bd96e02499f962fdb7ea"></a>SND_PCM_FORMAT_S24_3BE</em> </td><td class="fielddoc"> <p>Signed 24bit Big Endian in 3bytes format </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8a76ef58eb516389000bdc678ca69515c3"></a>SND_PCM_FORMAT_U24_3LE</em> </td><td class="fielddoc"> <p>Unsigned 24bit Little Endian in 3bytes format </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8a26318cc44ae67775ccedc1f5ba07d925"></a>SND_PCM_FORMAT_U24_3BE</em> </td><td class="fielddoc"> <p>Unsigned 24bit Big Endian in 3bytes format </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8a8f23da6a6564831a09f079f4d0e7fd6c"></a>SND_PCM_FORMAT_S20_3LE</em> </td><td class="fielddoc"> <p>Signed 20bit Little Endian in 3bytes format </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8a178dd8e9b92a0dbe80ae837979720fa7"></a>SND_PCM_FORMAT_S20_3BE</em> </td><td class="fielddoc"> <p>Signed 20bit Big Endian in 3bytes format </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8a15eb6dc96e7940b06b2b40fd483073a3"></a>SND_PCM_FORMAT_U20_3LE</em> </td><td class="fielddoc"> <p>Unsigned 20bit Little Endian in 3bytes format </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8a8d4e75049c83e0b26493d4d149de5b22"></a>SND_PCM_FORMAT_U20_3BE</em> </td><td class="fielddoc"> <p>Unsigned 20bit Big Endian in 3bytes format </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8a89ba6879c39fec5ee33f2b760ebd7053"></a>SND_PCM_FORMAT_S18_3LE</em> </td><td class="fielddoc"> <p>Signed 18bit Little Endian in 3bytes format </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8ad49193efd29a9f7085ddcd08e3b33eba"></a>SND_PCM_FORMAT_S18_3BE</em> </td><td class="fielddoc"> <p>Signed 18bit Big Endian in 3bytes format </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8a3ab354cc702a7b9d651aec726bb8a68c"></a>SND_PCM_FORMAT_U18_3LE</em> </td><td class="fielddoc"> <p>Unsigned 18bit Little Endian in 3bytes format </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8a0bab067dee022bd684b1015762a44663"></a>SND_PCM_FORMAT_U18_3BE</em> </td><td class="fielddoc"> <p>Unsigned 18bit Big Endian in 3bytes format </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8aac4470b6be81c22af0cfe528bee4a474"></a>SND_PCM_FORMAT_S16</em> </td><td class="fielddoc"> <p>Signed 16 bit CPU endian </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8a032b33ad0fe643a3177be26148f026f1"></a>SND_PCM_FORMAT_U16</em> </td><td class="fielddoc"> <p>Unsigned 16 bit CPU endian </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8ad2eb0073f6d7ba800695c088b32956a5"></a>SND_PCM_FORMAT_S24</em> </td><td class="fielddoc"> <p>Signed 24 bit CPU endian </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8a036c86abc5151b9a1f19476d34120994"></a>SND_PCM_FORMAT_U24</em> </td><td class="fielddoc"> <p>Unsigned 24 bit CPU endian </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8abccf973f2b6eba3481949a7b5b04f4ab"></a>SND_PCM_FORMAT_S32</em> </td><td class="fielddoc"> <p>Signed 32 bit CPU endian </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8abbdd76fc846d3a68c19727a44bd38336"></a>SND_PCM_FORMAT_U32</em> </td><td class="fielddoc"> <p>Unsigned 32 bit CPU endian </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8a7d9fd83c6ff5be7a9cde4b0673b64bf0"></a>SND_PCM_FORMAT_FLOAT</em> </td><td class="fielddoc"> <p>Float 32 bit CPU endian </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8a0ecea6572fd04ef25ae24cde617eaa9a"></a>SND_PCM_FORMAT_FLOAT64</em> </td><td class="fielddoc"> <p>Float 64 bit CPU endian </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8a7ecefcb13f1fbb3ffb24f9b6582d53cc"></a>SND_PCM_FORMAT_IEC958_SUBFRAME</em> </td><td class="fielddoc"> <p>IEC-958 CPU Endian </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8a3a80019ca0ede6cc2278ed13f03ce3ea"></a>SND_PCM_FORMAT_S20</em> </td><td class="fielddoc"> <p>Signed 20bit in 4bytes format, LSB justified, CPU Endian </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggaa14b7f26877a812acbb39811364177f8ace45a12e077ffb0be4df727cc23ea099"></a>SND_PCM_FORMAT_U20</em> </td><td class="fielddoc"> <p>Unsigned 20bit in 4bytes format, LSB justified, CPU Endian </p> </td></tr> </table> </div> </div> <a class="anchor" id="ga0eae9150f4f207ed05cb629cc3a3673f"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="group___p_c_m.html#ga0eae9150f4f207ed05cb629cc3a3673f">snd_pcm_start_t</a></td> </tr> </table> </div><div class="memdoc"> <p>PCM start mode </p> <table class="fieldtable"> <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga0eae9150f4f207ed05cb629cc3a3673fa1784d28a1a0b6d0dc9726e8093fef095"></a>SND_PCM_START_DATA</em> </td><td class="fielddoc"> <p>Automatic start on data read/write </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga0eae9150f4f207ed05cb629cc3a3673fa3f7514d50731fbec3bf3963f8f50e377"></a>SND_PCM_START_EXPLICIT</em> </td><td class="fielddoc"> <p>Explicit start </p> </td></tr> </table> </div> </div> <a class="anchor" id="ga61ac499cb3701ce536d4d83725908860"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="group___p_c_m.html#ga61ac499cb3701ce536d4d83725908860">snd_pcm_state_t</a></td> </tr> </table> </div><div class="memdoc"> <p>PCM state </p> <table class="fieldtable"> <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga61ac499cb3701ce536d4d83725908860a56cf8033b50561b57437232e243f3007"></a>SND_PCM_STATE_OPEN</em> </td><td class="fielddoc"> <p>Open </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga61ac499cb3701ce536d4d83725908860a58d9a0501aa1b2bd2607e1084c335672"></a>SND_PCM_STATE_SETUP</em> </td><td class="fielddoc"> <p>Setup installed </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga61ac499cb3701ce536d4d83725908860a3eb4a3b75c7d2adb22f1829f3f738b27"></a>SND_PCM_STATE_PREPARED</em> </td><td class="fielddoc"> <p>Ready to start </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga61ac499cb3701ce536d4d83725908860a86f6fbc796881f19fde0e1957f878147"></a>SND_PCM_STATE_RUNNING</em> </td><td class="fielddoc"> <p>Running </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga61ac499cb3701ce536d4d83725908860ab63b5b90201110cd586b686355fd5d83"></a>SND_PCM_STATE_XRUN</em> </td><td class="fielddoc"> <p>Stopped: underrun (playback) or overrun (capture) detected </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga61ac499cb3701ce536d4d83725908860a86f88c2a4c8eedb5c91f3b6cb4879cfe"></a>SND_PCM_STATE_DRAINING</em> </td><td class="fielddoc"> <p>Draining: running (playback) or stopped (capture) </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga61ac499cb3701ce536d4d83725908860a9fa0c5b43e5c924f87b50e22878a8952"></a>SND_PCM_STATE_PAUSED</em> </td><td class="fielddoc"> <p>Paused </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga61ac499cb3701ce536d4d83725908860a79a05b6b619f88e153d50d9daf2e84bf"></a>SND_PCM_STATE_SUSPENDED</em> </td><td class="fielddoc"> <p>Hardware is suspended </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga61ac499cb3701ce536d4d83725908860aa0cbad634a40383eed6059d1b49c215a"></a>SND_PCM_STATE_DISCONNECTED</em> </td><td class="fielddoc"> <p>Hardware is disconnected </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga61ac499cb3701ce536d4d83725908860a5003a732bf308c84259933c64ab02f06"></a>SND_PCM_STATE_PRIVATE1</em> </td><td class="fielddoc"> <p>Private - used internally in the library - do not use </p> </td></tr> </table> </div> </div> <a class="anchor" id="gac23b43ff55add78638e503b9cc892c24"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="group___p_c_m.html#gac23b43ff55add78638e503b9cc892c24">snd_pcm_stream_t</a></td> </tr> </table> </div><div class="memdoc"> <p>PCM stream (direction) </p> <table class="fieldtable"> <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggac23b43ff55add78638e503b9cc892c24a57a2b920dbc34173479fc9036cfc78a1"></a>SND_PCM_STREAM_PLAYBACK</em> </td><td class="fielddoc"> <p>Playback stream </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggac23b43ff55add78638e503b9cc892c24af07834f756b4f95cb61987f4811073c4"></a>SND_PCM_STREAM_CAPTURE</em> </td><td class="fielddoc"> <p>Capture stream </p> </td></tr> </table> </div> </div> <a class="anchor" id="ga6a164917c35e2216f6e76beff4e4d0cb"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="group___p_c_m.html#ga6a164917c35e2216f6e76beff4e4d0cb">snd_pcm_subclass_t</a></td> </tr> </table> </div><div class="memdoc"> <p>PCM subclass </p> <table class="fieldtable"> <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga6a164917c35e2216f6e76beff4e4d0cba79a61939325a37b0fdfcf6e9ac0ce572"></a>SND_PCM_SUBCLASS_GENERIC_MIX</em> </td><td class="fielddoc"> <p>subdevices are mixed together </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga6a164917c35e2216f6e76beff4e4d0cbaafd17e33fac6f3c2b7e9bb48473b8c54"></a>SND_PCM_SUBCLASS_MULTI_MIX</em> </td><td class="fielddoc"> <p>multichannel subdevices are mixed together </p> </td></tr> </table> </div> </div> <a class="anchor" id="ga1e5fe73a6bdf881e2f91921d5e5327c7"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="group___p_c_m.html#ga1e5fe73a6bdf881e2f91921d5e5327c7">snd_pcm_subformat_t</a></td> </tr> </table> </div><div class="memdoc"> <p>PCM sample subformat </p> <table class="fieldtable"> <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga1e5fe73a6bdf881e2f91921d5e5327c7a09a538c9147dae5bb19df88198f0ebb8"></a>SND_PCM_SUBFORMAT_STD</em> </td><td class="fielddoc"> <p>Standard </p> </td></tr> </table> </div> </div> <a class="anchor" id="ga695a9755880cf886c13d07938f92ea77"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="group___p_c_m.html#ga695a9755880cf886c13d07938f92ea77">snd_pcm_tstamp_t</a></td> </tr> </table> </div><div class="memdoc"> <p>PCM timestamp mode </p> <table class="fieldtable"> <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga695a9755880cf886c13d07938f92ea77af49a1c378583854b22ed6f6490f3b1ee"></a>SND_PCM_TSTAMP_NONE</em> </td><td class="fielddoc"> <p>No timestamp </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga695a9755880cf886c13d07938f92ea77ac62f4ba2b203d59b8f11074fb12788ae"></a>SND_PCM_TSTAMP_ENABLE</em> </td><td class="fielddoc"> <p>Update timestamp at every hardware position update </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga695a9755880cf886c13d07938f92ea77ab09196ab367636c4d365b5b6bcd391d8"></a>SND_PCM_TSTAMP_MMAP</em> </td><td class="fielddoc"> <p>Equivalent with <a class="el" href="group___p_c_m.html#gga695a9755880cf886c13d07938f92ea77ac62f4ba2b203d59b8f11074fb12788ae">SND_PCM_TSTAMP_ENABLE</a>, just for compatibility with older versions </p> </td></tr> </table> </div> </div> <a class="anchor" id="ga6e7869809e23ed1a3595e94fbd9a275c"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="group___p_c_m.html#ga6e7869809e23ed1a3595e94fbd9a275c">snd_pcm_tstamp_type_t</a></td> </tr> </table> </div><div class="memdoc"> <table class="fieldtable"> <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga6e7869809e23ed1a3595e94fbd9a275ca363906e727cdee56da82cab964ac3ad9"></a>SND_PCM_TSTAMP_TYPE_GETTIMEOFDAY</em> </td><td class="fielddoc"> <p>gettimeofday equivalent </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga6e7869809e23ed1a3595e94fbd9a275ca649eaa23a8ba59ef31b7cb1582a9d2b2"></a>SND_PCM_TSTAMP_TYPE_MONOTONIC</em> </td><td class="fielddoc"> <p>posix_clock_monotonic equivalent </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga6e7869809e23ed1a3595e94fbd9a275caaf1a88d034848bf2154be94ace1f8cef"></a>SND_PCM_TSTAMP_TYPE_MONOTONIC_RAW</em> </td><td class="fielddoc"> <p>monotonic_raw (no NTP) </p> </td></tr> </table> </div> </div> <a class="anchor" id="ga67c10983b5cadd8b3eb3163489655784"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="group___p_c_m.html#ga67c10983b5cadd8b3eb3163489655784">snd_pcm_xrun_t</a></td> </tr> </table> </div><div class="memdoc"> <p>PCM xrun mode </p> <table class="fieldtable"> <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga67c10983b5cadd8b3eb3163489655784a2041251f57b2d807a87dbb33de4a0299"></a>SND_PCM_XRUN_NONE</em> </td><td class="fielddoc"> <p>Xrun detection disabled </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="gga67c10983b5cadd8b3eb3163489655784a79be5aacb29e5eb3cea538eb7a24c57c"></a>SND_PCM_XRUN_STOP</em> </td><td class="fielddoc"> <p>Stop on xrun detection </p> </td></tr> </table> </div> </div> <h2 class="groupheader">Function Documentation</h2> <a class="anchor" id="ga5a0c0da6d0d35a3ac9f6a97567ac3b63"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_async_add_pcm_handler </td> <td>(</td> <td class="paramtype"><a class="el" href="group___global.html#ga8cd9a1d441e9219ca5f2ff04094c7c6d">snd_async_handler_t</a> ** </td> <td class="paramname"><em>handler</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___global.html#gaa0501fb0c332e2009977bb29f194200b">snd_async_callback_t</a> </td> <td class="paramname"><em>callback</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>private_data</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Add an async handler for a PCM. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">handler</td><td>Returned handler handle </td></tr> <tr><td class="paramname">pcm</td><td>PCM handle </td></tr> <tr><td class="paramname">callback</td><td>Callback function </td></tr> <tr><td class="paramname">private_data</td><td>Callback private data </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 otherwise a negative error code on failure</dd></dl> <p>The asynchronous callback is called when period boundary elapses. </p> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2pcm_8c-example.html#a41">/test/pcm.c</a>.</dd> </dl> </div> </div> <a class="anchor" id="gace4920d5943820c395dab8d9cd4fed0a"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a>* snd_async_handler_get_pcm </td> <td>(</td> <td class="paramtype"><a class="el" href="group___global.html#ga8cd9a1d441e9219ca5f2ff04094c7c6d">snd_async_handler_t</a> * </td> <td class="paramname"><em>handler</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Return PCM handle related to an async handler. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">handler</td><td>Async handler handle </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>PCM handle </dd></dl> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2pcm_8c-example.html#a38">/test/pcm.c</a>.</dd> </dl> </div> </div> <a class="anchor" id="ga577b4d51e08d94930a05bbe73291ed2a"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group___p_c_m.html#ga71cdfa37e258d2210b8bd0216bf0c36c">snd_pcm_sframes_t</a> snd_pcm_avail </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Return number of frames ready to be read (capture) / written (playback) </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm</td><td>PCM handle </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>a positive number of frames ready otherwise a negative error code</dd></dl> <p>On capture does all the actions needed to transport to application level all the ready frames across underlying layers.</p> <p>The position is synced with hardware (driver) position in the sound ring buffer in this functions.</p> <p>The function is thread-safe when built with the proper option. </p> </div> </div> <a class="anchor" id="ga170bc44da2607b5583cff5ab5a985d98"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_pcm_avail_delay </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga71cdfa37e258d2210b8bd0216bf0c36c">snd_pcm_sframes_t</a> * </td> <td class="paramname"><em>availp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga71cdfa37e258d2210b8bd0216bf0c36c">snd_pcm_sframes_t</a> * </td> <td class="paramname"><em>delayp</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Combine snd_pcm_avail and snd_pcm_delay functions. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm</td><td>PCM handle </td></tr> <tr><td class="paramname">availp</td><td>Number of available frames in the ring buffer </td></tr> <tr><td class="paramname">delayp</td><td>Total I/O latency in frames </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>zero on success otherwise a negative error code</dd></dl> <p>The avail and delay values retuned are in sync.</p> <p>The function is thread-safe when built with the proper option. </p> </div> </div> <a class="anchor" id="ga8bb836bd0c414b59789d51a5f5379c08"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group___p_c_m.html#ga71cdfa37e258d2210b8bd0216bf0c36c">snd_pcm_sframes_t</a> snd_pcm_avail_update </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Return number of frames ready to be read (capture) / written (playback) </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm</td><td>PCM handle </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>a positive number of frames ready otherwise a negative error code</dd></dl> <p>On capture does all the actions needed to transport to application level all the ready frames across underlying layers.</p> <p>The position is not synced with hardware (driver) position in the sound ring buffer in this function. This function is a light version of <a class="el" href="group___p_c_m.html#ga577b4d51e08d94930a05bbe73291ed2a" title="Return number of frames ready to be read (capture) / written (playback) ">snd_pcm_avail()</a> .</p> <p>Using this function is ideal after poll() or select() when audio file descriptor made the event and when application expects just period timing.</p> <p>Also this function might be called after <a class="el" href="group___p_c_m.html#ga012e8b999070e72ab23514f25e7d6482" title="Obtain delay for a running PCM handle. ">snd_pcm_delay()</a> or <a class="el" href="group___p_c_m.html#ga3b71a41f6b300bf63ad374013f19d8d7" title="(DEPRECATED) Synchronize stream position with hardware ">snd_pcm_hwsync()</a> functions to move private ring buffer pointers in alsa-lib (the internal plugin chain).</p> <p>The function is thread-safe when built with the proper option. </p> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2pcm_8c-example.html#a40">/test/pcm.c</a>.</dd> </dl> </div> </div> <a class="anchor" id="gad3e0c4157e5f491ba448bfd4d4dc0177"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">unsigned int snd_pcm_chmap_from_string </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>str</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>!brief Convert from string to channel position </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">str</td><td>The string to parse </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>The channel position value or -1 as an error </dd></dl> </div> </div> <a class="anchor" id="ga5dc94582c2356ad6f214761de888bf43"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char* snd_pcm_chmap_long_name </td> <td>(</td> <td class="paramtype">enum <a class="el" href="group___p_c_m.html#ga07f09c302588b9758946fedf97772975">snd_pcm_chmap_position</a> </td> <td class="paramname"><em>val</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>!brief Get a longer name string for a standard channel map position </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">val</td><td>Channel position </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>The string corresponding to the given position, or NULL </dd></dl> </div> </div> <a class="anchor" id="gac13f471d76d025798a25f3b422a07b91"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char* snd_pcm_chmap_name </td> <td>(</td> <td class="paramtype">enum <a class="el" href="group___p_c_m.html#ga07f09c302588b9758946fedf97772975">snd_pcm_chmap_position</a> </td> <td class="paramname"><em>val</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>!brief Get a name string for a standard channel map position </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">val</td><td>Channel position </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>The string corresponding to the given position, or NULL </dd></dl> </div> </div> <a class="anchor" id="ga77973afbe7ab02bfde38d574d4879355"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structsnd__pcm__chmap__t.html">snd_pcm_chmap_t</a>* snd_pcm_chmap_parse_string </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>str</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>!brief Convert from string to channel map </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">str</td><td>The string to parse </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>The channel map</dd></dl> <p>Note: the caller is requested to release the returned value via free() </p> </div> </div> <a class="anchor" id="ga1e10b4d6db07a3ef3a1105e703a38629"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_pcm_chmap_print </td> <td>(</td> <td class="paramtype">const <a class="el" href="structsnd__pcm__chmap__t.html">snd_pcm_chmap_t</a> * </td> <td class="paramname"><em>map</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>maxlen</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"><em>buf</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>!brief Print the channels in chmap on the buffer </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">map</td><td>The channel map to print </td></tr> <tr><td class="paramname">maxlen</td><td>The maximal length to write (including NUL letter) </td></tr> <tr><td class="paramname">buf</td><td>The buffer to write </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>The actual string length or a negative error code </dd></dl> </div> </div> <a class="anchor" id="ga2c559ecbc8f79457c1d7be5d08365739"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char* snd_pcm_chmap_type_name </td> <td>(</td> <td class="paramtype">enum <a class="el" href="group___p_c_m.html#gad77f16d07431203bacc8694d28814506">snd_pcm_chmap_type</a> </td> <td class="paramname"><em>val</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>!brief Get a name string for a channel map type as query results </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">val</td><td>Channel position </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>The string corresponding to the given type, or NULL </dd></dl> </div> </div> <a class="anchor" id="ga042aba7262a4cbb4d444b6fc08cb7124"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_pcm_close </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>close PCM handle </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm</td><td>PCM handle </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code</dd></dl> <p>Closes the specified PCM handle and frees all associated resources. </p> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2latency_8c-example.html#a50">/test/latency.c</a>, <a class="el" href="_2test_2pcm_8c-example.html#a60">/test/pcm.c</a>, and <a class="el" href="_2test_2pcm_min_8c-example.html#a8">/test/pcm_min.c</a>.</dd> </dl> </div> </div> <a class="anchor" id="ga012e8b999070e72ab23514f25e7d6482"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_pcm_delay </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga71cdfa37e258d2210b8bd0216bf0c36c">snd_pcm_sframes_t</a> * </td> <td class="paramname"><em>delayp</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Obtain delay for a running PCM handle. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm</td><td>PCM handle </td></tr> <tr><td class="paramname">delayp</td><td>Returned delay in frames </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code</dd></dl> <p>For playback the delay is defined as the time that a frame that is written to the PCM stream shortly after this call will take to be actually audible. It is as such the overall latency from the write call to the final DAC.</p> <p>For capture the delay is defined as the time that a frame that was digitized by the audio device takes until it can be read from the PCM stream shortly after this call returns. It is as such the overall latency from the initial ADC to the read call.</p> <p>Please note that hence in case of a playback underrun this value will not necessarily got down to 0.</p> <p>If the application is interested in the fill level of the playback buffer of the device, it should use <a class="el" href="group___p_c_m.html#ga577b4d51e08d94930a05bbe73291ed2a" title="Return number of frames ready to be read (capture) / written (playback) ">snd_pcm_avail</a>*() functions. The value returned by that call is not directly related to the delay, since the latter might include some additional, fixed latencies the former does not.</p> <p>Note this function does not update the actual r/w pointer for applications. The function <a class="el" href="group___p_c_m.html#ga8bb836bd0c414b59789d51a5f5379c08" title="Return number of frames ready to be read (capture) / written (playback) ">snd_pcm_avail_update()</a> have to be called before any begin+commit operation.</p> <p>The function is thread-safe when built with the proper option. </p> </div> </div> <a class="anchor" id="ga49afc5b8527f30c33fafa476533c9f86"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_pcm_drain </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Stop a PCM preserving pending frames. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm</td><td>PCM handle </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code </dd></dl> <dl class="retval"><dt>Return values</dt><dd> <table class="retval"> <tr><td class="paramname">-ESTRPIPE</td><td>a suspend event occurred</td></tr> </table> </dd> </dl> <p>For playback wait for all pending frames to be played and then stop the PCM. For capture stop PCM permitting to retrieve residual frames.</p> <p>For stopping the PCM stream immediately, use <a class="el" href="group___p_c_m.html#ga7000ca6010a1a2739daddff8e2fbb440">::snd_pcm_drop()</a> instead.</p> <p>The function is thread-safe when built with the proper option. </p> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2latency_8c-example.html#a47">/test/latency.c</a>.</dd> </dl> </div> </div> <a class="anchor" id="ga7000ca6010a1a2739daddff8e2fbb440"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_pcm_drop </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Stop a PCM dropping pending frames. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm</td><td>PCM handle </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code</dd></dl> <p>This function stops the PCM <em>immediately</em>. The pending samples on the buffer are ignored.</p> <p>For processing all pending samples, use <a class="el" href="group___p_c_m.html#ga49afc5b8527f30c33fafa476533c9f86">::snd_pcm_drain()</a> instead.</p> <p>The function is thread-safe when built with the proper option. </p> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2latency_8c-example.html#a45">/test/latency.c</a>.</dd> </dl> </div> </div> <a class="anchor" id="gad0774fa8991248c6f1c264aaeb0b4207"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group___p_c_m.html#ga71cdfa37e258d2210b8bd0216bf0c36c">snd_pcm_sframes_t</a> snd_pcm_forward </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a> </td> <td class="paramname"><em>frames</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Move application frame position forward. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm</td><td>PCM handle </td></tr> <tr><td class="paramname">frames</td><td>wanted skip in frames </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>a positive number for actual skip otherwise a negative error code </dd></dl> <dl class="retval"><dt>Return values</dt><dd> <table class="retval"> <tr><td class="paramname">0</td><td>means no action</td></tr> </table> </dd> </dl> <p>The function is thread-safe when built with the proper option. </p> </div> </div> <a class="anchor" id="gaa2f506e03630a074130443d7b9c1a27e"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group___p_c_m.html#ga71cdfa37e258d2210b8bd0216bf0c36c">snd_pcm_sframes_t</a> snd_pcm_forwardable </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Get safe count of frames which can be forwarded. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm</td><td>PCM handle </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>a positive number of frames or negative error code</dd></dl> <p>Note: The <a class="el" href="group___p_c_m.html#gad0774fa8991248c6f1c264aaeb0b4207" title="Move application frame position forward. ">snd_pcm_forward()</a> can accept bigger value than returned by this function. But it is not guaranteed that output stream will be consistent with bigger value.</p> <p>The function is thread-safe when built with the proper option. </p> </div> </div> <a class="anchor" id="ga0a131c274594f6266b9a3f980e479e49"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void snd_pcm_free_chmaps </td> <td>(</td> <td class="paramtype"><a class="el" href="structsnd__pcm__chmap__query__t.html">snd_pcm_chmap_query_t</a> ** </td> <td class="paramname"><em>maps</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>!brief Release the channel map array allocated via <a class="el" href="group___p_c_m.html#ga675cb6a0fd5470345105574216a652c2">snd_pcm_query_chmaps</a> </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">maps</td><td>the array pointer to release </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="gac3150e89164f6cb1276abda84b399c72"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structsnd__pcm__chmap__t.html">snd_pcm_chmap_t</a>* snd_pcm_get_chmap </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>!brief Get the current channel map </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm</td><td>PCM instance </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>the current channel map, or NULL if error</dd></dl> <p>Note: the caller is requested to release the returned value via free() </p> </div> </div> <a class="anchor" id="ga2827b8fa77ca05717df9b0447b99d1cd"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_pcm_get_params </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a> * </td> <td class="paramname"><em>buffer_size</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a> * </td> <td class="paramname"><em>period_size</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Get the transfer size parameters in a simple way. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm</td><td>PCM handle </td></tr> <tr><td class="paramname">buffer_size</td><td>PCM ring buffer size in frames </td></tr> <tr><td class="paramname">period_size</td><td>PCM period size in frames </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code </dd></dl> </div> </div> <a class="anchor" id="ga3946abd34178b3de60fd5329b71c189b"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_pcm_htimestamp </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a> * </td> <td class="paramname"><em>avail</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___global.html#ga3a3f5b65c40f498cdbc26944bd9855cf">snd_htimestamp_t</a> * </td> <td class="paramname"><em>tstamp</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Obtain last position update hi-res timestamp. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm</td><td>PCM handle </td></tr> <tr><td class="paramname">avail</td><td>Number of available frames when timestamp was grabbed </td></tr> <tr><td class="paramname">tstamp</td><td>Hi-res timestamp </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code</dd></dl> <p>Note this function does not update the actual r/w pointer for applications.</p> <p>The function is thread-safe when built with the proper option. </p> </div> </div> <a class="anchor" id="ga242ad0a269c272830d30666220edbc2a"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_pcm_hw_free </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Remove PCM hardware configuration and free associated resources. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm</td><td>PCM handle </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code </dd></dl> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2latency_8c-example.html#a49">/test/latency.c</a>.</dd> </dl> </div> </div> <a class="anchor" id="ga1ca0dc120a484965e26cabf966502330"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_pcm_hw_params </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga65c737127994f0a980edad744e36dc40">snd_pcm_hw_params_t</a> * </td> <td class="paramname"><em>params</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Install one PCM hardware configuration chosen from a configuration space and <a class="el" href="group___p_c_m.html#ga788d05de75f2d536f8443cb0306754d0" title="Prepare PCM for use. ">snd_pcm_prepare</a> it. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm</td><td>PCM handle </td></tr> <tr><td class="paramname">params</td><td>Configuration space definition container </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code</dd></dl> <p>The configuration is chosen fixing single parameters in this order: first access, first format, first subformat, min channels, min rate, min period time, max buffer size, min tick time. If no mutually compatible set of parameters can be chosen, a negative error code will be returned.</p> <p>After this call, <a class="el" href="group___p_c_m.html#ga788d05de75f2d536f8443cb0306754d0" title="Prepare PCM for use. ">snd_pcm_prepare()</a> is called automatically and the stream is brought to <code><a class="el" href="group___p_c_m.html#gga61ac499cb3701ce536d4d83725908860a3eb4a3b75c7d2adb22f1829f3f738b27">SND_PCM_STATE_PREPARED</a></code> state.</p> <p>The hardware parameters cannot be changed when the stream is running (active). The software parameters can be changed at any time.</p> <p>The configuration space will be updated to reflect the chosen parameters. </p> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2latency_8c-example.html#a12">/test/latency.c</a>, and <a class="el" href="_2test_2pcm_8c-example.html#a21">/test/pcm.c</a>.</dd> </dl> </div> </div> <a class="anchor" id="gaf8cd01c4c6b79c4a45a2c816fb8fbc5f"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_pcm_hw_params_current </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga65c737127994f0a980edad744e36dc40">snd_pcm_hw_params_t</a> * </td> <td class="paramname"><em>params</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Retreive current PCM hardware configuration chosen with <a class="el" href="group___p_c_m.html#ga1ca0dc120a484965e26cabf966502330" title="Install one PCM hardware configuration chosen from a configuration space and snd_pcm_prepare it...">snd_pcm_hw_params</a>. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm</td><td>PCM handle </td></tr> <tr><td class="paramname">params</td><td>Configuration space definition container </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code </dd></dl> </div> </div> <a class="anchor" id="ga3b71a41f6b300bf63ad374013f19d8d7"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_pcm_hwsync </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>(DEPRECATED) Synchronize stream position with hardware </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm</td><td>PCM handle </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code</dd></dl> <p>Note this function does not update the actual r/w pointer for applications. The function <a class="el" href="group___p_c_m.html#ga8bb836bd0c414b59789d51a5f5379c08" title="Return number of frames ready to be read (capture) / written (playback) ">snd_pcm_avail_update()</a> have to be called before any mmap begin+commit operation.</p> <p>The function is thread-safe when built with the proper option. </p> </div> </div> <a class="anchor" id="gadd9467ca75884292234e4986b329a17f"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_pcm_info </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga7dae86a468480ce8eb1c485446c51664">snd_pcm_info_t</a> * </td> <td class="paramname"><em>info</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Obtain general (static) information for PCM handle. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm</td><td>PCM handle </td></tr> <tr><td class="paramname">info</td><td>Information container </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code </dd></dl> </div> </div> <a class="anchor" id="gac6c33091b049985baa6466e8fe93917e"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_pcm_link </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm2</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Link two PCMs. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm1</td><td>first PCM handle </td></tr> <tr><td class="paramname">pcm2</td><td>first PCM handle </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code</dd></dl> <p>The two PCMs will start/stop/prepare in sync. </p> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2latency_8c-example.html#a41">/test/latency.c</a>.</dd> </dl> </div> </div> <a class="anchor" id="ga5031edc0422df8db1f70af056a12dd77"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char* snd_pcm_name </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>get identifier of PCM handle </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm</td><td>PCM handle </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>ascii identifier of PCM handle</dd></dl> <p>Returns the ASCII identifier of given PCM handle. It's the same identifier specified in <a class="el" href="group___p_c_m.html#ga8340c7dc0ac37f37afe5e7c21d6c528b" title="Opens a PCM. ">snd_pcm_open()</a>. </p> </div> </div> <a class="anchor" id="ga8d9ed4a62c17402de0389fd31fc7dc1f"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_pcm_nonblock </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>nonblock</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>set nonblock mode </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm</td><td>PCM handle </td></tr> <tr><td class="paramname">nonblock</td><td>0 = block, 1 = nonblock mode, 2 = abort </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code</dd></dl> <p>The function is thread-safe when built with the proper option. </p> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2latency_8c-example.html#a46">/test/latency.c</a>.</dd> </dl> </div> </div> <a class="anchor" id="ga8340c7dc0ac37f37afe5e7c21d6c528b"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_pcm_open </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> ** </td> <td class="paramname"><em>pcmp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>name</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___p_c_m.html#gac23b43ff55add78638e503b9cc892c24">snd_pcm_stream_t</a> </td> <td class="paramname"><em>stream</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>mode</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Opens a PCM. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcmp</td><td>Returned PCM handle </td></tr> <tr><td class="paramname">name</td><td>ASCII identifier of the PCM handle </td></tr> <tr><td class="paramname">stream</td><td>Wanted stream </td></tr> <tr><td class="paramname">mode</td><td>Open mode (see <a class="el" href="group___p_c_m.html#ga6bd90de1d1527b5804090dcce51079ad">SND_PCM_NONBLOCK</a>, <a class="el" href="group___p_c_m.html#ga9b22351abf6c85ced128e2088f6f6a5c">SND_PCM_ASYNC</a>) </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code </dd></dl> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2latency_8c-example.html#a37">/test/latency.c</a>, <a class="el" href="_2test_2pcm_8c-example.html#a56">/test/pcm.c</a>, and <a class="el" href="_2test_2pcm_min_8c-example.html#a0">/test/pcm_min.c</a>.</dd> </dl> </div> </div> <a class="anchor" id="ga189a69e31cec0aefa8c124764e99e0bf"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_pcm_open_fallback </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> ** </td> <td class="paramname"><em>pcmp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> * </td> <td class="paramname"><em>root</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>name</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>orig_name</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___p_c_m.html#gac23b43ff55add78638e503b9cc892c24">snd_pcm_stream_t</a> </td> <td class="paramname"><em>stream</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>mode</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Opens a fallback PCM. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcmp</td><td>Returned PCM handle </td></tr> <tr><td class="paramname">root</td><td>Configuration root </td></tr> <tr><td class="paramname">name</td><td>ASCII identifier of the PCM handle </td></tr> <tr><td class="paramname">orig_name</td><td>The original ASCII name </td></tr> <tr><td class="paramname">stream</td><td>Wanted stream </td></tr> <tr><td class="paramname">mode</td><td>Open mode (see <a class="el" href="group___p_c_m.html#ga6bd90de1d1527b5804090dcce51079ad">SND_PCM_NONBLOCK</a>, <a class="el" href="group___p_c_m.html#ga9b22351abf6c85ced128e2088f6f6a5c">SND_PCM_ASYNC</a>) </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code </dd></dl> </div> </div> <a class="anchor" id="ga88164d313d8ff9dc33c94815869cb677"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_pcm_open_lconf </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> ** </td> <td class="paramname"><em>pcmp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>name</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___p_c_m.html#gac23b43ff55add78638e503b9cc892c24">snd_pcm_stream_t</a> </td> <td class="paramname"><em>stream</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>mode</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> * </td> <td class="paramname"><em>lconf</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Opens a PCM using local configuration. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcmp</td><td>Returned PCM handle </td></tr> <tr><td class="paramname">name</td><td>ASCII identifier of the PCM handle </td></tr> <tr><td class="paramname">stream</td><td>Wanted stream </td></tr> <tr><td class="paramname">mode</td><td>Open mode (see <a class="el" href="group___p_c_m.html#ga6bd90de1d1527b5804090dcce51079ad">SND_PCM_NONBLOCK</a>, <a class="el" href="group___p_c_m.html#ga9b22351abf6c85ced128e2088f6f6a5c">SND_PCM_ASYNC</a>) </td></tr> <tr><td class="paramname">lconf</td><td>Local configuration </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code </dd></dl> </div> </div> <a class="anchor" id="gad711b582c7066bd4fffa1d08a04316b5"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_pcm_pause </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>enable</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Pause/resume PCM. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm</td><td>PCM handle </td></tr> <tr><td class="paramname">enable</td><td>0 = resume, 1 = pause </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code</dd></dl> <p>Note that this function works only on the hardware which supports pause feature. You can check it via <a class="el" href="group___p_c_m___h_w___params.html#gaad4ba98b2f66baa5360b9a85f064a3e9">::snd_pcm_hw_params_can_pause()</a> function.</p> <p>The function is thread-safe when built with the proper option. </p> </div> </div> <a class="anchor" id="ga742e8705f6992fd0e36efc868e574f01"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_pcm_poll_descriptors </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct pollfd * </td> <td class="paramname"><em>pfds</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"><em>space</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>get poll descriptors </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm</td><td>PCM handle </td></tr> <tr><td class="paramname">pfds</td><td>array of poll descriptors </td></tr> <tr><td class="paramname">space</td><td>space in the poll descriptor array </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>count of filled descriptors</dd></dl> <p>This function fills the given poll descriptor structs for the specified PCM handle. The poll desctiptor array should have the size returned by <a class="el" href="group___p_c_m.html#gac7f4cdb1c930b8d343714f60afa02fc4">::snd_pcm_poll_descriptors_count()</a> function.</p> <p>The result is intended for direct use with the poll() syscall.</p> <p>For reading the returned events of poll descriptor after poll() system call, use <a class="el" href="group___p_c_m.html#ga7e561f305702c6f52dab49b6c84f7df7">::snd_pcm_poll_descriptors_revents()</a> function. The field values in pollfd structs may be bogus regarding the stream direction from the application perspective (POLLIN might not imply read direction and POLLOUT might not imply write), but the <a class="el" href="group___p_c_m.html#ga7e561f305702c6f52dab49b6c84f7df7">::snd_pcm_poll_descriptors_revents()</a> function does the right "demangling".</p> <p>You can use output from this function as arguments for the select() syscall, too. Do not forget to translate POLLIN and POLLOUT events to corresponding FD_SET arrays and demangle events using <a class="el" href="group___p_c_m.html#ga7e561f305702c6f52dab49b6c84f7df7">::snd_pcm_poll_descriptors_revents()</a> .</p> <p>The function is thread-safe when built with the proper option. </p> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2pcm_8c-example.html#a33">/test/pcm.c</a>.</dd> </dl> </div> </div> <a class="anchor" id="gac7f4cdb1c930b8d343714f60afa02fc4"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_pcm_poll_descriptors_count </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>get count of poll descriptors for PCM handle </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm</td><td>PCM handle </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>count of poll descriptors</dd></dl> <p>The function is thread-safe when built with the proper option. </p> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2pcm_8c-example.html#a32">/test/pcm.c</a>.</dd> </dl> </div> </div> <a class="anchor" id="ga7e561f305702c6f52dab49b6c84f7df7"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_pcm_poll_descriptors_revents </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct pollfd * </td> <td class="paramname"><em>pfds</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"><em>nfds</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned short * </td> <td class="paramname"><em>revents</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>get returned events from poll descriptors </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm</td><td>PCM handle </td></tr> <tr><td class="paramname">pfds</td><td>array of poll descriptors </td></tr> <tr><td class="paramname">nfds</td><td>count of poll descriptors </td></tr> <tr><td class="paramname">revents</td><td>pointer to the returned (single) event </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>zero if success, otherwise a negative error code</dd></dl> <p>This function does "demangling" of the revents mask returned from the poll() syscall to correct semantics (POLLIN = read, POLLOUT = write).</p> <p>Note: The null event also exists. Even if poll() or select() syscall returned that some events are waiting, this function might return empty set of events. In this case, application should do next event waiting using poll() or select().</p> <p>Note: Even if multiple poll descriptors are used (i.e. pfds > 1), this function returns only a single event.</p> <p>The function is thread-safe when built with the proper option. </p> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2pcm_8c-example.html#a31">/test/pcm.c</a>.</dd> </dl> </div> </div> <a class="anchor" id="ga788d05de75f2d536f8443cb0306754d0"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_pcm_prepare </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Prepare PCM for use. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm</td><td>PCM handle </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code</dd></dl> <p>The function is thread-safe when built with the proper option. </p> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2latency_8c-example.html#a23">/test/latency.c</a>, and <a class="el" href="_2test_2pcm_8c-example.html#a27">/test/pcm.c</a>.</dd> </dl> </div> </div> <a class="anchor" id="ga675cb6a0fd5470345105574216a652c2"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structsnd__pcm__chmap__query__t.html">snd_pcm_chmap_query_t</a>** snd_pcm_query_chmaps </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>!brief Query the available channel maps </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm</td><td>PCM handle to query </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>the NULL-terminated array of integer pointers, each of which contains the channel map. A channel map is represented by an integer array, beginning with the channel map type, followed by the number of channels, and the position of each channel.</dd></dl> <p>Note: the caller is requested to release the returned value via <a class="el" href="group___p_c_m.html#ga0a131c274594f6266b9a3f980e479e49">snd_pcm_free_chmaps()</a>. </p> </div> </div> <a class="anchor" id="gae766a086ec64ec1189a87da3e54b8441"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structsnd__pcm__chmap__query__t.html">snd_pcm_chmap_query_t</a>** snd_pcm_query_chmaps_from_hw </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>card</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>dev</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>subdev</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___p_c_m.html#gac23b43ff55add78638e503b9cc892c24">snd_pcm_stream_t</a> </td> <td class="paramname"><em>stream</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>!brief Query the available channel maps </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">card</td><td>the card number </td></tr> <tr><td class="paramname">dev</td><td>the PCM device number </td></tr> <tr><td class="paramname">subdev</td><td>the PCM substream index </td></tr> <tr><td class="paramname">stream</td><td>the direction of PCM stream </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>the NULL-terminated array of integer pointers, or NULL at error.</dd></dl> <p>This function works like <a class="el" href="group___p_c_m.html#ga675cb6a0fd5470345105574216a652c2">snd_pcm_query_chmaps()</a> but it takes the card, device, substream and stream numbers instead of the already opened snd_pcm_t instance, so that you can query available channel maps of a PCM before actually opening it.</p> <p>As the parameters stand, the query is performed only to the hw PCM devices, not the abstracted PCM object in alsa-lib. </p> </div> </div> <a class="anchor" id="ga4c2c7bd26cf221268d59dc3bbeb9c048"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group___p_c_m.html#ga71cdfa37e258d2210b8bd0216bf0c36c">snd_pcm_sframes_t</a> snd_pcm_readi </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>buffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a> </td> <td class="paramname"><em>size</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Read interleaved frames from a PCM. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm</td><td>PCM handle </td></tr> <tr><td class="paramname">buffer</td><td>frames containing buffer </td></tr> <tr><td class="paramname">size</td><td>frames to be read </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>a positive number of frames actually read otherwise a negative error code </dd></dl> <dl class="retval"><dt>Return values</dt><dd> <table class="retval"> <tr><td class="paramname">-EBADFD</td><td>PCM is not in the right state (<a class="el" href="group___p_c_m.html#gga61ac499cb3701ce536d4d83725908860a3eb4a3b75c7d2adb22f1829f3f738b27">SND_PCM_STATE_PREPARED</a> or <a class="el" href="group___p_c_m.html#gga61ac499cb3701ce536d4d83725908860a86f6fbc796881f19fde0e1957f878147">SND_PCM_STATE_RUNNING</a>) </td></tr> <tr><td class="paramname">-EPIPE</td><td>an overrun occurred </td></tr> <tr><td class="paramname">-ESTRPIPE</td><td>a suspend event occurred (stream is suspended and waiting for an application recovery)</td></tr> </table> </dd> </dl> <p>If the blocking behaviour was selected and it is running, then routine waits until all requested frames are filled. The returned number of frames can be less only if a signal or underrun occurred.</p> <p>If the non-blocking behaviour is selected, then routine doesn't wait at all.</p> <p>The function is thread-safe when built with the proper option. </p> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2latency_8c-example.html#a30">/test/latency.c</a>.</dd> </dl> </div> </div> <a class="anchor" id="gafea175455f1a405f633a43484ded3d8a"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group___p_c_m.html#ga71cdfa37e258d2210b8bd0216bf0c36c">snd_pcm_sframes_t</a> snd_pcm_readn </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void ** </td> <td class="paramname"><em>bufs</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a> </td> <td class="paramname"><em>size</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Read non interleaved frames to a PCM. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm</td><td>PCM handle </td></tr> <tr><td class="paramname">bufs</td><td>frames containing buffers (one for each channel) </td></tr> <tr><td class="paramname">size</td><td>frames to be read </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>a positive number of frames actually read otherwise a negative error code </dd></dl> <dl class="retval"><dt>Return values</dt><dd> <table class="retval"> <tr><td class="paramname">-EBADFD</td><td>PCM is not in the right state (<a class="el" href="group___p_c_m.html#gga61ac499cb3701ce536d4d83725908860a3eb4a3b75c7d2adb22f1829f3f738b27">SND_PCM_STATE_PREPARED</a> or <a class="el" href="group___p_c_m.html#gga61ac499cb3701ce536d4d83725908860a86f6fbc796881f19fde0e1957f878147">SND_PCM_STATE_RUNNING</a>) </td></tr> <tr><td class="paramname">-EPIPE</td><td>an overrun occurred </td></tr> <tr><td class="paramname">-ESTRPIPE</td><td>a suspend event occurred (stream is suspended and waiting for an application recovery)</td></tr> </table> </dd> </dl> <p>If the blocking behaviour was selected and it is running, then routine waits until all requested frames are filled. The returned number of frames can be less only if a signal or underrun occurred.</p> <p>If the non-blocking behaviour is selected, then routine doesn't wait at all.</p> <p>The function is thread-safe when built with the proper option. </p> </div> </div> <a class="anchor" id="ga2157aaeb6fc14da3f040d76591f9d3b1"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_pcm_recover </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>err</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>silent</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Recover the stream state from an error or suspend. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm</td><td>PCM handle </td></tr> <tr><td class="paramname">err</td><td>error number </td></tr> <tr><td class="paramname">silent</td><td>do not print error reason </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 when error code was handled successfuly, otherwise a negative error code</dd></dl> <p>This a high-level helper function building on other functions.</p> <p>This functions handles -EINTR (interrupted system call), -EPIPE (overrun or underrun) and -ESTRPIPE (stream is suspended) error codes trying to prepare given stream for next I/O.</p> <p>Note that this function returs the original error code when it is not handled inside this function (for example -EAGAIN is returned back). </p> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2pcm_min_8c-example.html#a7">/test/pcm_min.c</a>.</dd> </dl> </div> </div> <a class="anchor" id="ga390e084f13d24244196aca64262ce3fc"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_pcm_reset </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Reset PCM position. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm</td><td>PCM handle </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code</dd></dl> <p>Reduce PCM delay to 0.</p> <p>The function is thread-safe when built with the proper option. </p> </div> </div> <a class="anchor" id="ga13083ce2209aab9ea73831610bc61ab1"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_pcm_resume </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Resume from suspend, no samples are lost. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm</td><td>PCM handle </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code </dd></dl> <dl class="retval"><dt>Return values</dt><dd> <table class="retval"> <tr><td class="paramname">-EAGAIN</td><td>resume can't be proceed immediately (audio hardware is probably still suspended) </td></tr> <tr><td class="paramname">-ENOSYS</td><td>hardware doesn't support this feature</td></tr> </table> </dd> </dl> <p>This function can be used when the stream is in the suspend state to do the fine resume from this state. Not all hardware supports this feature, when an -ENOSYS error is returned, use the <a class="el" href="group___p_c_m.html#ga788d05de75f2d536f8443cb0306754d0">::snd_pcm_prepare()</a> function to recovery.</p> <p>The function is thread-safe when built with the proper option. </p> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2pcm_8c-example.html#a28">/test/pcm.c</a>.</dd> </dl> </div> </div> <a class="anchor" id="ga6c66040dbe01797379436fdf36268fec"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group___p_c_m.html#ga71cdfa37e258d2210b8bd0216bf0c36c">snd_pcm_sframes_t</a> snd_pcm_rewind </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a> </td> <td class="paramname"><em>frames</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Move application frame position backward. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm</td><td>PCM handle </td></tr> <tr><td class="paramname">frames</td><td>wanted displacement in frames </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>a positive number for actual displacement otherwise a negative error code</dd></dl> <p>The function is thread-safe when built with the proper option. </p> </div> </div> <a class="anchor" id="ga0ea7a8aade4e6e76f2cdfd8c85f37bd0"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group___p_c_m.html#ga71cdfa37e258d2210b8bd0216bf0c36c">snd_pcm_sframes_t</a> snd_pcm_rewindable </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Get safe count of frames which can be rewinded. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm</td><td>PCM handle </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>a positive number of frames or negative error code</dd></dl> <p>Note: The <a class="el" href="group___p_c_m.html#ga6c66040dbe01797379436fdf36268fec" title="Move application frame position backward. ">snd_pcm_rewind()</a> can accept bigger value than returned by this function. But it is not guaranteed that output stream will be consistent with bigger value.</p> <p>The function is thread-safe when built with the proper option. </p> </div> </div> <a class="anchor" id="ga60ee7d2c2555e21dbc844a1b73839085"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_pcm_set_chmap </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="structsnd__pcm__chmap__t.html">snd_pcm_chmap_t</a> * </td> <td class="paramname"><em>map</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>!brief Configure the current channel map </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm</td><td>PCM instance </td></tr> <tr><td class="paramname">map</td><td>the channel map to write </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>zero if succeeded, or a negative error code </dd></dl> </div> </div> <a class="anchor" id="ga45d50841b307f2156fce1857bfac228c"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_pcm_set_params </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___p_c_m.html#gaa14b7f26877a812acbb39811364177f8">snd_pcm_format_t</a> </td> <td class="paramname"><em>format</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga661221ba5e8f1d6eaf4ab8e2da57cc1a">snd_pcm_access_t</a> </td> <td class="paramname"><em>access</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"><em>channels</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"><em>rate</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>soft_resample</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"><em>latency</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Set the hardware and software parameters in a simple way. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm</td><td>PCM handle </td></tr> <tr><td class="paramname">format</td><td>required PCM format </td></tr> <tr><td class="paramname">access</td><td>required PCM access </td></tr> <tr><td class="paramname">channels</td><td>required PCM channels </td></tr> <tr><td class="paramname">rate</td><td>required sample rate in Hz </td></tr> <tr><td class="paramname">soft_resample</td><td>0 = disallow alsa-lib resample stream, 1 = allow resampling </td></tr> <tr><td class="paramname">latency</td><td>required overall latency in us </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code </dd></dl> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2pcm_min_8c-example.html#a3">/test/pcm_min.c</a>.</dd> </dl> </div> </div> <a class="anchor" id="ga6bdb88b68a9d9e66015d770f600c6aea"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_pcm_start </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Start a PCM. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm</td><td>PCM handle </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code</dd></dl> <p>The function is thread-safe when built with the proper option. </p> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2latency_8c-example.html#a43">/test/latency.c</a>, and <a class="el" href="_2test_2pcm_8c-example.html#a43">/test/pcm.c</a>.</dd> </dl> </div> </div> <a class="anchor" id="ga87896f6f17020fc19835790369e7ce75"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group___p_c_m.html#ga61ac499cb3701ce536d4d83725908860">snd_pcm_state_t</a> snd_pcm_state </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Return PCM state. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm</td><td>PCM handle </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>PCM state <a class="el" href="group___p_c_m.html#ga61ac499cb3701ce536d4d83725908860">snd_pcm_state_t</a> of given PCM handle</dd></dl> <p>This is a faster way to obtain only the PCM state without calling <a class="el" href="group___p_c_m.html#ga32891eaac37741728a9b23027012c892">::snd_pcm_status()</a>.</p> <p>The function is thread-safe when built with the proper option. </p> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2pcm_8c-example.html#a34">/test/pcm.c</a>.</dd> </dl> </div> </div> <a class="anchor" id="ga32891eaac37741728a9b23027012c892"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_pcm_status </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga902b87281c46910b469d5f7aaafc1890">snd_pcm_status_t</a> * </td> <td class="paramname"><em>status</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Obtain status (runtime) information for PCM handle. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm</td><td>PCM handle </td></tr> <tr><td class="paramname">status</td><td>Status container </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code</dd></dl> <p>The function is thread-safe when built with the proper option. </p> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2latency_8c-example.html#a26">/test/latency.c</a>.</dd> </dl> </div> </div> <a class="anchor" id="ga8eea4a021a114ecc3e8f6d80901faf46"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group___p_c_m.html#gac23b43ff55add78638e503b9cc892c24">snd_pcm_stream_t</a> snd_pcm_stream </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>get stream for a PCM handle </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm</td><td>PCM handle </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>stream of PCM handle</dd></dl> <p>Returns the type <a class="el" href="group___p_c_m.html#gac23b43ff55add78638e503b9cc892c24">snd_pcm_stream_t</a> of given PCM handle. </p> </div> </div> <a class="anchor" id="ga891ccaeea2c685a533b61b5fa0493974"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_pcm_sw_params </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> * </td> <td class="paramname"><em>params</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Install PCM software configuration defined by params. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm</td><td>PCM handle </td></tr> <tr><td class="paramname">params</td><td>Configuration container </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code</dd></dl> <p>The software parameters can be changed at any time. The hardware parameters cannot be changed when the stream is running (active).</p> <p>The function is thread-safe when built with the proper option. </p> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2latency_8c-example.html#a17">/test/latency.c</a>, and <a class="el" href="_2test_2pcm_8c-example.html#a26">/test/pcm.c</a>.</dd> </dl> </div> </div> <a class="anchor" id="ga61c5495ffb44c75aaa595e85512d28de"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_pcm_sw_params_current </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga7e082d9ea701709270b0674a0be23b09">snd_pcm_sw_params_t</a> * </td> <td class="paramname"><em>params</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Return current software configuration for a PCM. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm</td><td>PCM handle </td></tr> <tr><td class="paramname">params</td><td>Software configuration container </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code</dd></dl> <p>The function is thread-safe when built with the proper option. </p> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2latency_8c-example.html#a13">/test/latency.c</a>, and <a class="el" href="_2test_2pcm_8c-example.html#a22">/test/pcm.c</a>.</dd> </dl> </div> </div> <a class="anchor" id="gaa7cf89c3f83d83aaa0248055a783b632"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group___p_c_m.html#gaca6314f46f54a0b62536c403bbb62601">snd_pcm_type_t</a> snd_pcm_type </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>get type of PCM handle </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm</td><td>PCM handle </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>type of PCM handle</dd></dl> <p>Returns the type <a class="el" href="group___p_c_m.html#gaca6314f46f54a0b62536c403bbb62601">snd_pcm_type_t</a> of given PCM handle. </p> </div> </div> <a class="anchor" id="ga0d3af5e30593dae857b4308aab5035cd"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_pcm_unlink </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Remove a PCM from a linked group. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm</td><td>PCM handle </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success otherwise a negative error code </dd></dl> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2latency_8c-example.html#a48">/test/latency.c</a>.</dd> </dl> </div> </div> <a class="anchor" id="gad4d53d58b996a7cd9a5cbf1710b90375"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int snd_pcm_wait </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>timeout</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Wait for a PCM to become ready. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm</td><td>PCM handle </td></tr> <tr><td class="paramname">timeout</td><td>maximum time in milliseconds to wait, a negative value means infinity </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>a positive value on success otherwise a negative error code (-EPIPE for the xrun and -ESTRPIPE for the suspended status, others for general errors) </dd></dl> <dl class="retval"><dt>Return values</dt><dd> <table class="retval"> <tr><td class="paramname">0</td><td>timeout occurred </td></tr> <tr><td class="paramname">1</td><td>PCM stream is ready for I/O</td></tr> </table> </dd> </dl> <p>The function is thread-safe when built with the proper option. </p> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2latency_8c-example.html#a44">/test/latency.c</a>, and <a class="el" href="_2test_2pcm_8c-example.html#a46">/test/pcm.c</a>.</dd> </dl> </div> </div> <a class="anchor" id="gabc748a500743713eafa960c7d104ca6f"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group___p_c_m.html#ga71cdfa37e258d2210b8bd0216bf0c36c">snd_pcm_sframes_t</a> snd_pcm_writei </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const void * </td> <td class="paramname"><em>buffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a> </td> <td class="paramname"><em>size</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Write interleaved frames to a PCM. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm</td><td>PCM handle </td></tr> <tr><td class="paramname">buffer</td><td>frames containing buffer </td></tr> <tr><td class="paramname">size</td><td>frames to be written </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>a positive number of frames actually written otherwise a negative error code </dd></dl> <dl class="retval"><dt>Return values</dt><dd> <table class="retval"> <tr><td class="paramname">-EBADFD</td><td>PCM is not in the right state (<a class="el" href="group___p_c_m.html#gga61ac499cb3701ce536d4d83725908860a3eb4a3b75c7d2adb22f1829f3f738b27">SND_PCM_STATE_PREPARED</a> or <a class="el" href="group___p_c_m.html#gga61ac499cb3701ce536d4d83725908860a86f6fbc796881f19fde0e1957f878147">SND_PCM_STATE_RUNNING</a>) </td></tr> <tr><td class="paramname">-EPIPE</td><td>an underrun occurred </td></tr> <tr><td class="paramname">-ESTRPIPE</td><td>a suspend event occurred (stream is suspended and waiting for an application recovery)</td></tr> </table> </dd> </dl> <p>If the blocking behaviour is selected and it is running, then routine waits until all requested frames are played or put to the playback ring buffer. The returned number of frames can be less only if a signal or underrun occurred.</p> <p>If the non-blocking behaviour is selected, then routine doesn't wait at all.</p> <p>The function is thread-safe when built with the proper option. </p> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="_2test_2latency_8c-example.html#a32">/test/latency.c</a>, <a class="el" href="_2test_2pcm_8c-example.html#a30">/test/pcm.c</a>, and <a class="el" href="_2test_2pcm_min_8c-example.html#a6">/test/pcm_min.c</a>.</dd> </dl> </div> </div> <a class="anchor" id="gae599772ce3d0aa6a70de143abcf145e7"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group___p_c_m.html#ga71cdfa37e258d2210b8bd0216bf0c36c">snd_pcm_sframes_t</a> snd_pcm_writen </td> <td>(</td> <td class="paramtype"><a class="el" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> * </td> <td class="paramname"><em>pcm</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void ** </td> <td class="paramname"><em>bufs</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___p_c_m.html#gab01fcfe9b97382a8d3f2027c664b8b8a">snd_pcm_uframes_t</a> </td> <td class="paramname"><em>size</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Write non interleaved frames to a PCM. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pcm</td><td>PCM handle </td></tr> <tr><td class="paramname">bufs</td><td>frames containing buffers (one for each channel) </td></tr> <tr><td class="paramname">size</td><td>frames to be written </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>a positive number of frames actually written otherwise a negative error code </dd></dl> <dl class="retval"><dt>Return values</dt><dd> <table class="retval"> <tr><td class="paramname">-EBADFD</td><td>PCM is not in the right state (<a class="el" href="group___p_c_m.html#gga61ac499cb3701ce536d4d83725908860a3eb4a3b75c7d2adb22f1829f3f738b27">SND_PCM_STATE_PREPARED</a> or <a class="el" href="group___p_c_m.html#gga61ac499cb3701ce536d4d83725908860a86f6fbc796881f19fde0e1957f878147">SND_PCM_STATE_RUNNING</a>) </td></tr> <tr><td class="paramname">-EPIPE</td><td>an underrun occurred </td></tr> <tr><td class="paramname">-ESTRPIPE</td><td>a suspend event occurred (stream is suspended and waiting for an application recovery)</td></tr> </table> </dd> </dl> <p>If the blocking behaviour is selected and it is running, then routine waits until all requested frames are played or put to the playback ring buffer. The returned number of frames can be less only if a signal or underrun occurred.</p> <p>If the non-blocking behaviour is selected, then routine doesn't wait at all.</p> <p>The function is thread-safe when built with the proper option. </p> </div> </div> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.5 </small></address> </body> </html>