Hi All,
This patch fixes the solaris audio device source and sink, and fixes some
portability issues that break the build on solaris. Questions and comments
welcomed.
I've tested this patch only with OpenSolaris Express snv 103. Eventually I
hope to be able to test a few older releases and older hardware (though it
is hard to say whether there is much interest in those).
This is my first brush with pulseaudio and so I read the wiki docs and
some of the source code but I'm still unsure of a few things. In
particular I'm wondering about rewind processing, corking and what (if
anything) the module needs for those. I'm also unclear on the implications
of thread_info.buffer_size, .fragment_size and .max_request, and whether
my code is correct or not.
This patch disables link map/library versioning unless ld is GNU ld.
Another approach for solaris would be to use that linker's -M option, but
I couldn't make that work (due to undefined mainloop, browse and simple
symbols when linking pacat. I can post the errors if anyone is intested.)
Thanks,
Finn Thain
In theory the callback called after reading headers could free our whole object, so we should not
take it upon ourselves to free the headers after the call to the callback.
In the case when the alsa 'device' is not a physical card, it wont have an index and thus
the reservation name will be NULL and therefore we will not initialise the reservation system.
Fixes#498
According to http://www.apple.com/legal/trademark/appletmlist.html we could run into
problems for using these terms without also displaying a corresponding disclaimer/attribution
notice. This is difficult in the context of a headless server, so simply don't use such terms.
In GUI apps which can enable this functionality we should use the relevant terminology, and
display the appropriate attribution notices.
- s/setup_stream_fd/start_stream_fd
- introduce stop_stream_fd to suspend properly the stream_fd (does
not seem necessary when shuting down)
- move {start,stop}_stream_fd to IO thread, it is also a good idea
because it takes about 1s to setup.