Commit graph

9009 commits

Author SHA1 Message Date
Ryan C. Gordon
532edaa024 testaudiocapture: use capture device buffer queueing, for better test coverage. 2016-08-06 02:48:00 -04:00
Ryan C. Gordon
42e7791e9e audio: Implemented buffer queueing for capture devices (SDL_DequeueAudio()). 2016-08-06 02:47:27 -04:00
Ryan C. Gordon
3614f6b9d0 testaudiocapture: don't use fullscreen for the window. 2016-08-06 02:45:51 -04:00
Ryan C. Gordon
b441df53cc audio: SDL_ClearQueuedAudio() should free everything but two packets.
Otherwise, if you had a massive, one-time queue buildup, the memory from that
remains allocated until you close the device. Also, if you are just using a
reasonable amount of space, this would previously cause you to reallocate it
over and over instead of keeping a little bit of memory around.
2016-08-06 02:27:55 -04:00
Ryan C. Gordon
ac07b3e542 nas: initial shot at audio capture support. Compiles, but not tested. 2016-08-05 04:23:32 -04:00
Ryan C. Gordon
18b414baa6 audio: Changed OnlyHasDefaultInputDevice to OnlyHasDefaultCaptureDevice. 2016-08-05 02:04:48 -04:00
Ryan C. Gordon
fbb34c351c audio: changed some SDL_memset() calls to SDL_zero(), other minor corrections. 2016-08-05 01:59:06 -04:00
Ryan C. Gordon
26a75839f4 audio: Removed internal SDL_audiomem.h and macros.
I think this was important for SDL 1.2 because some targets needed
special device memory for DMA buffers or locked memory buffers for use in
hardware interrupts or something, but since it just defines to SDL_malloc
and SDL_free now, I took it out for clarity's sake.

--HG--
extra : histedit_source : 57b48e44e65de9ce4e16604167db325df05bdf98%2C31d881e4d1b5eeba771f04bb43be0d23c3e605ce
2016-08-05 01:44:15 -04:00
Ryan C. Gordon
84e966c070 audio: Clean up some CloseDevice() interface details.
- It's now always called if device->hidden isn't NULL, even if OpenDevice()
  failed halfway through. This lets implementation code not have to clean up
  itself on every possible failure point; just return an error and SDL will
  handle it for you.

- Implementations can assume this->hidden != NULL and not check for it.

- implementations don't have to set this->hidden = NULL when done, because
  the caller is always about to free(this).

- Don't reset other fields that are in a block of memory about to be free()'d.

- Implementations all now free things like internal mix buffers last, after
  closing devices and such, to guarantee they definitely aren't in use anymore
  at the point of deallocation.

--HG--
extra : histedit_source : 03a1d12c89ebcc01743777ec68663a227265a7c6%2C722b053ebe4647a9e601d4e2c42e4050366b7f7d
2016-08-05 01:44:41 -04:00
Ryan C. Gordon
66f1d7b971 arts: backed out audio capture support.
Turns out that libartsc isn't thread-safe, so if we run a capture and playback
device at the same time, it often crashes in arts's internal event loop.

We could throw mutexes around the read/write calls, but these are meant to
block, so one device could cause serious latency and stutter in the other.

