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 | 1845 | |
| 1846 | 1846 | if (!cap->cb_head.lh_first) { |
| 1847 | 1847 | SWVoiceOut *sw = cap->hw.sw_head.lh_first, *sw1; |
| 1848 | + | |
| 1848 | 1849 | while (sw) { |
| 1850 | + SWVoiceCap *sc = (SWVoiceCap *) sw; | |
| 1849 | 1851 | #ifdef DEBUG_CAPTURE |
| 1850 | 1852 | dolog ("freeing %s\n", sw->name); |
| 1851 | 1853 | #endif |
| 1854 | + | |
| 1852 | 1855 | sw1 = sw->entries.le_next; |
| 1853 | 1856 | if (sw->rate) { |
| 1854 | 1857 | st_rate_stop (sw->rate); |
| 1855 | 1858 | sw->rate = NULL; |
| 1856 | 1859 | } |
| 1857 | 1860 | LIST_REMOVE (sw, entries); |
| 1861 | + LIST_REMOVE (sc, entries); | |
| 1862 | + qemu_free (sc); | |
| 1858 | 1863 | sw = sw1; |
| 1859 | 1864 | } |
| 1860 | 1865 | LIST_REMOVE (cap, entries); | ... | ... |
audio/wavcapture.c
| ... | ... | @@ -121,7 +121,8 @@ int wav_start_capture (CaptureState *s, const char *path, int freq, |
| 121 | 121 | |
| 122 | 122 | wav = qemu_mallocz (sizeof (*wav)); |
| 123 | 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 | 126 | return -1; |
| 126 | 127 | } |
| 127 | 128 | ... | ... |
qemu-doc.texi
| ... | ... | @@ -741,6 +741,8 @@ show emulated PCI device |
| 741 | 741 | show USB devices plugged on the virtual USB hub |
| 742 | 742 | @item info usbhost |
| 743 | 743 | show all USB host devices |
| 744 | +@item info capture | |
| 745 | +show information about active capturing | |
| 744 | 746 | @end table |
| 745 | 747 | |
| 746 | 748 | @item q or quit |
| ... | ... | @@ -755,6 +757,23 @@ Change a removable media. |
| 755 | 757 | @item screendump filename |
| 756 | 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 | 777 | @item log item1[,...] |
| 759 | 778 | Activate logging of the specified items to @file{/tmp/qemu.log}. |
| 760 | 779 | ... | ... |