Commit graph

8995 commits

Author SHA1 Message Date
Ryan C. Gordon
74eda003ee Patched to compile. 2016-08-28 11:56:11 -04:00
Ryan C. Gordon
8de6259b93 alsa: Implemented hotplug support, cleaned up device names. 2016-08-28 08:50:26 -07:00
Ryan C. Gordon
1255ef83fa ios: patched to compile.
--HG--
extra : rebase_source : 6b3c529e5b6a8db2e011c32de084381c0827b0a9
2016-08-26 15:46:29 -04:00
Ryan C. Gordon
3d116adb66 alsa: don't enumerate virtual devices, just physical hardware.
--HG--
extra : rebase_source : 1d46508b4063ed81d386fe43c0cdc309d7a9628e
2016-08-15 10:09:41 -04:00
Sam Lantinga
f98a06ec45 Added SDL_PrivateJoystickAdded() and SDL_PrivateJoystickRemoved()
Updated the removal code to iterate over all joystick add messages instead of just the first one.
2016-08-26 12:18:08 -07:00
Sam Lantinga
b97a48ebad commit 1170112da3776fdb06425f62d57b63144c33dc51
Author: James Zipperer <james.zipperer@synapse.com>
Date:   Sun Aug 21 01:19:19 2016 -0700

    bugfix for controller / joystick add / remove being in the event queue at the same time
2016-08-26 11:16:44 -07:00
Philipp Wiesemann
7d1e740ea2 Emscripten: Fixed crash if closing removed joystick (thanks, Sylvain!). 2016-08-25 22:31:44 +02:00
Philipp Wiesemann
ea2a180c90 Android: Fixed crash if closing removed joystick (thanks, Sylvain!).
Fixes fix for Bugzilla #3408.
2016-08-25 22:31:33 +02:00
David Ludwig
d5a6c71aca WinRT: fixed bug where Win10 GameBar, when shown + hidden, might not restore a cursor's hidden state
The repro steps were this:
1. run an sdl2 winrt/uwp app, on Win10, v10.0.10586.0 or higher
2. hide the cursor, via a call to SDL_ShowCursor(0)
3. make the Win10 game bar appear, by pressing the Windows + G hotkey
4. observe that the mouse cursor appears, in order to interact with the
   game bar (this is expected behavior)
5. make the Win10 game bar disappear, either by pressing the Windows + G hotkey
   again, or clicking somewhere in the app

EXPECTED RESULT: cursor disappears, as game bar disappears

ACTUAL RESULT: cursor didn't always disappear

--HG--
extra : rebase_source : 79e7effb57db209f08a3995a4c087be04fe3582c
2016-08-20 13:46:45 -04:00
Philipp Wiesemann
7276d8862d Added link in header comment. 2016-08-17 21:05:00 +02:00
Philipp Wiesemann
7cc86e8e8d Emscripten: Fixed opening previously closed joystick. 2016-08-17 21:04:50 +02:00
Philipp Wiesemann
e688740f8e Android: Fixed opening previously closed joystick (thanks, Sylvain!).
Fixes Bugzilla #3408.
2016-08-17 21:04:32 +02:00
Ryan C. Gordon
f098bb1934 testaudiocapture: ask for way more output samples.
Fixes Emscripten builds on Chrome for Android.
2016-08-12 22:50:48 -04:00
Ryan C. Gordon
497af047a5 emscripten: send fake mouse events for touches, like other targets do.
(This really should be handled at the higher level and not in the individual
targets, but this fixes the immediate bug.)
2016-08-12 19:59:00 -04:00
Ryan C. Gordon
f03b539c37 emscripten audio: check for an "undefined" object, remove some console.log().
--HG--
extra : amend_source : d0d1627830c3f7ae32326b9cfedf29fbd50494ff
2016-08-12 00:03:58 -04:00
Ryan C. Gordon
fd200e01ab audio: Cleaned up "extern AudioBootStrap" list. 2016-08-11 22:26:58 -04:00
Ryan C. Gordon
7ab6161c20 audio: Renamed some internal driver symbols in various targets.
--HG--
extra : histedit_source : 3fcfd8a18486901531c00b5440a619ae22cc423d%2Ca85f21071e16f001b28ecee20ca8c9fa38e5b215
2016-08-11 22:22:09 -04:00
Ryan C. Gordon
1ef00d5809 android: implement audio capture support. 2016-08-11 22:04:49 -04:00
Ryan C. Gordon
82140ec97d directsound: Implemented audio capture support. 2016-08-10 16:00:16 -04:00
Ryan C. Gordon
6557ea09ae windows: directsound should also map audio device GUIDs to proper names.
Moved this code from winmm into core so both can use it.

