Frank Thanks for the feedback! The code style change was a force of habit thing, no problems. Any thoughts on the variable names?
The PA_STREAM_ADJUST_LATENCY stream flag can be selectively enabled for recent versions by using the PA_API_VERSION define. PA_STREAM_ADJUST_LATENCY isn't strictly required, without the functionality there will be an extra latency, but things should still work fine. If a binary is compiled against a newer version of the includes it should still work with a pre pulse-0.9.11 userspace as the server will just ignore the flag. The functions used are not dependent on that version. I had fun with this in another project because ubuntu shipped pulse version 0.9.10 for seemingly forever while patches I wrote used functions from 0.9.11 and newer. Cheers -Art On Tue, Jan 5, 2010 at 12:12 AM, Frank Mehnert <[email protected]> wrote: > Art, > > On Sunday 03 January 2010, Arthur Taylor wrote: >> >> A month ago I was approached by a VirtualBox user asking if I would >> >> take a look at the VirtualBox PulseAudio support code because of work >> >> I had done with PulseAudio and Wine. The attached patch is the result >> >> of my investigation. The code is simpler in some places and commented >> >> more. This patch's main purpose is that it fixes >> >> http://www.virtualbox.org/ticket/4302 as pulse_run_in was completely >> >> rewritten. The way streams are connected and buffers metrics chosen >> >> was also simplified. Audio output should work as well as before or >> >> better. From what I can tell audio capture support had stopped working >> >> because of a PulseAudio daemon behavior change where it will now pass >> >> very very small fragments rather than only large ones. >> >> >> >> If the patch is needs improvement, I'm always wanting feedback. The >> >> contents of the patch are derived from VirtualBox source code. >> >> Contributions which are original are wholly my own work and are >> >> licensed under the MIT licence. > > thanks for this patch! I'm currently reviewing it. While doing this > I will revert some of your coding style changes. Our coding style > is documented in doc/VBox-CodingGuidelines.cpp. Code which was imported > from other projects (e.g. some devices and drivers as well as parts of > the audio subsystem) will usually keep the style of the original project > while code written from scratch (like the pulseaudio driver) should > comply with the coding style of VBox. I hope you can comprehend our > intensions. > > There is currently an issue (I'm still not 100% through your changes): > The flag PA_STREAM_ADJUST_LATENCY is only available starting with > PulseAudio 0.9.11 (PA_API_VERSION >= 12). As we support the PulseAudio > backend on older Linux distributions as well we need adaptions for > the older API. > > Kind regards, > > Frank > -- > Dr.-Ing. Frank Mehnert > > Sitz der Gesellschaft: > Sun Microsystems GmbH, Sonnenallee 1, 85551 Kirchheim-Heimstetten > Amtsgericht München: HRB 161028 > Geschäftsführer: Thomas Schröder, Wolfgang Engels, Wolf Frenkel > Vorsitzender des Aufsichtsrates: Martin Häring > > _______________________________________________ > vbox-dev mailing list > [email protected] > http://vbox.innotek.de/mailman/listinfo/vbox-dev > > -- Arthur Taylor [email protected] [email protected] _______________________________________________ vbox-dev mailing list [email protected] http://vbox.innotek.de/mailman/listinfo/vbox-dev
