Hi all,
        I took the advice and used write()  from the other task.  It
promptly returned with < 0 error.
I do not know how the oss emulation in ALSA happens, so I do not know what
exactly went wrong.
Any more suggestions are welcome.

        Again, continuing my experiment with calling snd_pcm_oss_write
directly,  I traced the crash to few fns called from fn snd_pcm_prepare in
pcm_native.c   . These fns seem to be making few ioctls like
..._IOCTL_PREPARE  and  ..._IOCTL_DRAIN. (more fns name ..ioctl than
ioctl() call itself).   what are these fns doing and is it normal that they
are called after snd_pcm_oss_write has already been called.

--shaju abraham



Paul Davis wrote:

> >          I am in a situation where I intend to call snd_pcm_oss_write
> >directly.
>
> AFAIK, this is not a supported use of the alsa-lib API. There is no
> guarantee that your application will continue to work in future
> versions of alsa-lib.
>
> >What exactly happens is - the open and all the initial ioctl calls are
> >done by the oss application. But the write call of the oss application
> >is not done but it is done by some other task.
>
> there is still no reason to be using snd_pcm_<type>_<function> directly.
>
> if you insist on using the OSS API (a big error, IMHO) then you can
> just use the OSS API in the other task.
>
> --p



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to