Commit a3c259974ea93b160112a9c61101e667664443c3
1 parent
69db0ac7
audio capture fixes (malc)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2061 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
3 changed files
with
26 additions
and
1 deletions
audio/audio.c
@@ -1845,16 +1845,21 @@ void AUD_del_capture (CaptureVoiceOut *cap, void *cb_opaque) | @@ -1845,16 +1845,21 @@ void AUD_del_capture (CaptureVoiceOut *cap, void *cb_opaque) | ||
1845 | 1845 | ||
1846 | if (!cap->cb_head.lh_first) { | 1846 | if (!cap->cb_head.lh_first) { |
1847 | SWVoiceOut *sw = cap->hw.sw_head.lh_first, *sw1; | 1847 | SWVoiceOut *sw = cap->hw.sw_head.lh_first, *sw1; |
1848 | + | ||
1848 | while (sw) { | 1849 | while (sw) { |
1850 | + SWVoiceCap *sc = (SWVoiceCap *) sw; | ||
1849 | #ifdef DEBUG_CAPTURE | 1851 | #ifdef DEBUG_CAPTURE |
1850 | dolog ("freeing %s\n", sw->name); | 1852 | dolog ("freeing %s\n", sw->name); |
1851 | #endif | 1853 | #endif |
1854 | + | ||
1852 | sw1 = sw->entries.le_next; | 1855 | sw1 = sw->entries.le_next; |
1853 | if (sw->rate) { | 1856 | if (sw->rate) { |
1854 | st_rate_stop (sw->rate); | 1857 | st_rate_stop (sw->rate); |
1855 | sw->rate = NULL; | 1858 | sw->rate = NULL; |
1856 | } | 1859 | } |
1857 | LIST_REMOVE (sw, entries); | 1860 | LIST_REMOVE (sw, entries); |
1861 | + LIST_REMOVE (sc, entries); | ||
1862 | + qemu_free (sc); | ||
1858 | sw = sw1; | 1863 | sw = sw1; |
1859 | } | 1864 | } |
1860 | LIST_REMOVE (cap, entries); | 1865 | LIST_REMOVE (cap, entries); |
audio/wavcapture.c
@@ -121,7 +121,8 @@ int wav_start_capture (CaptureState *s, const char *path, int freq, | @@ -121,7 +121,8 @@ int wav_start_capture (CaptureState *s, const char *path, int freq, | ||
121 | 121 | ||
122 | wav = qemu_mallocz (sizeof (*wav)); | 122 | wav = qemu_mallocz (sizeof (*wav)); |
123 | if (!wav) { | 123 | if (!wav) { |
124 | - AUD_log ("wav", "Could not allocate memory (%zu bytes)", sizeof (*wav)); | 124 | + term_printf ("Could not allocate memory for wav capture (%zu bytes)", |
125 | + sizeof (*wav)); | ||
125 | return -1; | 126 | return -1; |
126 | } | 127 | } |
127 | 128 |
qemu-doc.texi
@@ -741,6 +741,8 @@ show emulated PCI device | @@ -741,6 +741,8 @@ show emulated PCI device | ||
741 | show USB devices plugged on the virtual USB hub | 741 | show USB devices plugged on the virtual USB hub |
742 | @item info usbhost | 742 | @item info usbhost |
743 | show all USB host devices | 743 | show all USB host devices |
744 | +@item info capture | ||
745 | +show information about active capturing | ||
744 | @end table | 746 | @end table |
745 | 747 | ||
746 | @item q or quit | 748 | @item q or quit |
@@ -755,6 +757,23 @@ Change a removable media. | @@ -755,6 +757,23 @@ Change a removable media. | ||
755 | @item screendump filename | 757 | @item screendump filename |
756 | Save screen into PPM image @var{filename}. | 758 | Save screen into PPM image @var{filename}. |
757 | 759 | ||
760 | +@item wavcapture filename [frequency [bits [channels]]] | ||
761 | +Capture audio into @var{filename}. Using sample rate @var{frequency} | ||
762 | +bits per sample @var{bits} and number of channels @var{channels}. | ||
763 | + | ||
764 | +Defaults: | ||
765 | +@itemize @minus | ||
766 | +@item Sample rate = 44100 Hz - CD quality | ||
767 | +@item Bits = 16 | ||
768 | +@item Number of channels = 2 - Stereo | ||
769 | +@end itemize | ||
770 | + | ||
771 | +@item stopcapture index | ||
772 | +Stop capture with a given @var{index}, index can be obtained with | ||
773 | +@example | ||
774 | +info capture | ||
775 | +@end example | ||
776 | + | ||
758 | @item log item1[,...] | 777 | @item log item1[,...] |
759 | Activate logging of the specified items to @file{/tmp/qemu.log}. | 778 | Activate logging of the specified items to @file{/tmp/qemu.log}. |
760 | 779 |