audio capture fixes (malc)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2061 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
bellard 2006-07-18 21:09:59 +00:00
parent 69db0ac75a
commit a3c259974e
3 changed files with 26 additions and 1 deletions

View file

@ -1845,16 +1845,21 @@ void AUD_del_capture (CaptureVoiceOut *cap, void *cb_opaque)
if (!cap->cb_head.lh_first) {
SWVoiceOut *sw = cap->hw.sw_head.lh_first, *sw1;
while (sw) {
SWVoiceCap *sc = (SWVoiceCap *) sw;
#ifdef DEBUG_CAPTURE
dolog ("freeing %s\n", sw->name);
#endif
sw1 = sw->entries.le_next;
if (sw->rate) {
st_rate_stop (sw->rate);
sw->rate = NULL;
}
LIST_REMOVE (sw, entries);
LIST_REMOVE (sc, entries);
qemu_free (sc);
sw = sw1;
}
LIST_REMOVE (cap, entries);

View file

@ -121,7 +121,8 @@ int wav_start_capture (CaptureState *s, const char *path, int freq,
wav = qemu_mallocz (sizeof (*wav));
if (!wav) {
AUD_log ("wav", "Could not allocate memory (%zu bytes)", sizeof (*wav));
term_printf ("Could not allocate memory for wav capture (%zu bytes)",
sizeof (*wav));
return -1;
}

View file

@ -741,6 +741,8 @@ show emulated PCI device
show USB devices plugged on the virtual USB hub
@item info usbhost
show all USB host devices
@item info capture
show information about active capturing
@end table
@item q or quit
@ -755,6 +757,23 @@ Change a removable media.
@item screendump filename
Save screen into PPM image @var{filename}.
@item wavcapture filename [frequency [bits [channels]]]
Capture audio into @var{filename}. Using sample rate @var{frequency}
bits per sample @var{bits} and number of channels @var{channels}.
Defaults:
@itemize @minus
@item Sample rate = 44100 Hz - CD quality
@item Bits = 16
@item Number of channels = 2 - Stereo
@end itemize
@item stopcapture index
Stop capture with a given @var{index}, index can be obtained with
@example
info capture
@end example
@item log item1[,...]
Activate logging of the specified items to @file{/tmp/qemu.log}.