Home | History | Annotate | Download | only in audio

Lines Matching refs:ai

1455 	struct audio_info ai;
1528 memset(&ai, 0, sizeof(ai));
1529 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "");
1532 XP_NE(0, ai.blocksize);
1534 XP_EQ(exp_mode, ai.mode);
1535 /* ai.play */
1536 XP_EQ(8000, ai.play.sample_rate);
1537 XP_EQ(1, ai.play.channels);
1538 XP_EQ(8, ai.play.precision);
1539 XP_EQ(AUDIO_ENCODING_ULAW, ai.play.encoding);
1542 XP_EQ(0, ai.play.seek);
1544 XP_NE(0, ai.play.buffer_size);
1545 XP_EQ(0, ai.play.samples);
1546 XP_EQ(0, ai.play.eof);
1547 XP_EQ(0, ai.play.pause);
1548 XP_EQ(0, ai.play.error);
1549 XP_EQ(0, ai.play.waiting);
1551 XP_EQ(exp_popen, ai.play.open);
1552 XP_EQ(0, ai.play.active);
1553 /* ai.record */
1554 XP_EQ(8000, ai.record.sample_rate);
1555 XP_EQ(1, ai.record.channels);
1556 XP_EQ(8, ai.record.precision);
1557 XP_EQ(AUDIO_ENCODING_ULAW, ai.record.encoding);
1560 XP_EQ(0, ai.record.seek);
1562 XP_NE(0, ai.record.buffer_size);
1563 XP_EQ(0, ai.record.samples);
1564 XP_EQ(0, ai.record.eof);
1565 XP_EQ(0, ai.record.pause);
1566 XP_EQ(0, ai.record.error);
1567 XP_EQ(0, ai.record.waiting);
1569 XP_EQ(exp_ropen, ai.record.open);
1575 XP_EQ(0, ai.record.active);
1577 XP_EQ(exp_ropen, ai.record.active);
1580 ai0 = ai;
1585 AUDIO_INITINFO(&ai);
1586 ai.mode = ai0.mode ^ AUMODE_PLAY_ALL;
1587 ai.play.sample_rate = 11025;
1588 ai.play.channels = 2;
1589 ai.play.precision = 16;
1590 ai.play.encoding = AUDIO_ENCODING_SLINEAR_LE;
1591 ai.play.pause = 1;
1592 ai.record.sample_rate = 11025;
1593 ai.record.channels = 2;
1594 ai.record.precision = 16;
1595 ai.record.encoding = AUDIO_ENCODING_SLINEAR_LE;
1596 ai.record.pause = 1;
1597 r = IOCTL(fd, AUDIO_SETINFO, &ai, "ai");
1607 memset(&ai, 0, sizeof(ai));
1608 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "");
1611 XP_NE(0, ai.blocksize);
1615 * On NetBSD7, the behavior when changing ai.mode on
1621 XP_EQ(exp_mode, ai.mode);
1623 /* ai.play */
1624 XP_EQ(exp_sample_rate, ai.play.sample_rate);
1625 XP_EQ(exp_channels, ai.play.channels);
1626 XP_EQ(exp_precision, ai.play.precision);
1627 XP_EQ(exp_encoding, ai.play.encoding);
1630 XP_EQ(0, ai.play.seek);
1632 XP_NE(0, ai.play.buffer_size);
1633 XP_EQ(0, ai.play.samples);
1634 XP_EQ(0, ai.play.eof);
1635 XP_EQ(exp_pause, ai.play.pause);
1636 XP_EQ(0, ai.play.error);
1637 XP_EQ(0, ai.play.waiting);
1639 XP_EQ(exp_popen, ai.play.open);
1640 XP_EQ(0, ai.play.active);
1641 /* ai.record */
1642 XP_EQ(exp_sample_rate, ai.record.sample_rate);
1643 XP_EQ(exp_channels, ai.record.channels);
1644 XP_EQ(exp_precision, ai.record.precision);
1645 XP_EQ(exp_encoding, ai.record.encoding);
1648 XP_EQ(0, ai.record.seek);
1650 XP_NE(0, ai.record.buffer_size);
1651 XP_EQ(0, ai.record.samples);
1652 XP_EQ(0, ai.record.eof);
1653 XP_EQ(exp_pause, ai.record.pause);
1654 XP_EQ(0, ai.record.error);
1655 XP_EQ(0, ai.record.waiting);
1657 XP_EQ(exp_ropen, ai.record.open);
1663 XP_EQ(0, ai.record.active);
1665 XP_EQ(exp_ropen, ai.record.active);
1689 struct audio_info ai;
1701 AUDIO_INITINFO(&ai);
1702 ai.play.encoding = AUDIO_ENCODING_SLINEAR_LE;
1703 ai.record.encoding = AUDIO_ENCODING_SLINEAR_LE;
1704 r = IOCTL(fd, AUDIO_SETINFO, &ai, "");
1718 memset(&ai, 0, sizeof(ai));
1719 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "");
1721 XP_EQ(AUDIO_ENCODING_ULAW, ai.play.encoding);
1722 XP_EQ(AUDIO_ENCODING_ULAW, ai.record.encoding);
1732 struct audio_info ai;
1744 AUDIO_INITINFO(&ai);
1745 ai.play.encoding = AUDIO_ENCODING_SLINEAR_LE;
1746 ai.play.precision = 16;
1747 ai.record.encoding = AUDIO_ENCODING_SLINEAR_LE;
1748 ai.record.precision = 16;
1749 r = IOCTL(fd, AUDIO_SETINFO, &ai, "SLINEAR_LE");
1757 memset(&ai, 0, sizeof(ai));
1758 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "");
1760 XP_EQ(AUDIO_ENCODING_SLINEAR_LE, ai.play.encoding);
1761 XP_EQ(16, ai.play.precision);
1762 XP_EQ(AUDIO_ENCODING_SLINEAR_LE, ai.record.encoding);
1763 XP_EQ(16, ai.record.precision);
1766 AUDIO_INITINFO(&ai);
1767 ai.play.encoding = AUDIO_ENCODING_ULAW;
1768 ai.play.precision = 8;
1769 ai.record.encoding = AUDIO_ENCODING_ULAW;
1770 ai.record.precision = 8;
1771 r = IOCTL(fd, AUDIO_SETINFO, &ai, "ULAW");
1779 memset(&ai, 0, sizeof(ai));
1780 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "");
1782 XP_EQ(AUDIO_ENCODING_ULAW, ai.play.encoding);
1783 XP_EQ(8, ai.play.precision);
1784 XP_EQ(AUDIO_ENCODING_ULAW, ai.record.encoding);
1785 XP_EQ(8, ai.record.precision);
1796 struct audio_info ai;
1856 r = IOCTL(fd0, AUDIO_GETBUFINFO, &ai, "");
1858 actmode = ai.mode & AUMODE_BOTH;
1866 r = IOCTL(fd1, AUDIO_GETBUFINFO, &ai, "");
1869 actmode = ai.mode & AUMODE_BOTH;
1878 r = IOCTL(fd1, AUDIO_GETBUFINFO, &ai, "");
1881 actmode = ai.mode & AUMODE_BOTH;
2070 struct audio_info ai;
2088 AUDIO_INITINFO(&ai);
2089 ai.mode = AUMODE_PLAY;
2090 r = IOCTL(fd, AUDIO_SETINFO, &ai, "mode");
2094 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "");
2096 XP_EQ(AUMODE_PLAY, ai.mode);
2098 wavsize = ai.blocksize;
2113 /* Check ai.play.error */
2114 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "");
2116 XP_EQ(0, ai.play.error);
2255 struct audio_info ai;
2267 AUDIO_INITINFO(&ai);
2268 ai.play.pause = 1;
2269 ai.record.pause = 1;
2275 r = IOCTL(fd, AUDIO_SETINFO, &ai, "pause");
2321 struct audio_info ai;
2391 AUDIO_INITINFO(&ai);
2392 ai.play.pause = 1;
2393 r = IOCTL(fd0, AUDIO_SETINFO, &ai, "pause");
2494 struct audio_info ai;
2508 AUDIO_INITINFO(&ai);
2510 ai.play.encoding = AUDIO_ENCODING_SLINEAR_LE;
2511 ai.play.precision = 16;
2512 ai.mode = AUMODE_PLAY;
2513 r = IOCTL(fd, AUDIO_SETINFO, &ai, "");
2527 struct audio_info ai;
2542 AUDIO_INITINFO(&ai);
2543 ai.play.pause = 1;
2544 r = IOCTL(fd, AUDIO_SETINFO, &ai, "");
2585 struct audio_info ai;
2632 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "get");
2635 len = ai.play.buffer_size;
2638 AUDIO_INITINFO(&ai);
2639 ai.play.pause = 1;
2640 r = IOCTL(fd, AUDIO_SETINFO, &ai, "pause");
2669 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "");
2671 XP_EQ(1, ai.play.pause);
2704 struct audio_info ai;
2733 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "");
2735 bufsize = ai.play.buffer_size;
2796 struct audio_info ai;
2818 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "get");
2820 len = ai.play.buffer_size;
2849 struct audio_info ai;
2876 r = IOCTL(fd0, AUDIO_GETBUFINFO, &ai, "get");
2878 len = ai.play.buffer_size;
3022 struct audio_info ai;
3035 AUDIO_INITINFO(&ai);
3036 ai.play.pause = 1;
3037 r = IOCTL(fd, AUDIO_SETINFO, &ai, "");
3041 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "");
3045 buflen = ai.play.buffer_size;
3074 struct audio_info ai;
3088 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "");
3091 newhiwat = ai.lowat;
3094 AUDIO_INITINFO(&ai);
3095 ai.play.pause = 1;
3096 ai.hiwat = newhiwat;
3097 r = IOCTL(fd, AUDIO_SETINFO, &ai, "pause=1;hiwat");
3101 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "");
3105 buflen = ai.blocksize * ai.hiwat;
3135 struct audio_info ai;
3159 AUDIO_INITINFO(&ai);
3160 ai.blocksize = blocksize;
3161 ai.hiwat = hiwat;
3162 ai.lowat = lowat;
3170 r = IOCTL(fd, AUDIO_SETINFO, &ai, "blocksize=%d", blocksize);
3172 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "");
3173 if (ai.blocksize != blocksize) {
3178 blocksize = ai.blocksize;
3183 AUDIO_INITINFO(&ai);
3184 ai.blocksize = blocksize;
3185 ai.hiwat = hiwat;
3186 ai.lowat = lowat;
3187 ai.play.pause = 1;
3188 r = IOCTL(fd, AUDIO_SETINFO, &ai, "pause=1");
3192 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "");
3196 buflen = ai.blocksize * ai.hiwat;
3216 AUDIO_INITINFO(&ai);
3217 ai.play.pause = 0;
3218 r = IOCTL(fd, AUDIO_SETINFO, &ai, "pause=0");
3256 struct audio_info ai;
3290 AUDIO_INITINFO(&ai);
3291 ai.blocksize = blocksize;
3292 ai.hiwat = hiwat;
3293 ai.lowat = lowat;
3294 r = IOCTL(fd[0], AUDIO_SETINFO, &ai, "blocksize=1000");
3296 r = IOCTL(fd[0], AUDIO_GETBUFINFO, &ai, "read back blocksize");
3297 if (ai.blocksize != blocksize) {
3302 blocksize = ai.blocksize;
3307 AUDIO_INITINFO(&ai);
3308 ai.blocksize = blocksize;
3309 ai.hiwat = hiwat;
3310 ai.lowat = lowat;
3312 ai.play.pause = 1;
3313 r = IOCTL(fd[a], AUDIO_SETINFO, &ai, "pause=1");
3316 ai.play.pause = 0;
3317 r = IOCTL(fd[b], AUDIO_SETINFO, &ai, "pause=0");
3321 r = IOCTL(fd[0], AUDIO_GETBUFINFO, &ai, "");
3324 ai.blocksize, ai.lowat, ai.hiwat);
3327 time = (ai.hiwat - ai.lowat) * blocksize / 8; /*[msec]*/
3331 buflen = blocksize * ai.lowat;
3394 struct audio_info ai;
3414 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "");
3418 XP_EQ(0, ai.record.active);
3425 XP_EQ(1, ai.record.active);
3469 struct audio_info ai;
3495 r = IOCTL(fd[rec], AUDIO_GETBUFINFO, &ai, "");
3497 blocksize = ai.blocksize;
3628 struct audio_info ai;
3640 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "");
3660 /* XP_EQ(ai.blocksize * ai.hiwat, kev.data); */
3661 XP_EQ(ai.play.buffer_size, kev.data);
3674 struct audio_info ai;
3689 AUDIO_INITINFO(&ai);
3690 ai.play.pause = 1;
3691 r = IOCTL(fd, AUDIO_SETINFO, &ai, "");
3695 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "");
3699 buflen = ai.play.buffer_size;
3739 struct audio_info ai;
3755 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "hiwat");
3758 newhiwat = ai.hiwat - 1;
3761 AUDIO_INITINFO(&ai);
3762 ai.play.pause = 1;
3763 ai.hiwat = newhiwat;
3764 r = IOCTL(fd, AUDIO_SETINFO, &ai, "pause=1;hiwat");
3768 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "");
3770 XP_EQ(1, ai.play.pause);
3771 XP_EQ(newhiwat, ai.hiwat);
3774 buflen = ai.blocksize * ai.hiwat;
3812 struct audio_info ai;
3834 AUDIO_INITINFO(&ai);
3835 ai.blocksize = blocksize;
3836 ai.hiwat = hiwat;
3837 ai.lowat = lowat;
3845 r = IOCTL(fd, AUDIO_SETINFO, &ai, "blocksize=%d", blocksize);
3847 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "");
3848 if (ai.blocksize != blocksize) {
3853 blocksize = ai.blocksize;
3858 AUDIO_INITINFO(&ai);
3859 ai.blocksize = blocksize;
3860 ai.hiwat = hiwat;
3861 ai.lowat = lowat;
3862 ai.play.pause = 1;
3863 r = IOCTL(fd, AUDIO_SETINFO, &ai, "pause=1");
3867 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "");
3870 ai.blocksize, ai.hiwat, ai.lowat, ai.play.buffer_size);
3873 buflen = ai.blocksize * ai.hiwat;
3892 AUDIO_INITINFO(&ai);
3893 ai.play.pause = 0;
3894 r = IOCTL(fd, AUDIO_SETINFO, &ai, "pause=0");
3929 struct audio_info ai;
3967 AUDIO_INITINFO(&ai);
3968 ai.blocksize = blocksize;
3969 ai.hiwat = hiwat;
3970 ai.lowat = lowat;
3971 r = IOCTL(fd[0], AUDIO_SETINFO, &ai, "blocksize=1000");
3973 r = IOCTL(fd[0], AUDIO_GETBUFINFO, &ai, "read back blocksize");
3974 if (ai.blocksize != blocksize) {
3979 blocksize = ai.blocksize;
3984 AUDIO_INITINFO(&ai);
3985 ai.blocksize = blocksize;
3986 ai.hiwat = hiwat;
3987 ai.lowat = lowat;
3988 ai.play.pause = 1;
3989 r = IOCTL(fd[a], AUDIO_SETINFO, &ai, "pause=1");
3991 r = IOCTL(fd[b], AUDIO_SETINFO, &ai, "pause=1");
3995 buflen = ai.blocksize * ai.hiwat;
4028 AUDIO_INITINFO(&ai);
4029 ai.play.pause = 0;
4030 r = IOCTL(fd[a], AUDIO_SETINFO, &ai, "pause=0");
4044 r = IOCTL(fd[b], AUDIO_GETBUFINFO, &ai, "");
4045 XP_EQ(ai2.play.seek, ai.play.seek);
4079 struct audio_info ai;
4090 r = IOCTL(data->fd, AUDIO_GETBUFINFO, &ai, "");
4097 AUDIO_INITINFO(&ai);
4104 ai.play.encoding = AUDIO_ENCODING_SLINEAR_LE;
4106 ai.play.pause = 0;
4107 r = IOCTL(data->fd, AUDIO_SETINFO, &ai, "pause=0");
4118 struct audio_info ai;
4134 AUDIO_INITINFO(&ai);
4135 ai.play.pause = 1;
4136 r = IOCTL(data->fd, AUDIO_SETINFO, &ai, "pause=1");
4219 struct audio_info ai;
4238 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "");
4240 REQUIRED_IF(ai.blocksize != 0);
4241 data = (char *)malloc(ai.blocksize);
4243 memset(data, 0xff, ai.blocksize);
4249 r = WRITE(fd, data, ai.blocksize);
4250 XP_SYS_EQ(ai.blocksize, r);
4317 struct audio_info ai;
4349 AUDIO_INITINFO(&ai);
4350 ai.play.pause = 1;
4351 r = IOCTL(fd2, AUDIO_SETINFO, &ai, "pause");
4355 r = IOCTL(fd1, AUDIO_GETBUFINFO, &ai, "");
4357 REQUIRED_IF(ai.blocksize != 0);
4358 buf = (char *)malloc(ai.blocksize);
4360 memset(buf, 0xff, ai.blocksize);
4361 r = WRITE(fd1, buf, ai.blocksize);
4362 XP_SYS_EQ(ai.blocksize, r);
4442 struct audio_info ai;
4453 AUDIO_INITINFO(&ai);
4454 ai.play.pause = 1;
4455 r = IOCTL(fd, AUDIO_SETINFO, &ai, "pause=1");
4495 struct audio_info ai;
4565 /* Some track parameters like ai.*.open should not change */
4566 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "");
4568 XP_EQ(mode2play(openmode), ai.play.open);
4569 XP_EQ(mode2rec(openmode), ai.record.open);
4596 /* Some track parameters like ai.*.open should not change */
4597 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "");
4599 XP_EQ(mode2play(openmode), ai.play.open);
4600 XP_EQ(mode2rec(openmode), ai.record.open);
4613 struct audio_info ai;
4664 /* Some track parameters like ai.*.open should not change */
4665 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "");
4667 XP_EQ(1, ai.play.open);
4668 XP_EQ(mode2rec(O_RDWR), ai.record.open);
4704 /* Some track parameters like ai.*.open should not change */
4705 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "");
4707 XP_EQ(1, ai.play.open);
4708 XP_EQ(mode2rec(O_RDWR), ai.record.open);
4719 struct audio_info ai;
4734 AUDIO_INITINFO(&ai);
4735 ai.play.pause = 1;
4736 r = IOCTL(fd, AUDIO_SETINFO, &ai, "pause");
4740 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "");
4742 XP_EQ(0, ai.play.eof);
4743 XP_EQ(0, ai.record.eof);
4748 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "");
4750 XP_EQ(1, ai.play.eof);
4751 XP_EQ(0, ai.record.eof);
4757 memset(&ai, 0, sizeof(ai));
4758 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "");
4760 XP_EQ(1, ai.play.eof);
4761 XP_EQ(0, ai.record.eof);
4766 memset(&ai, 0, sizeof(ai));
4767 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "");
4769 XP_EQ(2, ai.play.eof);
4770 XP_EQ(0, ai.record.eof);
4776 memset(&ai, 0, sizeof(ai));
4777 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "");
4779 XP_EQ(2, ai.play.eof);
4780 XP_EQ(0, ai.record.eof);
4787 memset(&ai, 0, sizeof(ai));
4788 r = IOCTL(fd1, AUDIO_GETBUFINFO, &ai, "");
4790 XP_EQ(0, ai.play.eof);
4791 XP_EQ(0, ai.record.eof);
4805 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "");
4807 XP_EQ(0, ai.play.eof);
4808 XP_EQ(0, ai.record.eof);
4820 struct audio_info ai;
4841 memset(&ai, 0, sizeof(ai));
4842 r = IOCTL(fd, AUDIO_GETINFO, &ai, "");
4844 XP_EQ(inimode, ai.mode);
4845 XP_EQ(mode2play(openmode), ai.play.open);
4846 XP_EQ(mode2rec(openmode), ai.record.open);
4847 XP_NE(0, ai.play.buffer_size);
4848 XP_NE(0, ai.record.buffer_size);
4851 ai.mode = setmode;
4852 ai.play.pause = 1;
4853 ai.record.pause = 1;
4854 r = IOCTL(fd, AUDIO_SETINFO, &ai, "mode");
4857 r = IOCTL(fd, AUDIO_GETINFO, &ai, "");
4859 XP_EQ(expected, ai.mode);
4862 XP_EQ(mode2play(openmode), ai.play.open);
4863 XP_EQ(mode2rec(openmode), ai.record.open);
4864 XP_NE(0, ai.play.buffer_size);
4865 XP_NE(0, ai.record.buffer_size);
5034 struct audio_info ai;
5039 * aimode is bool value that indicates whether to change ai.mode.
5040 * pause is bool value that indicates whether to change ai.*.pause.
5059 AUDIO_INITINFO(&ai);
5064 ai.play.sample_rate = 11025;
5065 ai.record.sample_rate = 11025;
5067 ai.mode = mode2aumode(openmode) & ~AUMODE_PLAY_ALL;
5069 ai.play.pause = 1;
5070 ai.record.pause = 1;
5073 r = IOCTL(fd, AUDIO_SETINFO, &ai, "");
5076 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "");
5081 XP_EQ(expmode, ai.mode);
5082 XP_EQ(11025, ai.play.sample_rate);
5083 XP_EQ(pause, ai.play.pause);
5084 XP_EQ(11025, ai.record.sample_rate);
5085 XP_EQ(pause, ai.record.pause);
5093 /* On RDONLY, ai.mode is not changeable
5115 struct audio_info ai;
5139 AUDIO_INITINFO(&ai);
5140 ai.play.sample_rate = 11025;
5141 ai.record.sample_rate = 11025;
5142 r = IOCTL(fd1, AUDIO_SETINFO, &ai, "");
5149 memset(&ai, 0, sizeof(ai));
5150 r = IOCTL(fd0, AUDIO_GETBUFINFO, &ai, "");
5152 XP_EQ(8000, ai.play.sample_rate);
5153 XP_EQ(11025, ai.record.sample_rate);
5156 AUDIO_INITINFO(&ai);
5157 ai.play.sample_rate = 16000;
5158 ai.record.sample_rate = 16000;
5159 r = IOCTL(fd0, AUDIO_SETINFO, &ai, "");
5168 memset(&ai, 0, sizeof(ai));
5169 r = IOCTL(fd1, AUDIO_GETBUFINFO, &ai, "");
5171 XP_EQ(11025, ai.play.sample_rate);
5173 XP_EQ(11025, ai.record.sample_rate);
5175 XP_EQ(16000, ai.record.sample_rate);
5194 struct audio_info ai;
5231 AUDIO_INITINFO(&ai);
5233 ai.play.channels = ch;
5235 ai.record.channels = ch;
5236 r = IOCTL(fd, AUDIO_SETINFO, &ai, "channels=%d", ch);
5241 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "");
5244 XP_EQ(ch, ai.play.channels);
5246 XP_EQ(ch, ai.record.channels);
5264 AUDIO_INITINFO(&ai);
5265 ai.play.channels = ch;
5266 r = IOCTL(fd, AUDIO_SETINFO, &ai, "channels=%d", ch);
5269 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "");
5271 XP_EQ(ch, ai.play.channels);
5274 AUDIO_INITINFO(&ai);
5275 ai.play.channels = ch;
5276 r = IOCTL(fd, AUDIO_SETINFO, &ai, "channels=%d", ch);
5283 AUDIO_INITINFO(&ai);
5284 ai.record.channels = ch;
5285 r = IOCTL(fd, AUDIO_SETINFO, &ai, "channels=%d", ch);
5288 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "");
5290 XP_EQ(ch, ai.record.channels);
5293 AUDIO_INITINFO(&ai);
5294 ai.record.channels = ch;
5295 r = IOCTL(fd, AUDIO_SETINFO, &ai, "channels=%d", ch);
5308 struct audio_info ai;
5342 AUDIO_INITINFO(&ai);
5344 ai.play.sample_rate = freq;
5346 ai.record.sample_rate = freq;
5347 r = IOCTL(fd, AUDIO_SETINFO, &ai, "sample_rate=%d", freq);
5352 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "");
5355 XP_EQ(freq, ai.play.sample_rate);
5357 XP_EQ(freq, ai.record.sample_rate);
5373 struct audio_info ai;
5392 AUDIO_INITINFO(&ai);
5393 ai.play.sample_rate = 0;
5394 ai.record.sample_rate = 0;
5395 r = IOCTL(fd, AUDIO_SETINFO, &ai, "sample_rate=0");
5409 struct audio_info ai;
5414 * aimode is bool value that indicates whether to change ai.mode.
5416 * parameters of ai.{play,record}.*.
5436 AUDIO_INITINFO(&ai);
5437 ai.play.pause = 1;
5438 ai.record.pause = 1;
5440 ai.mode = mode2aumode(openmode) & ~AUMODE_PLAY_ALL;
5442 ai.play.sample_rate = 11025;
5443 ai.record.sample_rate = 11025;
5446 r = IOCTL(fd, AUDIO_SETINFO, &ai, "");
5449 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "");
5454 XP_EQ(expmode, ai.mode);
5455 XP_EQ(1, ai.play.pause);
5456 XP_EQ(param ? 11025 : 8000, ai.play.sample_rate);
5457 XP_EQ(1, ai.record.pause);
5458 XP_EQ(param ? 11025 : 8000, ai.record.sample_rate);
5461 AUDIO_INITINFO(&ai);
5462 ai.play.pause = 0;
5463 ai.record.pause = 0;
5465 ai.mode = mode2aumode(openmode);
5467 ai.play.sample_rate = 16000;
5468 ai.record.sample_rate = 16000;
5471 r = IOCTL(fd, AUDIO_SETINFO, &ai, "");
5474 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "");
5476 XP_EQ(mode2aumode(openmode), ai.mode);
5477 XP_EQ(0, ai.play.pause);
5478 XP_EQ(0, ai.record.pause);
5480 XP_EQ(param ? 16000 : 8000, ai.play.sample_rate);
5482 XP_EQ(param ? 16000 : 8000, ai.record.sample_rate);
5489 /* On RDONLY, ai.mode is not changeable
5509 struct audio_info ai;
5551 /* Check ai.play.gain */
5552 r = IOCTL(fd, AUDIO_GETINFO, &ai, "");
5554 XP_EQ(master, ai.play.gain);
5557 AUDIO_INITINFO(&ai);
5562 ai.play.gain = gain;
5563 r = IOCTL(fd, AUDIO_SETINFO, &ai, "play.gain=%d", ai.play.gain);
5567 r = IOCTL(fd, AUDIO_GETINFO, &ai, "play.gain");
5569 XP_NE(master, ai.play.gain);
5574 XP_EQ(ai.play.gain, m.un.value.level[0]);
5577 AUDIO_INITINFO(&ai);
5578 ai.play.gain = master_backup;
5579 r = IOCTL(fd, AUDIO_SETINFO, &ai, "play.gain=%d", ai.play.gain);
5597 struct audio_info ai;
5603 /* A hack to handle ai.{play,record}.gain in the same code.. */
5604 ai_gain = (int *)(((char *)&ai) + offset);
5607 AUDIO_INITINFO(&ai);
5609 r = IOCTL(fd, AUDIO_SETINFO, &ai, "%s.gain=%d", dir, *ai_gain);
5612 AUDIO_INITINFO(&ai);
5613 r = IOCTL(fd, AUDIO_GETINFO, &ai, "&ai");
5619 AUDIO_INITINFO(&ai);
5621 r = IOCTL(fd, AUDIO_SETINFO, &ai, "%s.gain=%d", dir, *ai_gain);
5624 r = IOCTL(fd, AUDIO_GETINFO, &ai, "&ai");
5667 struct audio_info ai;
5673 /* A hack to handle ai.{play,record}.balance in the same code.. */
5674 ai_balance = ((u_char *)&ai) + offset;
5677 AUDIO_INITINFO(&ai);
5679 r = IOCTL(fd, AUDIO_SETINFO, &ai
5682 r = IOCTL(fd, AUDIO_GETINFO, &ai, "&ai");
5687 AUDIO_INITINFO(&ai);
5689 r = IOCTL(fd, AUDIO_SETINFO, &ai, "%s.balance=%d", dir, *ai_balance);
5692 r = IOCTL(fd, AUDIO_GETINFO, &ai, "&ai");
5719 struct audio_info ai;
5794 AUDIO_INITINFO(&ai);
5795 ai.play.gain = oai.play.gain;
5796 ai.play.balance = oai.play.balance;
5797 ai.record.gain = oai.record.gain;
5798 ai.record.balance = oai.record.balance;
5799 r = IOCTL(fd, AUDIO_SETINFO, &ai, "restore all");
5812 AUDIO_INITINFO(&ai);
5813 ai.play.gain = pgain[1];
5814 ai.play.balance = pbalance[1];
5815 r = IOCTL(fd, AUDIO_SETINFO, &ai, "play.gain=%d/balance=%d",
5816 ai.play.gain, ai.play.balance);
5819 AUDIO_INITINFO(&ai);
5820 r = IOCTL(fd, AUDIO_GETINFO, &ai, "&ai");
5825 pgain[1], pbalance[1], ai.play.gain, ai.play.balance);
5826 XP_EQ(ai.play.gain, pgain[1]);
5827 XP_EQ(ai.play.balance, pbalance[1]);
5834 AUDIO_INITINFO(&ai);
5835 ai.record.gain = rgain[1];
5836 ai.record.balance = rbalance[1];
5837 r = IOCTL(fd, AUDIO_SETINFO, &ai, "record.gain=%d/balance=%d",
5838 ai.record.gain, ai.record.balance);
5841 AUDIO_INITINFO(&ai);
5842 r = IOCTL(fd, AUDIO_GETINFO, &ai, "&ai");
5847 rgain[1], rbalance[1], ai.record.gain, ai.record.balance);
5848 XP_EQ(ai.record.gain, rgain[1]);
5849 XP_EQ(ai.record.balance, rbalance[1]);
5856 AUDIO_INITINFO(&ai);
5857 ai.play.gain = oai.play.gain;
5858 ai.play.balance = oai.play.balance;
5859 ai.record.gain = oai.record.gain;
5860 ai.record.balance = oai.record.balance;
5861 r = IOCTL(fd, AUDIO_SETINFO, &ai, "restore all");
5864 AUDIO_INITINFO(&ai);
5865 r = IOCTL(fd, AUDIO_GETINFO, &ai, "&ai");
5867 XP_EQ(oai.play.gain, ai.play.gain);
5868 XP_EQ(oai.play.balance, ai.play.balance);
5869 XP_EQ(oai.record.gain, ai.record.gain);
5870 XP_EQ(oai.record.balance, ai.record.balance);
5881 struct audio_info ai;
5905 AUDIO_INITINFO(&ai);
5906 ai.play.channels = 2;
5907 r = IOCTL(fd, AUDIO_SETINFO, &ai, "channels=2");
5925 struct audio_info ai;
5946 AUDIO_INITINFO(&ai);
5947 ai.play.pause = 1;
5948 r = IOCTL(fd, AUDIO_SETINFO, &ai, "set pause");
5951 AUDIO_INITINFO(&ai);
5952 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "get pause");
5955 XP_EQ(1, ai.play.pause);
5961 AUDIO_INITINFO(&ai);
5962 ai.play.pause = 0;
5963 r = IOCTL(fd, AUDIO_SETINFO, &ai, "reset pause");
6129 struct audio_info ai;
6146 AUDIO_INITINFO(&ai);
6147 ai.play.encoding = i;
6148 ai.play.precision = prec;
6149 ai.record.encoding = i;
6150 ai.record.precision = prec;
6152 r = IOCTL(fd, AUDIO_SETINFO, &ai, "%s:%d",
6155 xp_getenc(expected, i, j, r, &ai.play);
6157 xp_getenc(expected, i, j, r, &ai.record);
6291 struct audio_info ai;
6313 AUDIO_INITINFO(&ai);
6314 ai.record.encoding = AUDIO_ENCODING_SLINEAR_NE;
6315 ai.record.precision = 16;
6316 ai.record.channels = 2;
6317 ai.record.sample_rate = 48000;
6318 /* ai.blocksize is shared by play and record, so set both the same. */
6319 *ai.play = *ai.record;
6320 r = IOCTL(fd, AUDIO_SETINFO, &ai, "");
6325 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "");
6327 blocksize = ai.blocksize;
6333 (ai.play.precision / 8 * ai.play.channels *
6334 ai.play.sample_rate);
6378 struct audio_info ai;
6402 AUDIO_INITINFO(&ai);
6403 ai.play.encoding = AUDIO_ENCODING_SLINEAR_NE;
6404 ai.play.precision = 16;
6405 ai.play.channels = 2;
6406 ai.play.sample_rate = 48000;
6407 /* ai.blocksize is shared by play and record, so set both the same. */
6408 *ai.record = *ai.play;
6409 r = IOCTL(fd, AUDIO_SETINFO, &ai, "slinear16/2ch/48000");
6414 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "");
6416 blocksize = ai.blocksize;
6422 (ai.play.precision / 8 * ai.play.channels *
6423 ai.play.sample_rate);
6500 struct audio_info ai;
6521 AUDIO_INITINFO(&ai);
6522 ai.play.encoding = AUDIO_ENCODING_SLINEAR_NE;
6523 ai.play.precision = 16;
6524 ai.play.channels = 2;
6525 ai.play.sample_rate = 48000;
6526 r = IOCTL(fd, AUDIO_SETINFO, &ai, "slinear16/2/48000");
6534 AUDIO_INITINFO(&ai);
6535 ai.play.encoding = AUDIO_ENCODING_ULAW;
6536 ai.play.precision = 8;
6537 ai.play.channels = 1;
6538 ai.play.sample_rate = 8000;
6539 r = IOCTL(fd, AUDIO_SETINFO, &ai, "ulaw/1/8000");
6544 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "");
6546 buffer_size = ai.play.buffer_size;
6547 blocksize = ai.blocksize;
6624 struct audio_info ai;
6643 AUDIO_INITINFO(&ai);
6644 ai.play.encoding = AUDIO_ENCODING_SLINEAR_NE;
6645 ai.play.precision = 16;
6646 ai.play.channels = 2;
6647 ai.play.sample_rate = 48000;
6648 r = IOCTL(fd, AUDIO_SETINFO, &ai, "");
6653 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "");
6656 buf = (char *)malloc(ai.blocksize);
6658 memset(buf, 0xff, ai.blocksize);
6665 initial_offset = ai.blocksize;
6671 r = WRITE(fd, buf, ai.blocksize);
6673 XP_SYS_EQ(ai.blocksize, r);
6684 XP_EQ(ai.blocksize, o.samples);
6686 XP_EQ(initial_offset + ai.blocksize, o.offset);
6698 r = WRITE(fd, buf, ai.blocksize);
6700 XP_SYS_EQ(ai.blocksize, r);
6708 last_offset = initial_offset + ai.blocksize * 2;
6751 struct audio_info ai;
6768 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "");
6771 buf = (char *)malloc(ai.blocksize);
6773 memset(buf, 0xff, ai.blocksize);
6780 initial_offset = ai.blocksize;
6786 r = WRITE(fd, buf, ai.blocksize);
6788 XP_SYS_EQ(ai.blocksize, r);
6800 AUDIO_INITINFO(&ai);
6801 ai.play.encoding = AUDIO_ENCODING_SLINEAR_NE;
6802 ai.play.precision = 16;
6803 ai.play.channels = 2;
6804 ai.play.sample_rate = 48000;
6805 r = IOCTL(fd, AUDIO_SETINFO, &ai, "slinear16/2ch/48000");
6808 r = IOCTL(fd, AUDIO_GETBUFINFO, &ai, "");
6811 initial_offset = ai.blocksize;