On Tue, 12 Aug 2003, Patrick Shirkey wrote:
The one thing that makes me feel it is a qarecord
problem is the
countdown which happened when I pressed stop. Why would it do that? It
QARecord works like this:
1) Audio thread captures data from soundcard and stores it in ringbuffer.
2) Disc writer thread reads data from ringbuffer and writes it to disc.
3) There is a shared structure that holds a variable "validByteCount".
These are the numbers of bytes that are captured and not yet written
to disc.
One captured period increases validByteCount by periodsize * framesize.
One written cycle reduces validByteCount by WAVBUFSIZE=4096 bytes.
If for any reason the thread coordination does not work properly, the
writer thread does not write and the validByteCount keeps rising.
When you press "Stop", the capture thread is stopped and the remaining
validByteCount bytes are written to disc. These should however not be more
than at most 1 MB, not several minutes.
BTW I use gcc 3.3 here.
Matthias
--
Dr. Matthias Nagorni
SuSE Linux AG
Deutschherrnstr. 15-19 phone: +49 911 74053375
D - 90429 Nuernberg fax : +49 911 74053483