|
Lines 203-208
Link Here
|
| 203 |
snd_ctl_close(handle); |
203 |
snd_ctl_close(handle); |
| 204 |
continue; |
204 |
continue; |
| 205 |
} |
205 |
} |
|
|
206 |
fprintf(stderr, "**** List of %s Hardware Devices ****\n", snd_pcm_stream_name(stream)); |
| 206 |
dev = -1; |
207 |
dev = -1; |
| 207 |
while (1) { |
208 |
while (1) { |
| 208 |
unsigned int count; |
209 |
unsigned int count; |
|
Lines 1526-1531
Link Here
|
| 1526 |
u_int tmp; |
1527 |
u_int tmp; |
| 1527 |
u_short tmp2; |
1528 |
u_short tmp2; |
| 1528 |
|
1529 |
|
|
|
1530 |
/* WAVE cannot handle greater than 32bit (signed?) int */ |
| 1531 |
if (cnt == (size_t)-2) |
| 1532 |
cnt = 0x7fffff00; |
| 1533 |
|
| 1529 |
bits = 8; |
1534 |
bits = 8; |
| 1530 |
switch ((unsigned long) hwparams.format) { |
1535 |
switch ((unsigned long) hwparams.format) { |
| 1531 |
case SND_PCM_FORMAT_U8: |
1536 |
case SND_PCM_FORMAT_U8: |
|
Lines 1753-1780
Link Here
|
| 1753 |
|
1758 |
|
| 1754 |
void capture_go(int fd, size_t count, int rtype, char *name) |
1759 |
void capture_go(int fd, size_t count, int rtype, char *name) |
| 1755 |
{ |
1760 |
{ |
| 1756 |
size_t c; |
1761 |
size_t c, cur; |
| 1757 |
ssize_t r, err; |
1762 |
ssize_t r, err; |
| 1758 |
|
1763 |
|
| 1759 |
header(rtype, name); |
1764 |
header(rtype, name); |
| 1760 |
set_params(); |
1765 |
set_params(); |
| 1761 |
|
1766 |
|
| 1762 |
while (count > 0) { |
1767 |
do { |
| 1763 |
c = count; |
1768 |
for (cur = count; cur > 0; cur -= r) { |
| 1764 |
if (c > chunk_bytes) |
1769 |
c = cur; |
| 1765 |
c = chunk_bytes; |
1770 |
if (c > chunk_bytes) |
| 1766 |
c = c * 8 / bits_per_frame; |
1771 |
c = chunk_bytes; |
| 1767 |
if ((size_t)(r = pcm_read(audiobuf, c)) != c) |
1772 |
c = c * 8 / bits_per_frame; |
| 1768 |
break; |
1773 |
if ((size_t)(r = pcm_read(audiobuf, c)) != c) |
| 1769 |
r = r * bits_per_frame / 8; |
1774 |
break; |
| 1770 |
if ((err = write(fd, audiobuf, r)) != r) { |
1775 |
r = r * bits_per_frame / 8; |
| 1771 |
perror(name); |
1776 |
if ((err = write(fd, audiobuf, r)) != r) { |
| 1772 |
exit(EXIT_FAILURE); |
1777 |
perror(name); |
|
|
1778 |
exit(EXIT_FAILURE); |
| 1779 |
} |
| 1780 |
if (err > 0) |
| 1781 |
fdcount += err; |
| 1773 |
} |
1782 |
} |
| 1774 |
if (err > 0) |
1783 |
} while (rtype == FORMAT_RAW && !timelimit); |
| 1775 |
fdcount += err; |
|
|
| 1776 |
count -= r; |
| 1777 |
} |
| 1778 |
} |
1784 |
} |
| 1779 |
|
1785 |
|
| 1780 |
/* |
1786 |
/* |
|
Lines 2052-2054
Link Here
|
| 2052 |
if (ret) |
2058 |
if (ret) |
| 2053 |
exit(ret); |
2059 |
exit(ret); |
| 2054 |
} |
2060 |
} |
|
|
2061 |
|