Commit Graph

8904 Commits

Author SHA1 Message Date
Ryan C. Gordon
131fcd9fe0 audio: Changed OnlyHasDefaultInputDevice to OnlyHasDefaultCaptureDevice. 2016-08-05 02:04:48 -04:00
Ryan C. Gordon
1e4773bde7 audio: changed some SDL_memset() calls to SDL_zero(), other minor corrections. 2016-08-05 01:59:06 -04:00
Ryan C. Gordon
6b1488f2a5 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.
2016-08-05 01:44:15 -04:00
Ryan C. Gordon
d791a67db6 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.
2016-08-05 01:44:41 -04:00
Ryan C. Gordon
fa2aa88c2a 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
606e55be1f dummy audio: Patched to compile. 2016-08-03 16:54:10 -04:00
Philipp Wiesemann
9d15a379e5 Fixed two old identifiers in header comments. 2016-08-03 22:39:44 +02:00
Philipp Wiesemann
0f602c1985 PSP: Fixed memory leak if video init failed. 2016-08-03 22:32:20 +02:00
Philipp Wiesemann
46eb4f59f2 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
5cb20e668d Added brackets to function names in header comments so that doxygen links them. 2016-08-03 22:30:31 +02:00
Ryan C. Gordon
f4d57c249f dummy audio: Implemented dummy audio capture support. :) 2016-08-03 02:18:47 -04:00
Ryan C. Gordon
edd97c1682 bsdaudio: first shot at audio capture support!
(untested, uncompiled...for now.)
2016-08-03 01:57:41 -04:00
Ryan C. Gordon
1d2a76a521 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
8452695f6a arts: Patched to (maybe) compile. 2016-08-03 01:53:59 -04:00
Ryan C. Gordon
38ab183b02 arts: implemented audio capture support.
(completely untested! Not even compiled!!).
2016-08-03 01:01:44 -04:00
Ryan C. Gordon
302477c0cb alsa: capture devices don't need a mixbuf allocated. 2016-08-03 01:00:30 -04:00
Ryan C. Gordon
f32e1a4671 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
68a9669205 coreaudio: Implemented audio capture for iOS. 2016-08-03 00:30:12 -04:00
Ryan C. Gordon
1b81d1bf07 testaudiocapture: Make a simple green/red window when recording/playing. 2016-08-02 19:17:51 -04:00
Ryan C. Gordon
fd1dc3e58a alsa: Implemented audio capture support! 2016-08-02 15:06:40 -04:00
Ryan C. Gordon
356b8ba2ea 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
78c4b66217 audio: a little more robustness in the capture device's thread. 2016-08-02 15:04:33 -04:00
Ryan C. Gordon
8e430fdbb1 pulseaudio: Implemented audio capture support! 2016-08-02 13:50:58 -04:00
Ryan C. Gordon
4fe614c37e audio: implemented higher level infrastructure for running capture devices. 2016-08-02 13:50:21 -04:00
Ryan C. Gordon
a9f4b6ad89 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
ceae704649 testaudiocapture: Let specific devices be opened. 2016-08-02 13:38:56 -04:00
Ryan C. Gordon
c5f2990259 BUGS.txt: Bugzilla supports SSL; changed link to https:// ... 2016-08-01 13:36:43 -04:00
Ryan C. Gordon
5aaea799e2 audio: changed some internal ints to be SDL_bools. 2016-08-01 13:32:27 -04:00
Ryan C. Gordon
ec1107e2b7 nacl: unlock audio thread mutex when done with it. 2016-08-01 11:47:02 -04:00
Ryan C. Gordon
c0bb6dad30 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
ccbbbde567 audio: Implemented capture support for Mac OS X CoreAudio.
I don't know what iOS wants yet, so this code might work there, too...?
2016-08-01 00:20:47 -04:00
Ryan C. Gordon
5b2b9fb1f8 audio: Initial bits to enable audio capture support. 2016-08-01 00:18:56 -04:00
Philipp Wiesemann
07a47a3323 Fixed information in touch README and changed identifiers so doxygen links them. 2016-07-27 20:47:31 +02:00
Philipp Wiesemann
8f41219580 Android: Updated a comment. 2016-07-27 20:47:08 +02:00
Philipp Wiesemann
81739e5431 Android: Replaced deprecated AbsoluteLayout with RelativeLayout.
Fixes Bugzilla #2211.
2016-07-27 20:46:18 +02:00
Philipp Wiesemann
bef8634446 Linux: Fixed memory leak in haptic implementation (thanks, Martin!).
Fixes Bugzilla #3238.
2016-07-20 21:01:14 +02:00
Philipp Wiesemann
3fda6e468d Pandora: Fixed memory leak in video implementation. 2016-07-20 21:00:52 +02:00
Philipp Wiesemann
8b903ea2af Pandora: Fixed compile warnings in video implementation (thanks, Bombo!).
Fixes Bugzilla #2734.
2016-07-20 21:00:36 +02:00
Philipp Wiesemann
c978a8ae30 ALSA: Fixed adding wrong status to error message (thanks, romain145!).
Fixes Bugzilla #3364.
2016-07-19 21:02:44 +02:00
Philipp Wiesemann
3008e760f6 Pandora: Fixed SDL version in debug output. 2016-07-19 21:02:09 +02:00
Philipp Wiesemann
ca97ac51cc Pandora: Updated SDL version in Makefile. 2016-07-19 21:01:30 +02:00
Philipp Wiesemann
ae99f4e2a6 Pandora: Fixed referring to no more existing atomic source file in Makefile. 2016-07-19 21:01:13 +02:00
Philipp Wiesemann
9a47a9d16a Updated comments in video implementations. 2016-07-18 22:03:47 +02:00
Philipp Wiesemann
703cb75378 Pandora: Fixed compile error in video implementation (thanks, Bombo!).
Partially fixes Bugzilla #2734.
2016-07-18 22:02:17 +02:00
Philipp Wiesemann
53f6e0c8bd Android: Fixed androidbuild.sh not working on OS X (thanks, Steffen!).
Fixes Bugzilla #2429.
2016-07-18 22:01:01 +02:00
Philipp Wiesemann
c4bb7816f4 Android: Fixed missing export of a JNI function (thanks, Andrii!).
Fixes Bugzilla #3393.
2016-07-17 21:43:12 +02:00
Philipp Wiesemann
3d8686ddbf Android: Fixed compile warning about a missing prototype (thanks, Sylvain!).
Fixes Bugzilla #3351.
2016-07-17 21:42:53 +02:00
Philipp Wiesemann
c3e852012f Fixed compile warnings about evaluating undefined identifiers.
Partially fixes Bugzilla #3351.
2016-07-17 20:32:44 +02:00
Brandon Schaefer
9db1333999 Tests: Would be wise to compile this 2016-07-13 09:41:43 -07:00
Brandon Schaefer
49143c57e9 Tests: Somehow tabs leaked in... 2016-07-13 07:39:01 -07:00