From a3c259974ea93b160112a9c61101e667664443c3 Mon Sep 17 00:00:00 2001 From: bellard Date: Tue, 18 Jul 2006 21:09:59 +0000 Subject: [PATCH] audio capture fixes (malc) git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2061 c046a42c-6fe2-441c-8c8c-71466251a162 --- audio/audio.c | 5 +++++ audio/wavcapture.c | 3 ++- qemu-doc.texi | 19 +++++++++++++++++++ 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/audio/audio.c b/audio/audio.c index 9be77c09d0..8e7af1aca5 100644 --- a/audio/audio.c +++ b/audio/audio.c @@ -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); diff --git a/audio/wavcapture.c b/audio/wavcapture.c index 748b58006e..f55d59cac6 100644 --- a/audio/wavcapture.c +++ b/audio/wavcapture.c @@ -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; } diff --git a/qemu-doc.texi b/qemu-doc.texi index f7da0b37a1..1e49ccfab3 100644 --- a/qemu-doc.texi +++ b/qemu-doc.texi @@ -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}.