On Sun, 19 Oct 2003, Frank Barknecht wrote: > Hallo, > Mark Constable hat gesagt: // Mark Constable wrote: > > > On Sun, 19 Oct 2003 05:21 am, Bob Rossi wrote: > > > ... > > > Does anyone know how to get OSS applications to use the aoss wrapper > > > with dmix in order to get software mixing to work? > > > > > > Any help would be really appreciated. Does using dmix allow multiple > > > applications to open /dev/dsp? > > > > > > What about /dev/mixer? > > > > > > It would be extremely helpfull to see a full example of how to set this > > > up. I don't think there is such an example on the web. > > > > Sorry I can't help with your question but if anyone can come > > up with a working example could they please please please put > > the info on the Wiki at http://alsa.opensrc.org for the rest > > of us. Thanks heaps. > > I don't want to put half tested things up there, but if some people > could try the following: > > 1) Install aoss, alsaplayer, mpg123(rsp. mpg321) > > 2) Test basic dmix on alsa with: > > alsaplayer -o alsa -d plug:dmix some.mp3 & > aplay -D plug:dmix some.wav & > alsaplayer -o alsa -d plug:dmix some.mp3 & > > This should work everywhere with ALSA 0.9.7. > > 3) configure asoundrc for aoss-testing: > > # ~/.asoundrc: > > pcm.dsp0 { > type plug > slave.pcm "hw:0" > } > # or: > # pcm.dsp0 pcm.default > # if "default" hasn't been redefined > > ctl.mixer0 { > type hw > card 0 > } > > 4) Test aoss with mpg123 in oss mode: > > aoss mpg123 some.mp3 > > This should play the file, but not yet "dmix"ed. > > Now comes the tricky and rather difficult part: redefinig dsp0 to be > some kind of dmix. > > 5) The simple approach: > > # ~/.asoundrc > pcm.dsp0 { > type plug > slave.pcm "dmix" > } > # mixer0 can stay unchanged, because it isn't used anyway, I guess > # ;) > ctl.mixer0 { > type hw > card 0 > } > > Test this setup with mpg123 like under 4). This should enable dmixed > OSS playback, but it will not work on cards like the M-Audio > Audiophile or other Delta cards, that need a certain audio data format > for playback on hw:0 (which dmix uses by default). > > 6) The complex approach (defining dmix parameters) > > Because of the format conversion we need to create a custom dmix > device. I call it ossmix. > > > pcm.ossmix { > type dmix > ipc_key 1024 # must be unique! > slave { > pcm "hw:0,0" # you cannot use a "plug" > device > # here, darn. > period_time 0 > period_size 1024 # must be power of 2 > buffer_size 8192 # dito. > #format "S32_LE" > #periods 128 # dito. > #rate 8000 # with rate 8000 you *will* > hear, > # if ossmix is used :) > } > # bindings are not actually needed: > # bindings { > # 0 0 > # 1 1 > # } > } > > pcm.dsp0 { > type plug > slave.pcm "ossmix" # use our new PCM here > } > # mixer0 like above > ctl.mixer0 { > type hw > card 0 > } > > > > It is important, that this "ossmix" PCM works with your card in ALSA > mode. That is, the following should produce sound: > > alsaplayer -o alsa -d ossmix some.mp3 > > It does not do so here, yet: > > $ alsaplayer -d ossmix > error on set_format SND_PCM_FORMAT_S16_LE > Unavailable hw params: > ACCESS: RW_INTERLEAVED > FORMAT: S32_LE > SUBFORMAT: ALL > SAMPLE_BITS: ALL > FRAME_BITS: ALL > CHANNELS: 2 > RATE: 48000 > PERIOD_TIME: (21333 21334) > PERIOD_SIZE: 1024 > PERIOD_BYTES: ALL > PERIODS: (6 7) > BUFFER_TIME: (136520 136521) > BUFFER_SIZE: 6553
You see it. The maximum buffer size for your case (ICE1712 chip) is 6553 frames (262144 bytes / 4 (bytes per 32-bit sample) / 10 (playback channels)). So you should define the buffer_size to next lower value which matches power of two rule (and it's 4192). > BUFFER_BYTES: ALL > TICK_TIME: ALL > > What *does* work, however, is this: > > alsaplayer -o alsa -d plug:ossmix some.mp3 Sure, ALSA applications are not restricted with the power of two constraint. Jaroslav ----- Jaroslav Kysela <[EMAIL PROTECTED]> Linux Kernel Sound Maintainer ALSA Project, SuSE Labs ------------------------------------------------------- This SF.net email sponsored by: Enterprise Linux Forum Conference & Expo The Event For Linux Datacenter Solutions & Strategies in The Enterprise Linux in the Boardroom; in the Front Office; & in the Server Room http://www.enterpriselinuxforum.com _______________________________________________ Alsa-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-user