DirectSound (at least on Win10) also returns truncated device names, even
though it's handed in as a string pointer and not a static-sized buffer.  :/

--HG--
extra : amend_source : 1ee0edcba3b9e8ca6426e07ff45b53f4541d2ff2
2016-08-10 15:34:24 -04:00
Ryan C. Gordon
f2e2d65d66 audio: Patched to compile on C89 compilers. 2016-08-10 14:14:14 -04:00
Ryan C. Gordon
da5e8208d4 emscripten audio: fix timer on capture's silence callback. 2016-08-10 14:13:48 -04:00
Ryan C. Gordon
938aa68565 directsound: recalculate audiospec size before creating secondary buffer.
I think this was a bug before? Maybe I'm misunderstanding this, but it looks
like it was working because we allocate room for 8 chunks...
2016-08-09 19:35:46 -04:00
Ryan C. Gordon
1a595df276 emscripten audio: Added audio capture support. 2016-08-09 16:58:32 -04:00
Ryan C. Gordon
7ab0405d0f Added a FIXME. 2016-08-09 16:58:06 -04:00
Ryan C. Gordon
7fd7e882eb testaudiocapture: open capture device to same spec as output device.
...since our resampler is still terrible (sorry!).
2016-08-09 16:57:49 -04:00
Ryan C. Gordon
d64862530f audio: Only allocate fake_stream if we're using the standard audio threads. 2016-08-09 00:44:59 -04:00
Ryan C. Gordon
6d4ba05bf6 audio: simplifed check for internal callback.
Easier to check when it's NULL instead of a list of known internal functions.
2016-08-09 00:44:05 -04:00
Sam Lantinga
cb8e57bda0 [ OSX ] enables Xbox One S Guide (System Main Menu) button detection. the one possible impact is that since button identifiers on OSX are just their sequence in the HID report descriptor we might change the button order, and any existing/saved mappings may get their order changed. 2016-08-08 12:17:53 -07:00
Ryan C. Gordon
bd3c62f996 dsp: Implemented audio capture support. 2016-08-07 02:43:20 -04:00
Ryan C. Gordon
411ece1cbb winmm: Try to get full device names from the Windows Registry. 2016-08-07 01:48:38 -04:00
Ryan C. Gordon
1096774c02 winmm: Added a FIXME for truncated device names. 2016-08-06 23:05:02 -04:00
Ryan C. Gordon
007a2a8470 winmm: Implemented audio capture support. 2016-08-06 19:34:32 -04:00
Mikkel Krautz
f9e9b84c07 Add Xbox One controller GUIDs to the XInput filter in the DirectInput joystick driver.
The Windows 10 Anniversary Update (1607) breaks the method uses that SDL uses to
detect XInput devices. That is, on Windows 10 Anniversary Update, it is no longer
possible to query RAWINPUT for HID devices, and check for "IG_" in the device name.

Presumably, this will be fixed in the future.

This patch works around the issue by adding the Xbox One controller series to the
well-known device list.

This skips the more expensive RAWINPUT check for those devices, and causes them to
be detected as XInput devices once again.
2016-08-06 15:09:20 +02:00
Ryan C. Gordon
bcfb572aff disk audio: Make default i/o delay match what device is meant to be running at.
--HG--
extra : amend_source : 26fc7877000cec9bcd7a9f024b73b838120b16a0
2016-08-06 03:45:45 -04:00
Ryan C. Gordon
602c1026e0 disk audio: Implemented "capture" support, cleaned up some things. 2016-08-06 03:39:15 -04:00
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