Since this audio target isn't in high-demand (Ubuntu hasn't offered a libartsc
package for years), I'm just backing out the capture support. If someone needs
it, they can pull it out of the revision history.
2016-08-04 11:51:17 -04:00
Ryan C. Gordon
6fb74f5474 dummy audio: Patched to compile. 2016-08-03 16:54:10 -04:00
Philipp Wiesemann
e0a678cddf Fixed two old identifiers in header comments. 2016-08-03 22:39:44 +02:00
Philipp Wiesemann
f73dc1f190 PSP: Fixed memory leak if video init failed. 2016-08-03 22:32:20 +02:00
Philipp Wiesemann
d932507b4e WinRT: Removed not needed SDL_zerop() after SDL_calloc().
SDL_calloc() already sets memory to zero.
2016-08-03 22:32:02 +02:00
Philipp Wiesemann
9cb82d5ff2 Added brackets to function names in header comments so that doxygen links them. 2016-08-03 22:30:31 +02:00
Ryan C. Gordon
31fc31cb23 dummy audio: Implemented dummy audio capture support. :) 2016-08-03 02:18:47 -04:00
Ryan C. Gordon
e717a37601 bsdaudio: first shot at audio capture support!
(untested, uncompiled...for now.)
2016-08-03 01:57:41 -04:00
Ryan C. Gordon
a0e627f821 bsdaudio: this appears to be using the wrong variable...?
(We probably never noticed because this is meant to block until it fully
writes a buffer, and would only trigger an issue if we had a short write
that wasn't otherwise an error condition.)
2016-08-03 01:56:58 -04:00
Ryan C. Gordon
db0c70b5a8 arts: Patched to (maybe) compile. 2016-08-03 01:53:59 -04:00
Ryan C. Gordon
3ed7e95984 arts: implemented audio capture support.
(completely untested! Not even compiled!!).
2016-08-03 01:01:44 -04:00
Ryan C. Gordon
2883d9cce8 alsa: capture devices don't need a mixbuf allocated. 2016-08-03 01:00:30 -04:00
Ryan C. Gordon
047cd6cf87 testaudiocapture: made test app interactive.
(hold down mouse/finger to record, then it plays back what it heard. Repeat.)
2016-08-03 00:31:08 -04:00
Ryan C. Gordon
000e5b95d0 coreaudio: Implemented audio capture for iOS. 2016-08-03 00:30:12 -04:00
Ryan C. Gordon
effa79c36a testaudiocapture: Make a simple green/red window when recording/playing. 2016-08-02 19:17:51 -04:00
Ryan C. Gordon
7fc13682c7 alsa: Implemented audio capture support! 2016-08-02 15:06:40 -04:00
Ryan C. Gordon
94da231b4c alsa: Cleaned up the 5.1 swizzle mess a little.
Shouldn't this be something ALSA handles for us with channel maps, so we can
just delete this code?
2016-08-02 15:06:05 -04:00
Ryan C. Gordon
c715b1b009 audio: a little more robustness in the capture device's thread. 2016-08-02 15:04:33 -04:00
Ryan C. Gordon
4245d5151f pulseaudio: Implemented audio capture support! 2016-08-02 13:50:58 -04:00
Ryan C. Gordon
7793384ffc audio: implemented higher level infrastructure for running capture devices. 2016-08-02 13:50:21 -04:00
Ryan C. Gordon
ff065554db audio: Made some SDL_AudioDevice fields atomic.
This makes sure they're properly communicated to the audio threads.
2016-08-02 13:48:52 -04:00
Ryan C. Gordon
9396cce861 testaudiocapture: Let specific devices be opened.
--HG--
extra : amend_source : f1b96012549325d102027b574420d369846f4d97
2016-08-02 13:38:56 -04:00
Ryan C. Gordon
f38c23dd63 BUGS.txt: Bugzilla supports SSL; changed link to https:// ... 2016-08-01 13:36:43 -04:00
Ryan C. Gordon
0a21fedf8e audio: changed some internal ints to be SDL_bools. 2016-08-01 13:32:27 -04:00
Ryan C. Gordon
9f68a038ec nacl: unlock audio thread mutex when done with it. 2016-08-01 11:47:02 -04:00
Ryan C. Gordon
40504bdb30 audio: Make SDL_AudioDevice::shutdown an atomic value.
Just to make sure this get communicated to the audio thread properly.
2016-08-01 11:45:45 -04:00
Ryan C. Gordon
d8cbd0f112 audio: Implemented capture support for Mac OS X CoreAudio.
I don't know what iOS wants yet, so this code might work there, too...?

--HG--
extra : histedit_source : ac0da911bac9f9cfd8e6335089a8c1b2d140884c
2016-08-01 00:20:47 -04:00
Ryan C. Gordon
d2873d0971 audio: Initial bits to enable audio capture support.
--HG--
extra : histedit_source : ae3938cddad98d32fdec1221ef1ed57ebb2d20e0
2016-08-01 00:18:56 -04:00
Philipp Wiesemann
cea5990d5a Fixed information in touch README and changed identifiers so doxygen links them. 2016-07-27 20:47:31 +02:00
Philipp Wiesemann
a07ce859b0 Android: Updated a comment. 2016-07-27 20:47:08 +02:00
Philipp Wiesemann
b8ba8f4d1e Android: Replaced deprecated AbsoluteLayout with RelativeLayout.
Fixes Bugzilla #2211.
2016-07-27 20:46:18 +02:00
Philipp Wiesemann
1d6a32758b Linux: Fixed memory leak in haptic implementation (thanks, Martin!).
Fixes Bugzilla #3238.
2016-07-20 21:01:14 +02:00
Philipp Wiesemann
437ec0ab40 Pandora: Fixed memory leak in video implementation. 2016-07-20 21:00:52 +02:00
Philipp Wiesemann
2a8870adf0 Pandora: Fixed compile warnings in video implementation (thanks, Bombo!).
Fixes Bugzilla #2734.
2016-07-20 21:00:36 +02:00
Philipp Wiesemann
3aafe6438a ALSA: Fixed adding wrong status to error message (thanks, romain145!).
Fixes Bugzilla #3364.
2016-07-19 21:02:44 +02:00
Philipp Wiesemann
87009d4ed9 Pandora: Fixed SDL version in debug output. 2016-07-19 21:02:09 +02:00
Philipp Wiesemann
c69d353366 Pandora: Updated SDL version in Makefile. 2016-07-19 21:01:30 +02:00
Philipp Wiesemann
7cd228c24c Pandora: Fixed referring to no more existing atomic source file in Makefile. 2016-07-19 21:01:13 +02:00
Philipp Wiesemann
082159fb7d Updated comments in video implementations. 2016-07-18 22:03:47 +02:00
Philipp Wiesemann
778b4fd4d9 Pandora: Fixed compile error in video implementation (thanks, Bombo!).
Partially fixes Bugzilla #2734.
2016-07-18 22:02:17 +02:00
Philipp Wiesemann
70603ac944 Android: Fixed androidbuild.sh not working on OS X (thanks, Steffen!).
Fixes Bugzilla #2429.
2016-07-18 22:01:01 +02:00