File Coverage

blib/lib/Audio/OSS/Constants.pm
Criterion Covered Total %
statement 11 12 91.6
branch n/a
condition n/a
subroutine 4 5 80.0
pod 0 1 0.0
total 15 18 83.3


line stmt bran cond sub pod time code
1             package Audio::OSS;
2 1     1   4 use strict;
  1         1  
  1         27  
3 1     1   5 use vars qw(@EXPORT_OK %EXPORT_TAGS @CONSTANTS);
  1         1  
  1         498  
4             push @EXPORT_OK, qw(
5             DSP_CAP_REVISION
6             DSP_CAP_DUPLEX
7             DSP_CAP_REALTIME
8             DSP_CAP_BATCH
9             DSP_CAP_COPROC
10             DSP_CAP_TRIGGER
11             DSP_CAP_MMAP
12             DSP_CAP_MULTI
13             DSP_CAP_BIND
14             SOUND_MIXER_NRDEVICES
15             SOUND_MIXER_VOLUME
16             SOUND_MIXER_BASS
17             SOUND_MIXER_TREBLE
18             SOUND_MIXER_SYNTH
19             SOUND_MIXER_PCM
20             SOUND_MIXER_SPEAKER
21             SOUND_MIXER_LINE
22             SOUND_MIXER_MIC
23             SOUND_MIXER_CD
24             SOUND_MIXER_IMIX
25             SOUND_MIXER_ALTPCM
26             SOUND_MIXER_RECLEV
27             SOUND_MIXER_IGAIN
28             SOUND_MIXER_OGAIN
29             SOUND_MIXER_LINE1
30             SOUND_MIXER_LINE2
31             SOUND_MIXER_LINE3
32             SOUND_MIXER_DIGITAL1
33             SOUND_MIXER_DIGITAL2
34             SOUND_MIXER_DIGITAL3
35             SOUND_MIXER_PHONEIN
36             SOUND_MIXER_PHONEOUT
37             SOUND_MIXER_VIDEO
38             SOUND_MIXER_RADIO
39             SOUND_MIXER_MONITOR
40             SOUND_MIXER_NONE
41             SOUND_ONOFF_MIN
42             SOUND_ONOFF_MAX
43             SOUND_MIXER_RECSRC
44             SOUND_MIXER_DEVMASK
45             SOUND_MIXER_RECMASK
46             SOUND_MIXER_CAPS
47             SOUND_CAP_EXCL_INPUT
48             SOUND_MIXER_STEREODEVS
49             SOUND_MIXER_OUTSRC
50             SOUND_MIXER_OUTMASK
51             PCM_ENABLE_INPUT
52             PCM_ENABLE_OUTPUT
53             APF_NORMAL
54             APF_NETWORK
55             APF_CPUINTENS
56             DSP_BIND_QUERY
57             DSP_BIND_FRONT
58             DSP_BIND_SURR
59             DSP_BIND_CENTER_LFE
60             DSP_BIND_HANDSET
61             DSP_BIND_MIC
62             DSP_BIND_MODEM1
63             DSP_BIND_MODEM2
64             DSP_BIND_I2S
65             DSP_BIND_SPDIF
66             SNDCTL_DSP_RESET
67             SNDCTL_DSP_SYNC
68             SNDCTL_DSP_SPEED
69             SNDCTL_DSP_STEREO
70             SNDCTL_DSP_GETBLKSIZE
71             SNDCTL_DSP_SAMPLESIZE
72             SNDCTL_DSP_CHANNELS
73             SNDCTL_DSP_POST
74             SNDCTL_DSP_SUBDIVIDE
75             SNDCTL_DSP_SETFRAGMENT
76             SNDCTL_DSP_GETOSPACE
77             SNDCTL_DSP_GETISPACE
78             SNDCTL_DSP_NONBLOCK
79             SNDCTL_DSP_GETCAPS
80             SNDCTL_DSP_GETFMTS
81             SNDCTL_DSP_SETFMT
82             SNDCTL_DSP_GETTRIGGER
83             SNDCTL_DSP_SETTRIGGER
84             SNDCTL_DSP_GETIPTR
85             SNDCTL_DSP_GETOPTR
86             SNDCTL_DSP_MAPINBUF
87             SNDCTL_DSP_MAPOUTBUF
88             SNDCTL_DSP_SETSYNCRO
89             SNDCTL_DSP_SETDUPLEX
90             SNDCTL_DSP_GETODELAY
91             SNDCTL_DSP_GETCHANNELMASK
92             SNDCTL_DSP_BIND_CHANNEL
93             SNDCTL_DSP_PROFILE
94             SOUND_PCM_READ_RATE
95             SOUND_PCM_READ_CHANNELS
96             SOUND_PCM_READ_BITS
97             SOUND_PCM_READ_FILTER
98             SOUND_MIXER_READ_VOLUME
99             SOUND_MIXER_READ_RECSRC
100             SOUND_MIXER_READ_DEVMASK
101             SOUND_MIXER_READ_RECMASK
102             SOUND_MIXER_READ_STEREODEVS
103             SOUND_MIXER_READ_CAPS
104             SOUND_MIXER_WRITE_VOLUME
105             SOUND_MIXER_WRITE_RECSRC
106             SOUND_MIXER_INFO
107             SOUND_MIXER_AGC
108             SOUND_MIXER_3DSE
109             SOUND_MIXER_PRIVATE1
110             SOUND_MIXER_PRIVATE2
111             SOUND_MIXER_PRIVATE3
112             SOUND_MIXER_PRIVATE4
113             SOUND_MIXER_PRIVATE5
114             SOUND_MIXER_GETLEVELS
115             SOUND_MIXER_SETLEVELS
116             OSS_GETVERSION
117             AFMT_QUERY
118             AFMT_MU_LAW
119             AFMT_A_LAW
120             AFMT_IMA_ADPCM
121             AFMT_U8
122             AFMT_S16_LE
123             AFMT_S16_BE
124             AFMT_S16_NE
125             AFMT_S8
126             AFMT_U16_LE
127             AFMT_U16_BE
128             AFMT_MPEG
129             AFMT_AC3
130             );
131             $EXPORT_TAGS{'caps'} = [qw(
132             DSP_CAP_REVISION
133             DSP_CAP_DUPLEX
134             DSP_CAP_REALTIME
135             DSP_CAP_BATCH
136             DSP_CAP_COPROC
137             DSP_CAP_TRIGGER
138             DSP_CAP_MMAP
139             DSP_CAP_MULTI
140             DSP_CAP_BIND
141             )];
142             $EXPORT_TAGS{'mixer'} = [qw(
143             SOUND_MIXER_NRDEVICES
144             SOUND_MIXER_VOLUME
145             SOUND_MIXER_BASS
146             SOUND_MIXER_TREBLE
147             SOUND_MIXER_SYNTH
148             SOUND_MIXER_PCM
149             SOUND_MIXER_SPEAKER
150             SOUND_MIXER_LINE
151             SOUND_MIXER_MIC
152             SOUND_MIXER_CD
153             SOUND_MIXER_IMIX
154             SOUND_MIXER_ALTPCM
155             SOUND_MIXER_RECLEV
156             SOUND_MIXER_IGAIN
157             SOUND_MIXER_OGAIN
158             SOUND_MIXER_LINE1
159             SOUND_MIXER_LINE2
160             SOUND_MIXER_LINE3
161             SOUND_MIXER_DIGITAL1
162             SOUND_MIXER_DIGITAL2
163             SOUND_MIXER_DIGITAL3
164             SOUND_MIXER_PHONEIN
165             SOUND_MIXER_PHONEOUT
166             SOUND_MIXER_VIDEO
167             SOUND_MIXER_RADIO
168             SOUND_MIXER_MONITOR
169             SOUND_MIXER_NONE
170             SOUND_ONOFF_MIN
171             SOUND_ONOFF_MAX
172             SOUND_MIXER_RECSRC
173             SOUND_MIXER_DEVMASK
174             SOUND_MIXER_RECMASK
175             SOUND_MIXER_CAPS
176             SOUND_CAP_EXCL_INPUT
177             SOUND_MIXER_STEREODEVS
178             SOUND_MIXER_OUTSRC
179             SOUND_MIXER_OUTMASK
180             )];
181             $EXPORT_TAGS{'misc'} = [qw(
182             PCM_ENABLE_INPUT
183             PCM_ENABLE_OUTPUT
184             APF_NORMAL
185             APF_NETWORK
186             APF_CPUINTENS
187             )];
188             $EXPORT_TAGS{'bind'} = [qw(
189             DSP_BIND_QUERY
190             DSP_BIND_FRONT
191             DSP_BIND_SURR
192             DSP_BIND_CENTER_LFE
193             DSP_BIND_HANDSET
194             DSP_BIND_MIC
195             DSP_BIND_MODEM1
196             DSP_BIND_MODEM2
197             DSP_BIND_I2S
198             DSP_BIND_SPDIF
199             )];
200             $EXPORT_TAGS{'ioctls'} = [qw(
201             SNDCTL_DSP_RESET
202             SNDCTL_DSP_SYNC
203             SNDCTL_DSP_SPEED
204             SNDCTL_DSP_STEREO
205             SNDCTL_DSP_GETBLKSIZE
206             SNDCTL_DSP_SAMPLESIZE
207             SNDCTL_DSP_CHANNELS
208             SNDCTL_DSP_POST
209             SNDCTL_DSP_SUBDIVIDE
210             SNDCTL_DSP_SETFRAGMENT
211             SNDCTL_DSP_GETOSPACE
212             SNDCTL_DSP_GETISPACE
213             SNDCTL_DSP_NONBLOCK
214             SNDCTL_DSP_GETCAPS
215             SNDCTL_DSP_GETFMTS
216             SNDCTL_DSP_SETFMT
217             SNDCTL_DSP_GETTRIGGER
218             SNDCTL_DSP_SETTRIGGER
219             SNDCTL_DSP_GETIPTR
220             SNDCTL_DSP_GETOPTR
221             SNDCTL_DSP_MAPINBUF
222             SNDCTL_DSP_MAPOUTBUF
223             SNDCTL_DSP_SETSYNCRO
224             SNDCTL_DSP_SETDUPLEX
225             SNDCTL_DSP_GETODELAY
226             SNDCTL_DSP_GETCHANNELMASK
227             SNDCTL_DSP_BIND_CHANNEL
228             SNDCTL_DSP_PROFILE
229             SOUND_PCM_READ_RATE
230             SOUND_PCM_READ_CHANNELS
231             SOUND_PCM_READ_BITS
232             SOUND_PCM_READ_FILTER
233             SOUND_MIXER_READ_VOLUME
234             SOUND_MIXER_READ_RECSRC
235             SOUND_MIXER_READ_DEVMASK
236             SOUND_MIXER_READ_RECMASK
237             SOUND_MIXER_READ_STEREODEVS
238             SOUND_MIXER_READ_CAPS
239             SOUND_MIXER_WRITE_VOLUME
240             SOUND_MIXER_WRITE_RECSRC
241             SOUND_MIXER_INFO
242             SOUND_MIXER_AGC
243             SOUND_MIXER_3DSE
244             SOUND_MIXER_PRIVATE1
245             SOUND_MIXER_PRIVATE2
246             SOUND_MIXER_PRIVATE3
247             SOUND_MIXER_PRIVATE4
248             SOUND_MIXER_PRIVATE5
249             SOUND_MIXER_GETLEVELS
250             SOUND_MIXER_SETLEVELS
251             OSS_GETVERSION
252             )];
253             $EXPORT_TAGS{'formats'} = [qw(
254             AFMT_QUERY
255             AFMT_MU_LAW
256             AFMT_A_LAW
257             AFMT_IMA_ADPCM
258             AFMT_U8
259             AFMT_S16_LE
260             AFMT_S16_BE
261             AFMT_S16_NE
262             AFMT_S8
263             AFMT_U16_LE
264             AFMT_U16_BE
265             AFMT_MPEG
266             AFMT_AC3
267             )];
268             @CONSTANTS = (
269             [ DSP_CAP_REVISION => 0x000000ff ],
270             [ DSP_CAP_DUPLEX => 0x00000100 ],
271             [ DSP_CAP_REALTIME => 0x00000200 ],
272             [ DSP_CAP_BATCH => 0x00000400 ],
273             [ DSP_CAP_COPROC => 0x00000800 ],
274             [ DSP_CAP_TRIGGER => 0x00001000 ],
275             [ DSP_CAP_MMAP => 0x00002000 ],
276             [ DSP_CAP_MULTI => 0x00004000 ],
277             [ DSP_CAP_BIND => 0x00008000 ],
278             [ SOUND_MIXER_NRDEVICES => 0x00000019 ],
279             [ SOUND_MIXER_VOLUME => 0x00000000 ],
280             [ SOUND_MIXER_BASS => 0x00000001 ],
281             [ SOUND_MIXER_TREBLE => 0x00000002 ],
282             [ SOUND_MIXER_SYNTH => 0x00000003 ],
283             [ SOUND_MIXER_PCM => 0x00000004 ],
284             [ SOUND_MIXER_SPEAKER => 0x00000005 ],
285             [ SOUND_MIXER_LINE => 0x00000006 ],
286             [ SOUND_MIXER_MIC => 0x00000007 ],
287             [ SOUND_MIXER_CD => 0x00000008 ],
288             [ SOUND_MIXER_IMIX => 0x00000009 ],
289             [ SOUND_MIXER_ALTPCM => 0x0000000a ],
290             [ SOUND_MIXER_RECLEV => 0x0000000b ],
291             [ SOUND_MIXER_IGAIN => 0x0000000c ],
292             [ SOUND_MIXER_OGAIN => 0x0000000d ],
293             [ SOUND_MIXER_LINE1 => 0x0000000e ],
294             [ SOUND_MIXER_LINE2 => 0x0000000f ],
295             [ SOUND_MIXER_LINE3 => 0x00000010 ],
296             [ SOUND_MIXER_DIGITAL1 => 0x00000011 ],
297             [ SOUND_MIXER_DIGITAL2 => 0x00000012 ],
298             [ SOUND_MIXER_DIGITAL3 => 0x00000013 ],
299             [ SOUND_MIXER_PHONEIN => 0x00000014 ],
300             [ SOUND_MIXER_PHONEOUT => 0x00000015 ],
301             [ SOUND_MIXER_VIDEO => 0x00000016 ],
302             [ SOUND_MIXER_RADIO => 0x00000017 ],
303             [ SOUND_MIXER_MONITOR => 0x00000018 ],
304             [ SOUND_MIXER_NONE => 0x0000001f ],
305             [ SOUND_ONOFF_MIN => 0x0000001c ],
306             [ SOUND_ONOFF_MAX => 0x0000001e ],
307             [ SOUND_MIXER_RECSRC => 0x000000ff ],
308             [ SOUND_MIXER_DEVMASK => 0x000000fe ],
309             [ SOUND_MIXER_RECMASK => 0x000000fd ],
310             [ SOUND_MIXER_CAPS => 0x000000fc ],
311             [ SOUND_CAP_EXCL_INPUT => 0x00000001 ],
312             [ SOUND_MIXER_STEREODEVS => 0x000000fb ],
313             [ SOUND_MIXER_OUTSRC => 0x000000fa ],
314             [ SOUND_MIXER_OUTMASK => 0x000000f9 ],
315             [ PCM_ENABLE_INPUT => 0x00000001 ],
316             [ PCM_ENABLE_OUTPUT => 0x00000002 ],
317             [ APF_NORMAL => 0x00000000 ],
318             [ APF_NETWORK => 0x00000001 ],
319             [ APF_CPUINTENS => 0x00000002 ],
320             [ DSP_BIND_QUERY => 0x00000000 ],
321             [ DSP_BIND_FRONT => 0x00000001 ],
322             [ DSP_BIND_SURR => 0x00000002 ],
323             [ DSP_BIND_CENTER_LFE => 0x00000004 ],
324             [ DSP_BIND_HANDSET => 0x00000008 ],
325             [ DSP_BIND_MIC => 0x00000010 ],
326             [ DSP_BIND_MODEM1 => 0x00000020 ],
327             [ DSP_BIND_MODEM2 => 0x00000040 ],
328             [ DSP_BIND_I2S => 0x00000080 ],
329             [ DSP_BIND_SPDIF => 0x00000100 ],
330             [ SNDCTL_DSP_RESET => 0x00005000 ],
331             [ SNDCTL_DSP_SYNC => 0x00005001 ],
332             [ SNDCTL_DSP_SPEED => 0xc0045002 ],
333             [ SNDCTL_DSP_STEREO => 0xc0045003 ],
334             [ SNDCTL_DSP_GETBLKSIZE => 0xc0045004 ],
335             [ SNDCTL_DSP_SAMPLESIZE => 0xc0045005 ],
336             [ SNDCTL_DSP_CHANNELS => 0xc0045006 ],
337             [ SNDCTL_DSP_POST => 0x00005008 ],
338             [ SNDCTL_DSP_SUBDIVIDE => 0xc0045009 ],
339             [ SNDCTL_DSP_SETFRAGMENT => 0xc004500a ],
340             [ SNDCTL_DSP_GETOSPACE => 0x8010500c ],
341             [ SNDCTL_DSP_GETISPACE => 0x8010500d ],
342             [ SNDCTL_DSP_NONBLOCK => 0x0000500e ],
343             [ SNDCTL_DSP_GETCAPS => 0x8004500f ],
344             [ SNDCTL_DSP_GETFMTS => 0x8004500b ],
345             [ SNDCTL_DSP_SETFMT => 0xc0045005 ],
346             [ SNDCTL_DSP_GETTRIGGER => 0x80045010 ],
347             [ SNDCTL_DSP_SETTRIGGER => 0x40045010 ],
348             [ SNDCTL_DSP_GETIPTR => 0x800c5011 ],
349             [ SNDCTL_DSP_GETOPTR => 0x800c5012 ],
350             [ SNDCTL_DSP_MAPINBUF => 0x80105013 ],
351             [ SNDCTL_DSP_MAPOUTBUF => 0x80105014 ],
352             [ SNDCTL_DSP_SETSYNCRO => 0x00005015 ],
353             [ SNDCTL_DSP_SETDUPLEX => 0x00005016 ],
354             [ SNDCTL_DSP_GETODELAY => 0x80045017 ],
355             [ SNDCTL_DSP_GETCHANNELMASK => 0xc0045040 ],
356             [ SNDCTL_DSP_BIND_CHANNEL => 0xc0045041 ],
357             [ SNDCTL_DSP_PROFILE => 0x40045017 ],
358             [ SOUND_PCM_READ_RATE => 0x80045002 ],
359             [ SOUND_PCM_READ_CHANNELS => 0x80045006 ],
360             [ SOUND_PCM_READ_BITS => 0x80045005 ],
361             [ SOUND_PCM_READ_FILTER => 0x80045007 ],
362             [ SOUND_MIXER_READ_VOLUME => 0x80044d00 ],
363             [ SOUND_MIXER_READ_RECSRC => 0x80044dff ],
364             [ SOUND_MIXER_READ_DEVMASK => 0x80044dfe ],
365             [ SOUND_MIXER_READ_RECMASK => 0x80044dfd ],
366             [ SOUND_MIXER_READ_STEREODEVS => 0x80044dfb ],
367             [ SOUND_MIXER_READ_CAPS => 0x80044dfc ],
368             [ SOUND_MIXER_WRITE_VOLUME => 0xc0044d00 ],
369             [ SOUND_MIXER_WRITE_RECSRC => 0xc0044dff ],
370             [ SOUND_MIXER_INFO => 0x805c4d65 ],
371             [ SOUND_MIXER_AGC => 0xc0044d67 ],
372             [ SOUND_MIXER_3DSE => 0xc0044d68 ],
373             [ SOUND_MIXER_PRIVATE1 => 0xc0044d6f ],
374             [ SOUND_MIXER_PRIVATE2 => 0xc0044d70 ],
375             [ SOUND_MIXER_PRIVATE3 => 0xc0044d71 ],
376             [ SOUND_MIXER_PRIVATE4 => 0xc0044d72 ],
377             [ SOUND_MIXER_PRIVATE5 => 0xc0044d73 ],
378             [ SOUND_MIXER_GETLEVELS => 0xc0a44d74 ],
379             [ SOUND_MIXER_SETLEVELS => 0xc0a44d75 ],
380             [ OSS_GETVERSION => 0x80044d76 ],
381             [ AFMT_QUERY => 0x00000000 ],
382             [ AFMT_MU_LAW => 0x00000001 ],
383             [ AFMT_A_LAW => 0x00000002 ],
384             [ AFMT_IMA_ADPCM => 0x00000004 ],
385             [ AFMT_U8 => 0x00000008 ],
386             [ AFMT_S16_LE => 0x00000010 ],
387             [ AFMT_S16_BE => 0x00000020 ],
388             [ AFMT_S16_NE => 0x00000010 ],
389             [ AFMT_S8 => 0x00000040 ],
390             [ AFMT_U16_LE => 0x00000080 ],
391             [ AFMT_U16_BE => 0x00000100 ],
392             [ AFMT_MPEG => 0x00000200 ],
393             [ AFMT_AC3 => 0x00000400 ],
394             );
395              
396             sub make_const {
397 125     125 0 107 my ($const, $val) = @_;
398              
399 1     1   5 no strict 'refs';
  1         1  
  1         99  
400 125     0   791 *$const = sub () { $val };
  0            
401             }
402              
403             foreach (@CONSTANTS) {
404             make_const(@$_);
405             }
406             1;