At Mon, 17 Nov 2003 23:02:04 +0100,
Roderick Colenbrander wrote:
> 
> Hi,
> 
> At the moment I'm debugging an alsa-oss emulation related bug. I'm using 
> alsa .9.8 on a i810 card. Using native alsa code I can query the capabilities 
> of the card. Alsa tells that only some 16bit formats are supported which is 
> is correct. When I'm in oss emulation mode, the driver also advertises 
> various 8bit formats which is wrong. Because of this problem the app I'm 
> debugging (Wine) is crashing as it tries to use 8bit while it isn't 
> supported.
> 
> After some digging in the alsa oss source I found this in 
> snd_pcm_oss_get_formats of pcm_oss.c:
>         if ((err = snd_pcm_oss_get_active_substream(pcm_oss_file, &substream)) 
> < 0)
>                 return err;
>         if (atomic_read(&substream->runtime->mmap_count)) {
>                 direct = 1;
>         } else {
>                 snd_pcm_oss_setup_t *setup = substream->oss.setup;
>                 direct = (setup != NULL && setup->direct);
>         }
>         if (!direct)
>                 return AFMT_MU_LAW | AFMT_U8 |
>                        AFMT_S16_LE | AFMT_S16_BE |
>                        AFMT_S8 | AFMT_U16_LE |
>                        AFMT_U16_BE;
> 
> The supported formats alsa returns in my case is what you see behind the 
> if(!direct) line, so for some reason direct = 0. As I barely know anything 
> about alsa I hope you guys can help me out.

see alsa-kernel/Documentation/OSS-Emulation.txt, section "PCM mode".
the default (plugin) mode is sometimes problematic when mmap is used.


Takashi


-------------------------------------------------------
This SF. Net email is sponsored by: GoToMyPC
GoToMyPC is the fast, easy and secure way to access your computer from
any Web browser or wireless device. Click here to Try it Free!
https://www.gotomypc.com/tr/OSDN/AW/Q4_2003/t/g22lp?Target=mm/g22lp.tmpl
_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to