summaryrefslogtreecommitdiffstats
path: root/sys/dev/sound/pcm/feeder.c
Commit message (Collapse)AuthorAgeFilesLines
* update my email address.cg2003-09-071-1/+1
|
* Change gcc-specific aggregate initialization member specifiersdds2003-08-051-6/+6
| | | | | | | into C9X initializer designators. Reviewed by: schweikh (mentor) MFC after: 4 weeks
* * add a function to display a complete feeder chain on the console, forcg2003-07-071-1/+17
| | | | | | | | | debugging. * set the parent of non-format feeders, so that sndstat doesn't miss out things like feeder_rate. MFC: 1 week
* Back out last commit, which is fine in theory, but ignores the factorion2003-03-051-3/+3
| | | | that a lock is held whilst the allocations are made (M_WAITOK -> M_NOWAIT).
* It seems that sound(4)'s feeder routines don't need to allocate memorygreen2003-02-231-1/+1
| | | | | | | | without waiting, since they are called from a system-call context only. This appears to fix all sorts of problems with open("/dev/dsp", O_WRONLY) randomly returning ENXIO. Found by: cognet
* Back out M_* changes, per decision of the TRB.imp2003-02-191-2/+2
| | | | Approved by: trb
* Avoid zero padding when feeding read channels. chn_rdfeed has no wayorion2003-02-031-0/+4
| | | | | | | | | of knowing data size transformations of feeder chain and in some cases this means too much data is pulled through chain, eg converting input stream from 16bits to 8bits on 16bit only h/w. PR: kern/37831 Submitted by: Harti Brandt <brandt@fokus.fraunhofer.de>
* Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0.alfred2003-01-211-2/+2
| | | | Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.
* various fixes to eliminate locking warningscg2002-11-251-1/+1
| | | | | Approved by: re Reviewed by: orion
* Fixed printf format errors which apparently crept in while -Wformat wasbde2002-05-251-1/+2
| | | | disabled for gcc-3.
* Try and solve some cases of labels at end of compound statements that gccpeter2002-05-191-3/+2
| | | | now objects to (as it should, it is not legal C).
* * improve error handlingcg2002-01-261-14/+44
| | | | | | | | | | * be more specific in verbose boot messages * allow the feeder subsystem to veto pcm* attaching if there is an error initialising the root feeder * don't free/malloc a new tmpbuf when resizing a snd_dbuf to the same size as it currently is * store the feeder description in the feeder structure instead of mallocing space for it
* make the feederchain builder work for recording. this has not been testedcg2002-01-231-12/+49
| | | | | | | extensively as none of my testboxes have speakers or an audio source at present, but the chains built look correct and reading /dev/audio (ulaw, translated from signed 16 bit little-endian) gives values within the expected range for silence.
* the feederchain builder is currently broken for recording channels. disablecg2001-08-231-0/+3
| | | | | it until it is fixed. this limits recording to native formats and speeds only.
* many changes:cg2001-08-231-2/+2
| | | | | | | | | | | | | | | * add new channels to the end of the list so channels used in order of addition * de-globalise definition of struct snddev_info and provide accessor functions where necessary. * move the $FreeBSD$ tag in each .c file into a macro and allow the /dev/sndstat handler to display these when set to maximum verbosity to aid debugging. * allow each device to register its own sndstat handler to reduce the amount of groping sndstat must do in foreign structs.
* comment out a boot-time debug messagecg2001-04-091-1/+1
|
* minor tweaks in speed and format setting routines.cg2001-04-081-22/+21
| | | | don't stop exploring the feeders if a feeder fails to initialise.
* mega-commit.cg2001-03-241-30/+36
| | | | | | | | | | | | | | | 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.
* don't leak memory allocated for feeders at module unloadcg2001-03-161-1/+14
| | | | kill the fake channel when unregistering
* kobjify.cg2000-12-181-72/+88
| | | | | | | | | | 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.
* prepare for adding a rate conversion feeder.cg2000-09-231-410/+90
| | | | | move format conversion feeders to feeder_fmt.c - no pertinent history so no repo-copy.
* add 16bit mono/stereo conversion feedercg2000-09-091-6/+90
| | | | prefer feeder chains of length 1 over length 2
* rework feeder sytem to allow feeders in kldscg2000-08-201-127/+270
| | | | | | | | 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.
* make mmap sort-of work. there seem to be interactions with certain hwcg2000-04-151-5/+0
| | | | | | | | | | drivers, so still work in progress. do various mmap-related ioctls right. improve blocksize control. bits of cleanup.
* fix dma underrun issuescg1999-12-051-11/+10
| | | | | | | | | mutate some panics to kasserts add more spl protection PR: kern/14990 Partially Submitted by: Vladimir N.Silyaev <vns@delta.odessa.ua> Reviewed by: dfr
* repo-copied to make way for newmidi, this commit updates include pathscg1999-11-201-1/+1
|
* this is a full fix for writes not aligned to the sample size selected.cg1999-11-151-15/+22
| | | | should be a no-op in most cases.
* The total uiomoved size is accumulated in c, not tmp.tanimura1999-10-311-2/+2
|
* * add a non-reset device- will not reset the channel on open. youcg1999-09-281-10/+13
| | | | | | | | will have to mknod yourself for now. * don't eat the first write() * partial rvplayer fix- don't panic on unaligned writes unless our feeder chain requires them for downconversion. a fuller fix is on the way.
* handle uiomove better in feed_rootcg1999-09-041-6/+9
|
* $Id$ -> $FreeBSD$peter1999-09-011-1/+1
|
* say hello to newpcm. it is not yet enabled, requiring new pnp code from dfrcg1999-09-011-0/+403
to compile successfully. further details will be provided in the commit enabling newpcm.
OpenPOWER on IntegriCloud