Playback and Recording isn't working simultaneously

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Audio Users]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux