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