View Single Post
Posts: 16 | Thanked: 15 times | Joined on Nov 2010
#20
I used pulseaudio's 'pactl list' command to inspect the pulseaudio configuration to find out what happens while in the following cases:
- when the phone is idle
- playing audio using paplay
- within an active call
- playing audio and within a call at the same time

I reached the following results:
- When in a call, the phone application does the following:
- it creates a new sink input on the pulse server whose driver is "voice-cs-call-sink-input.c"
- it mutes all the sink inputs on the server
- it switches the main sink and source's buffers to the "alternative" one. To be specific: for the sink "sink.hw0" and the source "source.hw0" it sets the property "x-maemo.alsa_source.buffers" to "alternative" instead of "primary".

What I did was that I made a program that uses the pulseaudio api to unmute the sink inputs. I tested but still no sound other than that of the call. So I thought then that I'd try to change the buffers back to the value "primary" but that's where I got stuck. I use QTCreator for the development. And I made use of the example made by a fine man at http://www.ypass.net/blog/2009/10/pu...-device-lists/. But when it gets to changing the sink or source properties I would need to use the "pulsecore" library. but in no way does my application compile correctly when i include anything from this library. I get all kinds of errors. So what I need now is that someone help me with either a simple project using the pulsecore library( I guess) and doing any simple task that would compile correctly on QTCreator. or provide me with another idea or method to be able to change that property.