[pulseaudio-discuss] Playback and Recording isn't working simultaneously
Sayem Ahmed
sayem64 at gmail.com
Sun Nov 27 22:54:59 PST 2011
Hi All,
I have created two C++ classes (Recorder, Player) for recording and
playback. They have a common base class which takes care of creating the
mainloop, mainloop API and context. Each of these two classes run in
separate threads (Qt thread). The Recorder captures data from the stream
and writes it into a common buffer. The Player loops through the buffer
and writes any available data into the output device.
The problem is that this program shows inconsistent behaviour. Sometimes
it works (I can hear what what I am saying in the microphone), but most
of the times it doesn't work at all. The player callback (the one that I
set up using ****_set_write_callback) executes one time at the beginning
of the execution. After that it doesn't execute anymore (I've tested it
with debug messages). It doesn't reports any overflow/underflow
conditions either. The recorder is working as far as I've checked
(written the captured data into a file and played it using aplay). I
don't know what's the problem here. Is it because I've created two
mainloops in a single application or there are some other reasons?
Here are my codes -
1. Common base class for recorder and player:
http://pastebin.com/fbzjRV9j
2. Recorder Class: http://pastebin.com/r6hWCpG6
3. Player Class: http://pastebin.com/DDg5B1R1
4. Code that initiates/stops recording/playback:
http://pastebin.com/NGy8icz4
Thank you in advance.
Regards,
Sayem Ahmed
More information about the pulseaudio-discuss
mailing list