audio capture fixes (malc)
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Tue, 18 Jul 2006 21:09:59 +0000 (21:09 +0000)
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Tue, 18 Jul 2006 21:09:59 +0000 (21:09 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2061 c046a42c-6fe2-441c-8c8c-71466251a162

audio/audio.c
audio/wavcapture.c
qemu-doc.texi

index 9be77c0..8e7af1a 100644 (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);
index 748b580..f55d59c 100644 (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;
     }
 
index f7da0b3..1e49ccf 100644 (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}.