Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 14 Jan 2010 10:33:01 +0100
From:      Ivan Voras <ivoras@freebsd.org>
To:        freebsd-questions@freebsd.org
Subject:   Re: any port use /dev/dsp directly?
Message-ID:  <himoca$ckh$2@ger.gmane.org>
In-Reply-To: <20100114024242.GA9744@thought.org>
References:  <20100114012059.GA3921@thought.org>	<20100114013746.GB67999@orion.hsd1.pa.comcast.net> <20100114024242.GA9744@thought.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Gary Kline wrote:
> On Wed, Jan 13, 2010 at 08:37:46PM -0500, Glen Barber wrote:
>> Gary Kline wrote: 
>>> 	I have a couple short programs where I mess with /dev/dsp.  I'll open
>>> 	check to be sure the speed is right, open in mono or stereo, &c.  is 
>>> 	there anything is ports that uses this dev by opening, doing ioctls and 
>>> 	so forth?
>>>
>>> 	I think I may need to flush my data before closing the FILE *FP. Not
>>> 	sure; just guessing.
>>>
>> I don't know if this directly answers your question, but from sound(4):
>>
>> hw.snd.default_unit
>> 	Default sound card for systems with multiple sound cards.  When
>> 	using devfs(5), the default device for /dev/dsp.  Equivalent to a
>> 	symlink from /dev/dsp to /dev/dsp${hw.snd.default_unit}.
>>
>> FWIW, www/linux-f10-flashplugin10 is using /dev/dsp0.0 on my system at the
>> moment.
>>
>> Regards,
>>
> 
> 
> 	Thanks, but I already read the sound man page.  I am trying to emulate 
> 
> 	/bin/cat WAVEFILE > /dev/dsp
> 
> 	which works well by opening /dev/dsp, making sure everything is set,
> 	the writing the bytes of the WAVEFILE thru/into the device with a 
> 	write() call.  It works, the sound echoes, but at the end is an ugly 
> 	HISSing or FIZZZZ sound.  
> 
> 	Anybody seen anything like this?  Doesn't hurt to ask, given the
> 	brainpower on this list.  But this may be something I have got to
> 	figure out.
> 
> 	(There doesn't seem to be any way of getting rid of that annoying 
> 	HISS.  ... .)

I have no idea how /dev/dsp really works but what you say sounds like 
there is some canonical buffer size it expects - like 64 kB or something 
like that, and it (wrongly) interprets garbage memory past your write as 
sound data. Try creating a larger buffer and fill the memory past the 
end of your sound with zeroes.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?himoca$ckh$2>