#
faeebea2 |
| 18-Jun-2001 |
Cameron Grant <cg@FreeBSD.org> |
revise dsp_clone() to return the first nonbusy channel instead of simply cycling channel numbers.
remove unused fields from struct snddev_info.
|
#
5210620e |
| 17-Jun-2001 |
Cameron Grant <cg@FreeBSD.org> |
fix a potential panic in dsp_clone() if no pcm devices were detected
|
#
d95502a8 |
| 16-Jun-2001 |
Cameron Grant <cg@FreeBSD.org> |
use a global devclass for all drivers - i'm not entirely sure why this worked before.
mixer, dsp and sndstat are seperate devices - give them their own cdevsws instead of demuxing requests sent to a
use a global devclass for all drivers - i'm not entirely sure why this worked before.
mixer, dsp and sndstat are seperate devices - give them their own cdevsws instead of demuxing requests sent to a single cdevsw.
use the si_drv1/si_drv2 fields in dev_t structures for holding information specific to an open instance of mixer/dsp.
nuke /dev/{dsp,dspW,audio}[0-9]* links - this functionality is now provided using cloning.
various locking fixes.
show more ...
|
#
b8f0d9e0 |
| 14-Jun-2001 |
Cameron Grant <cg@FreeBSD.org> |
various locking fixes, rework open logic and channel registration
PR: kern/28084
|
#
285648f9 |
| 27-May-2001 |
Cameron Grant <cg@FreeBSD.org> |
beginnings of virtual playback channel support
instead of using two malloced arrays for storing channel lists, use an slist. convert the sndstat device to use sbufs and optionally provide more deta
beginnings of virtual playback channel support
instead of using two malloced arrays for storing channel lists, use an slist. convert the sndstat device to use sbufs and optionally provide more detail about channel state.
vchans are software mixed playback channels. they are not enabled by this commit. they use the feeder infrastructure to emulate normal playback channels in a manner transparent to applications, whilst providing as many channels are desired, especially suitable for devices with only one hardware playback channel. in the future they will provide additional features.
those wishing to test this functionality will need to add vchan.c to sys/conf/files and use 'sysctl -w hw.snd.pcm0.vchans' to enable it.
blocksize and auto-rate selection are not yet supported.
show more ...
|
Revision tags: release/4.3.0_cvs, release/4.3.0 |
|
#
66ef8af5 |
| 25-Mar-2001 |
Cameron Grant <cg@FreeBSD.org> |
mega-commit.
this introduces a new buffering mechanism which results in dramatic simplification of the channel manager.
as several structures have changed, we take the opportunity to move their def
mega-commit.
this introduces a new buffering mechanism which results in dramatic simplification of the channel manager.
as several structures have changed, we take the opportunity to move their definitions into the source files where they are used, make them private and de-typedef them.
the sound drivers are updated to use snd_setup_intr instead of bus_setup_intr, and to comply with the de-typedefed structures.
the ac97, mixer and channel layers have been updated with finegrained locking, as have some drivers- not all though. the rest will follow soon.
show more ...
|
#
9a1ec7eb |
| 13-Mar-2001 |
Cameron Grant <cg@FreeBSD.org> |
fix a panic triggerable by anyone with read/write access to the audio devices. opening /dev/{dsp,dspW,audio}0 and then opening a different device from that list and closing it resulted in a panic wh
fix a panic triggerable by anyone with read/write access to the audio devices. opening /dev/{dsp,dspW,audio}0 and then opening a different device from that list and closing it resulted in a panic when any operation is performed on the first fd.
we prevent this happening by denying the second open unless it uses the same minor device as the first.
PR: kern/25519
show more ...
|
#
350a5faf |
| 23-Dec-2000 |
Cameron Grant <cg@FreeBSD.org> |
update code dealing with snd_dbuf objects to do so using a functional interface
modify chn_setblocksize() to pick a default soft-blocksize appropriate to the sample rate and format in use. it will
update code dealing with snd_dbuf objects to do so using a functional interface
modify chn_setblocksize() to pick a default soft-blocksize appropriate to the sample rate and format in use. it will aim for a power of two size small enough to generate block sizes of at most 20ms. it will also set the hard-blocksize taking into account rate/format conversions in use.
update drivers to implement setblocksize correctly: updated, tested: sb16, emu10k1, maestro, solo updated, untested: ad1816, ess, mss, sb8, csa not updated: ds1, es137x, fm801, neomagic, t4dwave, via82c686
i lack hardware to test: ad1816, csa, fm801, neomagic others will be updated/tested in the next few days.
show more ...
|
#
0f55ac6c |
| 18-Dec-2000 |
Cameron Grant <cg@FreeBSD.org> |
kobjify.
this gives us several benefits, including:
* easier extensibility- new optional methods can be added to ac97/mixer/channel classes without having to fixup every driver.
* forward compat
kobjify.
this gives us several benefits, including:
* easier extensibility- new optional methods can be added to ac97/mixer/channel classes without having to fixup every driver.
* forward compatibility for drivers, provided no new mandatory methods are added.
show more ...
|
Revision tags: release/4.2.0 |
|
#
41b3c726 |
| 07-Nov-2000 |
Cameron Grant <cg@FreeBSD.org> |
if a channel dies, rejuvenate it on close()
|
#
d16b5673 |
| 28-Oct-2000 |
Cameron Grant <cg@FreeBSD.org> |
implement SNDCTL_DSP_POST
|
#
c0960a5e |
| 26-Oct-2000 |
Cameron Grant <cg@FreeBSD.org> |
handle AFMT_QUERY right
|
Revision tags: release/4.1.1_cvs |
|
#
513693be |
| 21-Aug-2000 |
Cameron Grant <cg@FreeBSD.org> |
rework feeder sytem to allow feeders in klds
modify driver capability reporting format to list every audio format seperately- required for above and because we could not previously indicate that mon
rework feeder sytem to allow feeders in klds
modify driver capability reporting format to list every audio format seperately- required for above and because we could not previously indicate that mono was unsupported.
there should be no functional impact.
show more ...
|
#
fa06efc7 |
| 19-Aug-2000 |
Cameron Grant <cg@FreeBSD.org> |
fix SNDCTL_DSP_GETODELAY
PR: kern/20340 Submitted by: Takashi SHIRAI <shirai@nintendo.co.jp>
|
#
05a1fdb4 |
| 03-Aug-2000 |
Nick Sayer <nsayer@FreeBSD.org> |
Simplex devices will always report EBUSY on 2nd (and subsequent) opens if the reference count is not decremented on close.
Note that this may result in the reference count being corrupted on full du
Simplex devices will always report EBUSY on 2nd (and subsequent) opens if the reference count is not decremented on close.
Note that this may result in the reference count being corrupted on full duplex devices (due to mismatching opens/closes), but the code doesn't use the reference count for anything on full duplex devices.
show more ...
|
#
e04387c9 |
| 30-Jul-2000 |
Cameron Grant <cg@FreeBSD.org> |
fix a bug where opening /dev/dsp twice resulted in it being busy until reboot
|
Revision tags: release/4.1.0, release/3.5.0_cvs |
|
#
e4d5b250 |
| 21-Jun-2000 |
Cameron Grant <cg@FreeBSD.org> |
fix a bug where opening for write would not fail if channel allocation failed
when playing, if we stall for 1s with no data advancing, abort and mark the channel dead - fail all future operations
|
#
1a50bd2e |
| 07-Jun-2000 |
Cameron Grant <cg@FreeBSD.org> |
handle duplex properly in the AIOGCAP ioctl - this may (partially?) fix rat
|
#
94e3845c |
| 27-May-2000 |
Cameron Grant <cg@FreeBSD.org> |
fix the return value of the SOUND_PCM_WRITE_CHANNELS ioctl
re-enable old pcm ioctls
|
#
d28089a1 |
| 26-May-2000 |
Cameron Grant <cg@FreeBSD.org> |
move various fields from pcm_channel to snd_dbuf
improve chn_read code- don't stop/restart on overrun, just dump data
more error checking on ioctls
|
#
eb95c536 |
| 29-Apr-2000 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Remove unneeded #include <sys/kernel.h>
|
#
a0e22dd8 |
| 23-Apr-2000 |
Cameron Grant <cg@FreeBSD.org> |
implement settrigger according to spec
fixes for non-blocking mode
|
#
8ae4c159 |
| 17-Apr-2000 |
Cameron Grant <cg@FreeBSD.org> |
more mmap fixes
|
#
603ddb6d |
| 15-Apr-2000 |
Cameron Grant <cg@FreeBSD.org> |
make mmap sort-of work. there seem to be interactions with certain hw drivers, so still work in progress.
do various mmap-related ioctls right.
improve blocksize control.
bits of cleanup.
|
#
bd18f334 |
| 05-Apr-2000 |
Cameron Grant <cg@FreeBSD.org> |
allow /dev/dsp to be opened seperately for reading and writing.
|