Cameron Gutman
|
97fb30cdf1
|
Fix a few bugs in CVDisplayLink integration in VTRenderer
|
2019-05-19 09:52:59 -07:00 |
|
Cameron Gutman
|
b3ee7a635f
|
Cap queued audio at 40 ms on Steam Link
|
2019-05-11 19:09:59 -07:00 |
|
Cameron Gutman
|
c2b12868bb
|
Move DisplayLinkVsyncSource back into VTRenderer to reduce latency
|
2019-05-11 18:33:12 -07:00 |
|
Cameron Gutman
|
bdbb03e16f
|
Request 20 ms audio frames on Steam Link to reduce CPU overhead
|
2019-05-04 15:46:11 -07:00 |
|
Cameron Gutman
|
53138d7c16
|
Name threads for easier debugging
|
2019-05-03 21:18:58 -07:00 |
|
Cameron Gutman
|
18d1d35104
|
Use QByteArray::reserve() rather than reallocating each time we must resize
|
2019-05-02 22:54:18 -07:00 |
|
Cameron Gutman
|
99d9de35de
|
Add NV21 pixel format support to SDL renderer
|
2019-05-02 22:51:28 -07:00 |
|
Cameron Gutman
|
e6a48481a5
|
Restore the bulk submission optimization for Steam Link
|
2019-05-01 22:31:52 -07:00 |
|
Cameron Gutman
|
21f2b1224a
|
Decode directly into the audio renderer's buffer to avoid a copy
|
2019-05-01 21:27:41 -07:00 |
|
Cameron Gutman
|
27708b9ecb
|
Disable HIDAPI for Xbox gamepads on macOS
|
2019-04-28 18:45:56 -07:00 |
|
Cameron Gutman
|
dfb006d264
|
More Steam Link performance optimizations
|
2019-04-28 15:57:57 -07:00 |
|
Cameron Gutman
|
4f00f62674
|
Batch controller axis events for reduced CPU usage on Steam Link
|
2019-04-28 15:16:04 -07:00 |
|
Cameron Gutman
|
4f2fe5c988
|
Reduce polling rate on SL due to CPU performance limitations
|
2019-04-28 13:04:58 -07:00 |
|
Cameron Gutman
|
2bf552f801
|
Batch audio frames on Steam Link to save CPU cycles
|
2019-04-28 12:55:04 -07:00 |
|
Cameron Gutman
|
477fa8fedf
|
Add logging callbacks for SLAudio and SLVideo
|
2019-04-28 11:01:54 -07:00 |
|
Cameron Gutman
|
4e936193c7
|
Request a test frame for MMAL decoder
|
2019-04-24 21:31:52 -07:00 |
|
Cameron Gutman
|
082e330f9d
|
Partially revert fa4c0e82bd because we'll need Qt initialized first to detect Wayland
|
2019-04-21 17:43:38 -07:00 |
|
Cameron Gutman
|
8878c4a136
|
Use VAAPI decoder for AMD on Wayland
|
2019-04-21 15:33:21 -07:00 |
|
Cameron Gutman
|
00926bac81
|
Fix build warning in SDL renderer
|
2019-04-21 11:09:11 -07:00 |
|
Cameron Gutman
|
dba479774b
|
Add DRM renderer for Rockchip devices
|
2019-04-21 05:22:37 +00:00 |
|
Cameron Gutman
|
5c8a1e632b
|
Add support for rendering NV12 hwframes with SDL
|
2019-04-19 22:16:06 -07:00 |
|
Cameron Gutman
|
d65e29111f
|
Fix some codec selection bugs
|
2019-04-19 20:57:21 -07:00 |
|
Cameron Gutman
|
1dfca525cf
|
Refactor renderer initialization to reduce duplication and inconsistency
|
2019-04-18 20:02:14 -07:00 |
|
Cameron Gutman
|
e51ad1a68a
|
Fix use-after-free due to stale m_FrontendRenderer pointer. Fixes #214
|
2019-04-18 19:26:13 -07:00 |
|
Cameron Gutman
|
9c76700f74
|
Add MMAL renderer for Raspberry Pi
|
2019-04-16 01:20:21 -07:00 |
|
Cameron Gutman
|
773b1af6f1
|
Minor refactoring in preparation for non-hwaccel decoder support
|
2019-04-15 21:56:01 -07:00 |
|
Cameron Gutman
|
b8b633a6cc
|
Use SDL to render on Wayland for VAAPI
|
2019-04-12 22:54:21 -07:00 |
|
Cameron Gutman
|
ada2270bd1
|
Reduce code duplication in renderers
|
2019-04-12 22:12:53 -07:00 |
|
Cameron Gutman
|
25e5175c54
|
Refactor parameter passing to decoders and split backend/decode-only and frontend renderers
|
2019-04-11 22:27:20 -07:00 |
|
Cameron Gutman
|
00a1948b73
|
Treat AV_CODEC_CAP_HARDWARE codecs as hardware accelerated too
|
2019-04-09 21:50:22 -07:00 |
|
Cameron Gutman
|
859a5a5e0c
|
Allow a renderer to opt-out of the render thread and use that for SDL on OGL
|
2019-04-09 21:46:14 -07:00 |
|
Cameron Gutman
|
6783cf57da
|
TTF_OpenFontRW retains the SDL_RWops on success, so we must keep the font data around to back it
|
2019-04-09 21:26:47 -07:00 |
|
Cameron Gutman
|
905a0cdac1
|
Make GFE-reported errors more clear
|
2019-04-07 12:21:05 -07:00 |
|
Cameron Gutman
|
7c3f09c70c
|
Update poor connection behavior
|
2019-04-06 12:25:35 -07:00 |
|
Cameron Gutman
|
54383b84ec
|
Fix random deadlocks on window resize with the software decoder due to processing window messages off the render thread
|
2019-04-03 20:44:50 -07:00 |
|
Cameron Gutman
|
2d7dcb495c
|
Remove CAPABILITY_DIRECT_SUBMIT for the video decoder because it can block for significant time periods when D3D9 is reconfiguring display settings (and holding the D3D global lock)
This can cause false reports of packet loss.
|
2019-03-29 23:38:23 -07:00 |
|
Cameron Gutman
|
50f47f1ed5
|
Fix handling of screen saver after fa4c0e82bd and reset background events hint for UI after streaming
|
2019-03-26 21:11:24 -07:00 |
|
Cameron Gutman
|
cabbba2448
|
Move status update overlay to bottom left for SDL
|
2019-03-23 21:14:21 -07:00 |
|
Cameron Gutman
|
c48ed7bb0d
|
Fix undefined variable usage after 2703efedef
|
2019-03-23 20:25:19 -07:00 |
|
Cameron Gutman
|
fa4c0e82bd
|
Only initialize the video subsystem once per launch
|
2019-03-23 17:46:42 -07:00 |
|
Cameron Gutman
|
c0bf8b9c25
|
Remove redundant initializtion of SDL video
|
2019-03-23 14:26:08 -07:00 |
|
Cameron Gutman
|
c313f1a20b
|
Embed our data files inside the binary with QRC
|
2019-03-23 10:45:44 -07:00 |
|
Cameron Gutman
|
b7116657d9
|
Add SLAudio renderer for Steam Link
|
2019-03-22 23:08:10 -07:00 |
|
Cameron Gutman
|
2bf3f1b94b
|
Refactor Steam Link support files
|
2019-03-22 22:51:08 -07:00 |
|
Cameron Gutman
|
e95ff989b1
|
Allow DXVA2 renderer blacklists to be bypassed
|
2019-03-21 20:44:30 -07:00 |
|
Cameron Gutman
|
018e8999e2
|
Add connection status overlay for the VT renderer
|
2019-03-18 20:56:53 -07:00 |
|
Cameron Gutman
|
f624a1817e
|
Add preference and tweak connection warning
|
2019-03-18 20:21:52 -07:00 |
|
Cameron Gutman
|
202a643e5a
|
Fix size of the status update overlay on DXVA2
|
2019-03-17 15:12:25 -07:00 |
|
Cameron Gutman
|
c75b9c9221
|
Add connection status overlay for DXVA2 and SDL
|
2019-03-17 15:08:21 -07:00 |
|
Cameron Gutman
|
052194714a
|
Adjust thread priorities based on recent refactoring
|
2019-03-17 00:45:31 -07:00 |
|
Cameron Gutman
|
bf5d43d0cf
|
Use SDL_HINT_OVERRIDE for critical hints
|
2019-03-17 00:18:15 -07:00 |
|
Cameron Gutman
|
f2ac570949
|
Rebuild SDL2 (5dc13016cf) with USE_D3D9EX
|
2019-03-16 23:52:40 -07:00 |
|
Konstantin Budnikov
|
e32bc1a0a3
|
SDL_HapticRumblePlay rumble for gamepad without SDL_HAPTIC_LEFTRIGHT support (#181)
|
2019-02-20 19:22:38 -08:00 |
|
Cameron Gutman
|
e5a8b49c93
|
Limit the number of queued frames in Pacer to prevent excessive memory consumption if the renderer gets blocked for a while
|
2019-02-18 12:13:45 -08:00 |
|
Cameron Gutman
|
2a12b018da
|
Fix special key combos on non-QWERTY latin keyboards
|
2019-02-17 13:07:54 -08:00 |
|
Cameron Gutman
|
80a40ac5f9
|
Increase frame drop threshold
|
2019-02-16 23:13:35 -08:00 |
|
Cameron Gutman
|
a1956350b1
|
Rename pacing drop to jitter drop to be less confusing for users
|
2019-02-16 23:04:25 -08:00 |
|
Cameron Gutman
|
2c09875556
|
Fix input handler cleanup on startup failure
|
2019-02-16 01:39:31 -08:00 |
|
Cameron Gutman
|
ab4127f940
|
Use presence of a frame after rendering rather than render time for frame dropping
|
2019-02-15 22:44:52 -08:00 |
|
Cameron Gutman
|
f03d12b677
|
Use a separate render thread even with a V-Sync source
|
2019-02-15 22:09:50 -08:00 |
|
Cameron Gutman
|
81c6202582
|
Rename renderFrameAtVsync() to renderFrame() in preparation for further refactoring
|
2019-02-15 21:07:02 -08:00 |
|
Cameron Gutman
|
6cab2bec61
|
Don't trust VT to tell us whether decode is supported
|
2019-02-15 19:10:21 -08:00 |
|
Cameron Gutman
|
c2268b45f6
|
Merge pull request #177 from konst2/master
Fix hotkeys for non-latin keyboard layouts
|
2019-02-15 18:57:24 -08:00 |
|
Cameron Gutman
|
38b8a59fe5
|
Adjust overlay color for more contrast
|
2019-02-15 18:53:40 -08:00 |
|
Cameron Gutman
|
b1799009b3
|
Use the Path class to lookup ModeSeven.ttf
|
2019-02-15 18:13:36 -08:00 |
|
Cameron Gutman
|
f8e693a060
|
Drop samples to account for lost time reinitializing audio. Fixes #176
|
2019-02-14 22:32:54 -08:00 |
|
Cameron Gutman
|
aba806bc32
|
Implement debug overlay for VideoToolbox renderer
|
2019-02-13 20:55:52 -08:00 |
|
Cameron Gutman
|
b1fb3f2391
|
Set FFmpeg log level at debug until first frame is rendered
|
2019-02-13 18:34:59 -08:00 |
|
konst2
|
041e901c61
|
Fix hotkeys for non-latin keyboard layouts
|
2019-02-13 19:56:44 +03:00 |
|
Cameron Gutman
|
f83853c2fb
|
OverlayManager now manages font size for the overlays
|
2019-02-12 22:36:56 -08:00 |
|
Cameron Gutman
|
b878d64460
|
Check rumble controller number is within the supported range
|
2019-02-12 22:05:55 -08:00 |
|
Cameron Gutman
|
5397e8ae1a
|
Don't use SDL_GameControllerGetPlayerIndex() because the indexes may be non-contiguous (and wrong) on XInput
|
2019-02-12 22:04:05 -08:00 |
|
Cameron Gutman
|
46bd8ad83d
|
Add debug overlay for SDL renderer
|
2019-02-12 21:55:15 -08:00 |
|
Cameron Gutman
|
5788fa7204
|
Make OverlayManager own the overlay color setting
|
2019-02-12 20:39:10 -08:00 |
|
Cameron Gutman
|
d077c6450f
|
Split SdlRenderer from renderer.h
|
2019-02-12 19:58:36 -08:00 |
|
Cameron Gutman
|
feb5e3bc78
|
Fix SDL_WasInit asserts firing due to lifetime management issues with SdlInputHandler
|
2019-02-12 19:30:02 -08:00 |
|
Cameron Gutman
|
6ed512e762
|
Provide a renderer callback when the overlay data changes
|
2019-02-12 18:43:38 -08:00 |
|
Cameron Gutman
|
947970e07b
|
Shortcut decoder initialization when only using it for capability testing
|
2019-02-12 18:42:53 -08:00 |
|
Cameron Gutman
|
df567b405a
|
Minor bugfixes to haptics
|
2019-02-11 21:55:56 -08:00 |
|
MINICOM\mrb11
|
7b0596d9df
|
Add controller rumble support.
|
2019-02-11 21:39:55 -08:00 |
|
Cameron Gutman
|
4b7200ae69
|
Don't display the connection terminated dialog for intended disconnects
|
2019-02-10 02:19:37 -08:00 |
|
Cameron Gutman
|
d2002b6a62
|
Fix SOPS issues causing 720p60 settings on non-standard resolutions and FPS values
|
2019-02-09 20:37:11 -08:00 |
|
Cameron Gutman
|
1fd099db70
|
Log when StretchRect() fails
|
2019-02-09 18:47:57 -08:00 |
|
Cameron Gutman
|
2986a40c5a
|
Fix some gamepads working for UI navigation but not in game
|
2019-01-29 22:01:05 -08:00 |
|
Cameron Gutman
|
8bb6d4d0d9
|
Fix VDPAU scaling on AMD cards. Fixes #171
|
2019-01-29 20:52:41 -08:00 |
|
Cameron Gutman
|
21aad643f3
|
Use 32 pixel alignment for HEVC to fix Intel green line issue
|
2019-01-28 21:26:27 -08:00 |
|
Cameron Gutman
|
8687448966
|
Use StretchRect() on Intel GPUs or if VideoProcessBlt() fails
|
2019-01-28 19:18:43 -08:00 |
|
Cameron Gutman
|
4471a858db
|
Fix miscounted pacer dropped frames in non-pacing mode
|
2019-01-22 21:21:29 -08:00 |
|
Cameron Gutman
|
22e712af5a
|
Add v-sync text to stats overlay
|
2019-01-22 20:55:58 -08:00 |
|
Cameron Gutman
|
9799b82d53
|
Improve long render time logic
|
2019-01-22 20:55:35 -08:00 |
|
Cameron Gutman
|
78915e0b99
|
Use a separate render thread when not using frame pacing
|
2019-01-22 20:31:31 -08:00 |
|
Cameron Gutman
|
a4edd9d202
|
Submit frame directly from the decoder thread to avoid interference from the main thread
|
2019-01-21 20:27:37 -08:00 |
|
Cameron Gutman
|
7747624c80
|
Revert "Wake up main thread immediately after new frame is pushed"
This reverts commit aab7191a44 .
|
2019-01-21 20:10:13 -08:00 |
|
Cameron Gutman
|
aab7191a44
|
Wake up main thread immediately after new frame is pushed
|
2019-01-21 18:57:14 -08:00 |
|
Cameron Gutman
|
1f972b1828
|
Require several consecutive long render times to drop a frame
|
2019-01-21 17:58:42 -08:00 |
|
Cameron Gutman
|
58b77cf589
|
Fix inaccurate pacer drop and network drop percentages and add total FPS stat
|
2019-01-21 17:43:15 -08:00 |
|
Cameron Gutman
|
c064f87889
|
Drop a frame if the rendering time exceeds the v-sync period
|
2019-01-20 19:59:29 -08:00 |
|
Cameron Gutman
|
d6b4c8e7da
|
Avoid blocking decoding operations during Present calls
|
2019-01-20 14:08:53 -08:00 |
|
Cameron Gutman
|
b19c4bfc5d
|
Add performance overlay for DXVA2 renderer
|
2019-01-19 23:05:56 -08:00 |
|
Cameron Gutman
|
067f5e33aa
|
Increase audio buffer on Linux to 25 ms. Fixes #147. Fixes #157.
|
2019-01-06 13:49:20 -08:00 |
|
Cameron Gutman
|
52ef84873e
|
Remove excess latency control logic from SDL renderer, since it doesn't appear to work very well anyway
|
2019-01-06 13:28:43 -08:00 |
|
Cameron Gutman
|
c21ba5c808
|
Allow the audio renderer to be overriden by the ML_AUDIO environment variable
|
2019-01-06 13:28:05 -08:00 |
|
Cameron Gutman
|
11c7131875
|
Replace forgotten clamp to frameCountMax removed by e75dce2543
|
2019-01-03 18:49:18 -08:00 |
|
Cameron Gutman
|
e75dce2543
|
Remove one-sample-per-callback write logic to fix crackling at 44.1 KHz. Fixes #152
|
2019-01-03 17:23:29 -08:00 |
|
Cameron Gutman
|
dcfd3d3e48
|
Add a debug print for V-sync
|
2018-12-25 22:19:23 -08:00 |
|
Cameron Gutman
|
ec2c15946a
|
Update audio buffering parameters based on local testing
|
2018-12-25 21:45:15 -08:00 |
|
Cameron Gutman
|
d1640e3bb8
|
Audio latency tweaks and fix for PulseAudio with A2DP
|
2018-12-25 17:54:18 -08:00 |
|
Cameron Gutman
|
8612e6726d
|
Remove accidentally enabled debug prints
|
2018-12-25 14:05:55 -08:00 |
|
Cameron Gutman
|
14cb2e1999
|
Remove latency drop logic and replace by single frame writes
|
2018-12-25 14:05:17 -08:00 |
|
Cameron Gutman
|
cfabaf334e
|
Add frame pacing toggle
|
2018-12-25 12:57:00 -08:00 |
|
Cameron Gutman
|
c054536fab
|
Count Pacer delay in frame stats
|
2018-12-25 12:09:45 -08:00 |
|
Cameron Gutman
|
de3928cb4d
|
Reduce FPs on the unmapped gamepad dialog
|
2018-12-25 11:41:48 -08:00 |
|
Cameron Gutman
|
c6383f042c
|
Pin server cert to host during pairing
|
2018-12-21 18:08:07 -08:00 |
|
Cameron Gutman
|
8a5e3cdb76
|
Fix returning to app page when start fails
|
2018-12-05 22:17:26 -08:00 |
|
Cameron Gutman
|
c40174034c
|
Don't kill the app on the host when the session terminates unexpectedly
|
2018-12-05 20:17:00 -08:00 |
|
Cameron Gutman
|
5029c855f0
|
Simplify app quitting implementation a bit
|
2018-12-05 19:49:06 -08:00 |
|
Janne Hakonen
|
0ab07303c9
|
Add quit cli command and app quit option after stream session. Fixes #92 (#138)
* Add quit cli command and app quit option after stream session. Fixes #92
* Code review fixes.
|
2018-12-05 18:45:28 -08:00 |
|
Cameron Gutman
|
b97758ef46
|
Switch to libsoundio on Linux now that PA works reliably after d1fe752028
|
2018-11-28 00:13:04 -08:00 |
|
Cameron Gutman
|
d1fe752028
|
Fix busy looping in libsoundio audio renderer when no audio is playing
|
2018-11-27 23:43:31 -08:00 |
|
Cameron Gutman
|
065a6caee5
|
Use automatic remote streaming detection
|
2018-11-21 20:55:25 -08:00 |
|
Cameron Gutman
|
bf05088d70
|
Remove checks that rely on display modes because they can be inaccurate on machines when the monitor is off
|
2018-11-20 22:02:43 -08:00 |
|
Cameron Gutman
|
688c4a90d9
|
Use the raw display bounds not the usable display bounds for full-screen calculations
|
2018-11-18 23:10:30 -08:00 |
|
Cameron Gutman
|
d847b71c86
|
Fix host virtual gamepads being reconnected during stream startup and causing issues with multiple controllers. Fixes #108
|
2018-11-18 12:05:17 -08:00 |
|
Cameron Gutman
|
dfcc1ff899
|
Also print gamepad mapping on gamepad attach
|
2018-11-17 17:23:20 -08:00 |
|
Cameron Gutman
|
65562937f3
|
Print gamepad GUID string in logs
|
2018-11-17 17:10:52 -08:00 |
|
Cameron Gutman
|
25f70e570e
|
Add timer-based input batching for GFE 3.16
|
2018-11-15 20:52:07 -08:00 |
|
Cameron Gutman
|
789e52af57
|
Use SDL_GameControllerGetPlayerIndex() as a hint for picking player indexes
|
2018-11-03 13:04:34 -07:00 |
|
Cameron Gutman
|
76e5794203
|
Remove SetThreadExecutionState() call now that SDL_DisableScreenSaver() works on Windows
|
2018-11-03 12:44:14 -07:00 |
|
Cameron Gutman
|
e1fab22d98
|
Fix accidental removal of decoder deletion in previous commit
|
2018-10-31 18:49:37 -07:00 |
|
Cameron Gutman
|
cb5e58d465
|
Fix use-after-free caught by debug build of SDL2
|
2018-10-31 18:20:39 -07:00 |
|
Cameron Gutman
|
d5a1189053
|
Avoid VAAPI on AMD drivers due to a bad memory leak
|
2018-10-14 20:37:13 -07:00 |
|
Cameron Gutman
|
fd63aad3b8
|
Only avoid HEVC on GFE 3.10 and lower on macOS
|
2018-10-14 11:28:52 -07:00 |
|
Cameron Gutman
|
36f468a599
|
Fix window icon disappearing when toggling out of full-screen mode on Windows
|
2018-10-12 20:34:58 -07:00 |
|
Cameron Gutman
|
dfae69834a
|
Fix misleading debug print
|
2018-10-12 20:02:54 -07:00 |
|
Cameron Gutman
|
4f84843b00
|
Fixup H.264 SPS for VideoToolbox compatibility. Fixes #98
|
2018-10-12 17:59:53 -07:00 |
|
Cameron Gutman
|
1fc63a6529
|
Exclude libsoundio from Linux build
|
2018-10-06 18:24:34 -07:00 |
|
Cameron Gutman
|
e182445593
|
libsoundio audio renderer for Windows and Mac (#97)
|
2018-10-05 19:22:57 -07:00 |
|
Cameron Gutman
|
6661ca17c2
|
Fix keys being stuck after Moonlight loses focus or is quit via OS shortcut (Alt+Tab/Alt+F4)
|
2018-10-03 18:27:12 -07:00 |
|
Cameron Gutman
|
1b4e75f49e
|
Add support for sending X1 and X2 mouse buttons. Fixes #91
|
2018-10-03 17:56:42 -07:00 |
|
Cameron Gutman
|
9075f309ad
|
Disable annoying stream stats prints
|
2018-10-02 20:12:53 -07:00 |
|
Cameron Gutman
|
18d97e9f73
|
Fix errant touch events on macOS
|
2018-10-02 20:11:13 -07:00 |
|
Cameron Gutman
|
bccd118abb
|
Finish removal of auto audio option and rename the remaining options
|
2018-10-02 15:30:22 -07:00 |
|
Cameron Gutman
|
3dc049ee5f
|
Remove automatic audio configuration permanently due to brokenness and allow renderers to request reinitialization on demand
|
2018-10-02 01:21:42 -07:00 |
|
Cameron Gutman
|
a614a693e5
|
Revert "Fix surround sound channel mapping on ALSA" since it can be handled inside PortAudio
|
2018-10-02 01:09:13 -07:00 |
|
Cameron Gutman
|
8dddcd04d5
|
Remove IAudioRenderer::testAudio() and just use IAudioRenderer::prepareForPlayback() instead
|
2018-10-01 19:49:08 -07:00 |
|
Cameron Gutman
|
209b4a1b02
|
Fix surround sound channel mapping on ALSA
|
2018-10-01 18:46:16 -07:00 |
|
Cameron Gutman
|
c239d0814b
|
Move audio renderer destruction back off the main thread now that we're using atexit(SDL_Quit)
|
2018-09-30 18:09:12 -07:00 |
|
Cameron Gutman
|
f7789a1e4a
|
Add Select+Start+L1+R1 quit combo
|
2018-09-30 14:38:54 -07:00 |
|
Cameron Gutman
|
9fb0bffd61
|
Finish touch input support
|
2018-09-30 01:03:26 -07:00 |
|
Cameron Gutman
|
4a452a2467
|
Touch input WIP
|
2018-09-29 22:43:28 -07:00 |
|