Cameron Gutman
|
5e57a7d5c0
|
Prevent SDL renderer from trying to render 10-bit output
|
2019-11-05 17:29:21 -08:00 |
|
Cameron Gutman
|
7c8d27700e
|
Add 10-bit output support to VDPAU renderer
|
2019-11-05 17:09:44 -08:00 |
|
Cameron Gutman
|
f8621be5ee
|
Add an HEVC Main10 test frame
|
2019-11-05 17:08:25 -08:00 |
|
Cameron Gutman
|
ca26fa2dd0
|
Add basic HEVC Main10 support in DXVA2 renderer
|
2019-11-04 22:57:12 -08:00 |
|
Cameron Gutman
|
2f0a6db414
|
Add hacks for SDL+Mutter interaction bugs
|
2019-09-29 21:05:31 -07:00 |
|
Cameron Gutman
|
96ff51d598
|
Use SDL audio for platforms that libsoundio doesn't support
|
2019-09-22 12:03:53 -07:00 |
|
Cameron Gutman
|
dbf98ce3a6
|
Require keyframes even for software H.264 decoding
|
2019-08-07 22:38:31 -07:00 |
|
Cameron Gutman
|
5288041da5
|
Prevent us from consuming more than 4 samples per write callback to bound latency
|
2019-08-03 12:47:44 -07:00 |
|
Cameron Gutman
|
5db5a088ea
|
Fix NVDEC artifacts if the renderer is delayed for a bit
|
2019-08-01 20:25:58 -07:00 |
|
Cameron Gutman
|
7acf91883a
|
Rework audio renderer selection to fall back and treat ML_AUDIO as a hard selection
|
2019-07-26 12:50:45 -04:00 |
|
Cameron Gutman
|
bcbd1a5b4b
|
Fix subsystem print in VAAPI
|
2019-07-07 15:41:26 -07:00 |
|
Cameron Gutman
|
6468efd7e4
|
Add VAAPI DRM support
|
2019-07-07 15:32:38 -07:00 |
|
Cameron Gutman
|
ea8b905f02
|
Missed a call to SDL_SetRelativeMouseMode
|
2019-07-02 22:39:09 -07:00 |
|
Cameron Gutman
|
16b301236b
|
Add a mouse capture fallback if SDL_SetRelativeMouseMode() fails
|
2019-07-02 22:17:38 -07:00 |
|
Cameron Gutman
|
024af89be3
|
Add an option to disable the gamepad mouse button toggle
|
2019-06-29 18:24:59 -07:00 |
|
Cameron Gutman
|
0a5051f959
|
Add Discord Rich Presence integration for Windows
|
2019-06-29 17:40:30 -07:00 |
|
Cameron Gutman
|
82b6b60b31
|
Take advantage of SDL 2.0.10 bugfixes and new APIs. Fixes #133
|
2019-06-29 16:08:04 -07:00 |
|
Cameron Gutman
|
1c225ed04d
|
Use CUDA acceleration if other hwaccels are unavailable
|
2019-06-26 21:54:29 -07:00 |
|
Cameron Gutman
|
612b738968
|
Use the preferred sw_format when reading frames back
|
2019-06-26 21:25:41 -07:00 |
|
Cameron Gutman
|
87356ef594
|
Add CUDA acceleration support
|
2019-06-26 21:02:33 -07:00 |
|
Cameron Gutman
|
524cc97f51
|
Use borderless windowed mode when toggling to full-screen from an initially windowed stream. Fixes #248
|
2019-06-23 13:29:57 -07:00 |
|
Cameron Gutman
|
fc849fb51a
|
Switch back to SDL for audio on Linux. Fixes #245
|
2019-06-23 13:16:00 -07:00 |
|
Cameron Gutman
|
c88651939a
|
Re-add latency bounding on the SDL audio renderer
|
2019-06-23 13:14:55 -07:00 |
|
Cameron Gutman
|
01254f67f0
|
Allow audio renderers to specify capabilities
|
2019-06-23 12:49:37 -07:00 |
|
Cameron Gutman
|
4f74fd5354
|
Fix uninitialized variables and a race condition with CVDisplayLinkStart()
|
2019-05-21 09:09:16 -07:00 |
|
Cameron Gutman
|
2682829bd3
|
Fix Steam Link audio latency cap
|
2019-05-20 23:57:27 -07:00 |
|
Cameron Gutman
|
30cfa2607d
|
Hide mouse cursor after streaming on Steam Link
|
2019-05-19 17:43:46 -07:00 |
|
Cameron Gutman
|
4c17f32a2e
|
Fix extra non-working gamepad appearing to the host
|
2019-05-19 13:24:06 -07:00 |
|
Cameron Gutman
|
674220087f
|
Finish mouse emulation support with overlay and bugfixes
|
2019-05-19 13:10:42 -07:00 |
|
Cameron Gutman
|
fc8d5d5799
|
Add gamepad mouse emulation support
|
2019-05-19 12:17:23 -07:00 |
|
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 |
|
Cameron Gutman
|
396d65b003
|
Fix typo in previous commit
|
2018-09-29 22:24:26 -07:00 |
|
Cameron Gutman
|
fa52e7c1b7
|
Fix audio device error with PA renderer (and constify some methods)
|
2018-09-29 22:19:41 -07:00 |
|
Cameron Gutman
|
6758d6c43e
|
Create MappingManager class to handle gamepad mappings (currently only saving custom mappings)
|
2018-09-29 20:33:45 -07:00 |
|
Cameron Gutman
|
4ad27670ec
|
Provide detection and help for unmapped gamepads. Fixes #70
|
2018-09-29 19:14:52 -07:00 |
|
Cameron Gutman
|
1ad072236d
|
Avoid calling Pa_IsStreamStopped() on each audio frame
|
2018-09-29 16:52:40 -07:00 |
|
Cameron Gutman
|
200b1c5095
|
Rename hpp -> h
|
2018-09-29 16:18:46 -07:00 |
|
Janne Hakonen
|
d14cfb577b
|
Add command line parameters. Fixes #30 (#89)
* Add command line parameters. Fixes #30
* Fixed compile errors
* Fixed code review findings
* Fixed code review findings, take 2
|
2018-09-29 14:06:55 -07:00 |
|
Cameron Gutman
|
4620fa5001
|
Retry serverinfo query for adding a PC if the request fails with ServiceUnavailableError. Fixes #88
|
2018-09-29 03:01:49 -07:00 |
|
Cameron Gutman
|
a0249b4337
|
Add video stats for performance overlay
|
2018-09-25 00:47:59 -07:00 |
|
Cameron Gutman
|
f2e40889b2
|
Performance tweaks to PortAudio renderer
|
2018-09-22 21:00:44 -07:00 |
|
Cameron Gutman
|
896b247bc0
|
Remove H.264 high performance preference and enable HEVC split encode
|
2018-09-22 20:27:02 -07:00 |
|
Cameron Gutman
|
605d52f160
|
Don't block in audio/video renderer callbacks while the renderer is being destroyed
|
2018-09-22 20:03:41 -07:00 |
|
Cameron Gutman
|
afb2b465a8
|
Avoid using direct submit for video decoding because FFmpeg can delay for a fairly significant period of time within avcodec_send_packet() and avcodec_receive_frame(), even for software decoding. This is particularly apparent when streaming well above hardware capabilities and leads to packet loss.
|
2018-09-22 19:30:13 -07:00 |
|
Cameron Gutman
|
b1de66d878
|
Directly use the AVBufferSampleDisplayLayer as the rendering view's layer to increase efficiency
|
2018-09-22 18:34:15 -07:00 |
|
Cameron Gutman
|
71b625081a
|
Switch to PortAudio for audio playback
|
2018-09-22 17:39:12 -07:00 |
|
Cameron Gutman
|
2cd4851601
|
Improve PortAudio channel autodetection algorithm to workaround PulseAudio issues
|
2018-09-22 16:51:45 -07:00 |
|
Cameron Gutman
|
14ec0259df
|
Switch back from Qt Multimedia to SDL for audio configuration detection. Qt is also broken, but just broken in a way that always reports stereo
|
2018-09-22 16:20:00 -07:00 |
|
Cameron Gutman
|
9f0617f6ee
|
Gracefully fall back to stereo audio if 5.1 doesn't work
|
2018-09-22 16:04:36 -07:00 |
|
Cameron Gutman
|
2c960059ee
|
Add PoC PortAudio audio renderer
|
2018-09-21 23:30:47 -07:00 |
|
Cameron Gutman
|
af9fb0e091
|
Fix GetVideoProcessorCaps() failure handling
|
2018-09-21 17:29:53 -07:00 |
|
Cameron Gutman
|
f96911e1ba
|
Use DXVA2_VideoProcProgressiveDevice since we don't need any fancy image processing or deinterlacing
|
2018-09-21 17:07:28 -07:00 |
|
Cameron Gutman
|
8a0089eb81
|
Print driver information in VDPAU and VAAPI renderers
|
2018-09-20 21:23:16 -07:00 |
|
Cameron Gutman
|
f4408473e6
|
Fix broken Alt+Tab behavior. Fixes #72
|
2018-09-16 11:21:15 -07:00 |
|
Cameron Gutman
|
04376ca047
|
Fix Clang format string signness mismatch warnings
|
2018-09-15 16:00:36 -07:00 |
|
Cameron Gutman
|
a2eece0f5c
|
Log audio buffer size
|
2018-09-15 13:27:57 -07:00 |
|
Cameron Gutman
|
a03279df3b
|
Fix errant mouse button event being sent on mouse capture
|
2018-09-14 22:09:45 -07:00 |
|
Cameron Gutman
|
bef6c2b665
|
Fix the underflow caused by the underflow fix :(
|
2018-09-14 21:03:06 -07:00 |
|
Cameron Gutman
|
8002c65693
|
Block Intel drivers earlier than 4836 from using HEVC due to artifacting issues. Fixes #32
|
2018-09-14 20:20:47 -07:00 |
|
Cameron Gutman
|
72afa55897
|
Add tip text to the StreamSegue telling users about the quit shortcut. Fixes #77
|
2018-09-14 19:11:06 -07:00 |
|
Cameron Gutman
|
eed9fca10c
|
Mass conversion of isNull() -> isEmpty()
|
2018-09-14 18:36:15 -07:00 |
|
Cameron Gutman
|
25d97e187a
|
Fix large mouse input delay on GFE 3.14.0 and earlier. Fixes #68
|
2018-09-14 18:35:28 -07:00 |
|
Cameron Gutman
|
7ca2ca8045
|
Print the GPU driver version on Windows
|
2018-09-13 14:54:30 -07:00 |
|
Cameron Gutman
|
7bc43c226d
|
Fix underflow in audio drop code
|
2018-09-13 14:09:03 -07:00 |
|
Cameron Gutman
|
da4697794d
|
Increase buffer size for glitch-free playback on macOS
|
2018-09-13 13:02:21 -07:00 |
|
Cameron Gutman
|
879c524658
|
Revert "Process Qt events in the SDL loop" to fix input issues on Windows and Mac
This reverts commit c8e00195ed .
|
2018-09-13 12:14:56 -07:00 |
|
Cameron Gutman
|
e3a8f010c3
|
Fixes for experimental Qt audio renderer
|
2018-09-13 12:00:51 -07:00 |
|
Cameron Gutman
|
f2f8f92172
|
Add gamepad mapping DB from https://github.com/gabomdq/SDL_GameControllerDB
|
2018-09-13 11:58:32 -07:00 |
|
Cameron Gutman
|
6e06174db6
|
Add experimental Qt audio renderer
|
2018-09-13 08:17:26 -07:00 |
|
Cameron Gutman
|
c8e00195ed
|
Process Qt events in the SDL loop
|
2018-09-13 08:03:06 -07:00 |
|
Cameron Gutman
|
64bc189010
|
Fixes to SDL audio renderer and autodetection support
|
2018-09-13 07:46:01 -07:00 |
|
Cameron Gutman
|
12496e4432
|
Refactor audio rendering into a separate class
|
2018-09-13 06:23:06 -07:00 |
|
Cameron Gutman
|
9e2fd67487
|
Add option to enable mouse acceleration for remote desktop usage
|
2018-09-09 13:21:11 -07:00 |
|
Cameron Gutman
|
9dcd856099
|
Blacklist Kepler GPUs for HEVC due to hybrid decode support present in some drivers
|
2018-09-09 10:48:01 -07:00 |
|
Cameron Gutman
|
cfbcc4093c
|
Reduce UI jank when transitioning to the stream segue
|
2018-09-09 10:17:32 -07:00 |
|
Cameron Gutman
|
4712080a1b
|
Fix centering of streaming window and size after toggling full-screen on Windows
|
2018-09-08 16:01:35 -07:00 |
|
Cameron Gutman
|
93c683be3a
|
Allow renderers that force V-sync on to run without it when streaming higher than the display refresh rate
|
2018-09-08 15:27:21 -07:00 |
|
Cameron Gutman
|
c9a7c15f98
|
Improve unsupported FPS options and performance
|
2018-09-08 15:09:46 -07:00 |
|
Cameron Gutman
|
64a08f0533
|
Allow higher than display refresh rate streaming with unsupported FPS option
|
2018-09-08 14:34:11 -07:00 |
|
Cameron Gutman
|
52c6455ca5
|
Avoid sending a click event on focus gain on Linux
|
2018-09-08 14:05:42 -07:00 |
|
Cameron Gutman
|
238681d72f
|
Merge pull request #67 from jhakonen/capture-on-activated-window
Capture mouse cursor when clicking inactive window
|
2018-09-08 14:01:27 -07:00 |
|
Janne Hakonen
|
300b53f28c
|
Capture mouse cursor when clicking inactive window
|
2018-09-08 16:39:20 +03:00 |
|
Janne Hakonen
|
3dabb1c891
|
Fixed < key in keyboard not working
|
2018-09-08 14:16:27 +03:00 |
|
Cameron Gutman
|
6a2b717ff1
|
Run in native resolution on Retina displays when streaming above scaled resolution
|
2018-09-07 01:12:18 -07:00 |
|
Cameron Gutman
|
475a39cb73
|
Recreate the decoder when moving to a new display to allow Pacer to get the new refresh rate
|
2018-09-06 19:42:53 -07:00 |
|
Cameron Gutman
|
4dba74e2f9
|
Fix handling of undefined and non-matching refresh rate
|
2018-09-06 19:16:59 -07:00 |
|
Cameron Gutman
|
587d783955
|
Use SDL_WINDOWPOS_CENTERED_DISPLAY() to fix incorrect positioning on multi-display system on macOS
|
2018-09-06 18:53:00 -07:00 |
|
Cameron Gutman
|
5da156b433
|
Prefer H.264 for higher decoding performance in very high load situations
|
2018-09-05 18:57:40 -07:00 |
|
Cameron Gutman
|
0d68faf40c
|
Remove unused parameter
|
2018-09-05 15:45:36 -07:00 |
|
Cameron Gutman
|
856318f947
|
Start the SDL window on the same display as the Qt UI was displayed on
|
2018-09-05 15:15:53 -07:00 |
|
Cameron Gutman
|
9a71b4c237
|
Improve mouse batching to only batch if the last event was less than 1 millisecond ago
|
2018-09-04 00:09:35 -07:00 |
|
Cameron Gutman
|
9aa487418f
|
Force V-Sync enabled for DXVA2 windowed with DWM composition enabled
|
2018-09-03 23:34:15 -07:00 |
|
Cameron Gutman
|
203b2fcaca
|
Batch mouse move events for high DPI mice
|
2018-09-04 00:37:21 -04:00 |
|
Cameron Gutman
|
dae21f2638
|
Detect native panel resolution on Retina displays. Fixes #59
|
2018-09-04 00:21:37 -04:00 |
|
Cameron Gutman
|
af6e99cbac
|
Select the highest full-screen refresh rate that our stream FPS evenly divides
|
2018-09-03 22:54:41 -04:00 |
|
Cameron Gutman
|
6d6acf4308
|
Fix release builds
|
2018-09-03 22:47:31 -04:00 |
|
Cameron Gutman
|
7dd4815edf
|
Allow selection between full-screen exclusive mode and borderless windowed mode
|
2018-09-03 22:17:34 -04:00 |
|
Cameron Gutman
|
2c068a99a3
|
Allow FFmpeg renderers to enforce V-sync being enabled or disabled
|
2018-09-03 20:57:09 -04:00 |
|
Cameron Gutman
|
fa93364ddd
|
Ensure the CVDisplayLink is synchronized to the display that our window is on
|
2018-09-03 20:19:24 -04:00 |
|
Cameron Gutman
|
9b1eef3f63
|
Pass AV_HWACCEL_FLAG_IGNORE_LEVEL for VDPAU per FFmpeg documentation recommendation
|
2018-09-03 17:06:21 -04:00 |
|
Cameron Gutman
|
ed6c07fd4b
|
Display all frames even if they are corrupt or missing references (as will happen during reference frame invalidation)
|
2018-09-02 18:45:29 -04:00 |
|
Cameron Gutman
|
5ad96f5287
|
Display a dialog when the connection is terminated by the remote PC
|
2018-09-02 18:34:10 -04:00 |
|
Janne Hakonen
|
b96ace7f04
|
Release mouse cursor when window focus is lost
|
2018-09-02 00:31:37 +03:00 |
|
Cameron Gutman
|
234a8dc3d5
|
Fix build with HAVE_SLVIDEO
|
2018-08-31 10:40:25 -04:00 |
|
Cameron Gutman
|
762fe92933
|
Allow streaming with no audio device. Fixes #52
|
2018-08-31 00:09:31 -04:00 |
|
Cameron Gutman
|
b7cbec0b1c
|
Pass RFI flags to decoder
|
2018-08-25 13:36:54 -07:00 |
|
Cameron Gutman
|
9be9934b8c
|
Add reference frame invalidation for the software decoder
|
2018-08-25 12:38:04 -07:00 |
|
Cameron Gutman
|
408f93732b
|
Fix 'invalid VADisplay' errors on renderer destruction
|
2018-08-25 11:21:52 -07:00 |
|
Cameron Gutman
|
7e560aa09e
|
Use MMCSS when streaming with the DXVA renderer
|
2018-08-21 00:53:41 -07:00 |
|
Cameron Gutman
|
7d9478b774
|
Fix FlipEx on Windows 7
|
2018-08-21 00:49:29 -07:00 |
|
Cameron Gutman
|
0fa0ab43c9
|
Fix broken Alt+Tab behavior on Windows
|
2018-08-20 22:48:48 -07:00 |
|
Cameron Gutman
|
f9cdd49d2e
|
Add settings option to disable V-sync for lowest possible latency on Windows
|
2018-08-20 22:25:19 -07:00 |
|
Cameron Gutman
|
7661f5a3d7
|
Use SetThreadExecutionState() to disable the screensaver since SDL doesn't currently call that. Fixes #46
|
2018-08-20 21:36:23 -07:00 |
|
Cameron Gutman
|
395f337bbb
|
Switch full-screen mode back to full-screen exclusive on Windows to reduce latency by 1 frame
|
2018-08-20 21:19:00 -07:00 |
|
Cameron Gutman
|
9e9fe2a2cf
|
Work around DWM bug on Windows 7 causing horrible performance
|
2018-08-20 21:17:25 -07:00 |
|
Cameron Gutman
|
5bf88cfe96
|
Fix Mac build
|
2018-08-20 18:57:11 -07:00 |
|
Cameron Gutman
|
f7d3c10c9d
|
Plumb the ability to disable V-sync through the video renderers
|
2018-08-20 18:19:42 -07:00 |
|
Cameron Gutman
|
6b395c816f
|
Allow Pacer to wait for frames up until a few ms before v-sync for better smoothness and lower latency
|
2018-08-20 17:53:35 -07:00 |
|
Cameron Gutman
|
d6e7173af0
|
Add a VsyncSource for renderers that already block for V-sync
|
2018-08-20 17:24:47 -07:00 |
|
Cameron Gutman
|
1a60484abc
|
Use hardware vertex processing if available
|
2018-08-19 22:45:17 -07:00 |
|
Cameron Gutman
|
62f765b2b4
|
Switch DXVA2 to IDirect3D9Ex APIs for more detailed control of rendering
|
2018-08-19 21:53:39 -07:00 |
|
Cameron Gutman
|
1b8c3aae73
|
Speed up resize/full-screen by avoiding excessive decoder resets
|
2018-08-19 01:19:23 -07:00 |
|
Cameron Gutman
|
845e84adb7
|
Avoid the test frame for DXVA2 and VT APIs to address flickering in full-screen on Win7
|
2018-08-19 00:59:04 -07:00 |
|
Cameron Gutman
|
c1b1719914
|
Recreate the VT decoder if the display layer fails. Minor fix to Path class.
|
2018-08-16 23:09:40 -07:00 |
|
Cameron Gutman
|
9fbdd794b9
|
Improve support for full-screen exclusive mode
|
2018-08-16 22:25:14 -07:00 |
|
Cameron Gutman
|
345e800abd
|
Always submit frames to Pacer if it's using a frame queue
|
2018-08-16 17:59:33 -07:00 |
|
Cameron Gutman
|
404eaa44e4
|
Implement frame pacing for Windows using D3DKMTWaitForVerticalBlankEvent
|
2018-08-16 01:29:53 -07:00 |
|
Cameron Gutman
|
8e257ab241
|
Remove unused function
|
2018-08-16 00:04:28 -07:00 |
|
Cameron Gutman
|
fabbad5370
|
Fix build error on Windows and warnings
|
2018-08-16 00:02:43 -07:00 |
|
Cameron Gutman
|
7d61acb2a8
|
Use Pacer to drive all rendering
|
2018-08-15 23:57:03 -07:00 |
|
Cameron Gutman
|
f6a451d6e7
|
Add PoC VsyncSource for Windows using DwmFlush(). Soon to be replaced with D3DKMTWaitForVerticalBlankEvent().
|
2018-08-15 23:20:56 -07:00 |
|
Cameron Gutman
|
e68a15c825
|
Move the Vsync logic from VTRenderer into a VsyncSource
|
2018-08-15 22:02:15 -07:00 |
|
Cameron Gutman
|
f929cffce7
|
Let Pacer know what the display Hz and stream FPS are so it can make better drop decisions
|
2018-08-15 21:10:35 -07:00 |
|
Cameron Gutman
|
f171588616
|
Pass the maximum frame rate into FFmpeg renderers
|
2018-08-15 20:41:19 -07:00 |
|
Cameron Gutman
|
e467ce7ce8
|
Uninitialize video subsystem before allowing a racing session to start to prevent an assert from firing
|
2018-08-15 20:35:11 -07:00 |
|
Cameron Gutman
|
f714a5d0cb
|
Refactor frame pacing from VT renderer into a separate class for sharing with other renderers
|
2018-08-14 19:13:17 -07:00 |
|
Cameron Gutman
|
c9bf5ae79d
|
Prevent underflow during audio frame drop calculation
|
2018-08-14 17:39:29 -07:00 |
|
Cameron Gutman
|
cf2d8f71d6
|
Avoid setting timer resolution to 1 ms while Moonlight is not streaming
|
2018-08-13 22:23:05 -07:00 |
|
Cameron Gutman
|
611d9ac1ba
|
Pass the chroma type to the VDPAU video mixer
|
2018-08-13 20:02:55 -07:00 |
|
Cameron Gutman
|
bab11a731e
|
Fix uninitialized gamepad mask in multi-controller mode
|
2018-08-12 01:39:22 -07:00 |
|
Cameron Gutman
|
566181e8d7
|
Display error if video decoder doesn't initialize
|
2018-08-11 22:49:36 -07:00 |
|
Cameron Gutman
|
d3c2f50b20
|
Remove custom VAAPI logging functions
|
2018-08-11 20:32:28 -07:00 |
|
Cameron Gutman
|
f1ee1eeb63
|
Avoid using window systems that SDL wasn't compiled to support
|
2018-08-11 20:19:20 -07:00 |
|
Cameron Gutman
|
bb18519e44
|
WIP Wayland rendering code for VAAPI
|
2018-08-11 19:43:36 -07:00 |
|
Cameron Gutman
|
917f6e5ee9
|
Only capture the mouse by default for full screen streaming
|
2018-08-11 14:19:42 -07:00 |
|
Cameron Gutman
|
8f61a11452
|
Remove improper cast to unsigned value
|
2018-08-09 20:21:18 -07:00 |
|
Cameron Gutman
|
4b1d3b0125
|
Warn users when their configuration is impossible to satisfy. Fixes #26
|
2018-08-09 19:37:49 -07:00 |
|
Cameron Gutman
|
c61182bcb2
|
Allow FFmpeg decoder to self-heal in cases of UAC dialogs and other unexpected loss of hardware state
|
2018-08-09 18:39:38 -07:00 |
|
Cameron Gutman
|
2fdfb3e998
|
Fix a few incorrectly mapped keys. Fixes #28
|
2018-08-06 20:30:09 -07:00 |
|
Cameron Gutman
|
7be167856e
|
Only enable game optimizations when streaming at officially supported resolutions
|
2018-08-05 18:09:35 -07:00 |
|
Cameron Gutman
|
e1d68ef097
|
Fix Y values wrapping at -32768
|
2018-08-05 18:01:50 -07:00 |
|
Cameron Gutman
|
b6763bb9f0
|
Fix VDPAU rendering at 4K
|
2018-08-05 16:33:08 -07:00 |
|
Cameron Gutman
|
6d9c0c96c9
|
Fix streaming with non-aligned resolutions with DXVA2 on my Quadro P400
|
2018-08-05 15:25:40 -07:00 |
|
Cameron Gutman
|
9cc20c27ab
|
Add support for native resolution streaming
|
2018-08-05 14:55:26 -07:00 |
|
Cameron Gutman
|
45ebf2ca7d
|
Add log messages for server GPU, bitrate, and slices
|
2018-08-05 13:32:04 -07:00 |
|
Cameron Gutman
|
b04bc5117d
|
Fix scaling logic in the Linux renderers using the new helper function
|
2018-08-04 22:31:14 -07:00 |
|
Cameron Gutman
|
5cbb38091b
|
Create new utility function for scaling with aspect ratio and use it for DXVA2
|
2018-08-04 22:22:15 -07:00 |
|
Cameron Gutman
|
b076744f00
|
Support HEVC software decoding and forcing HEVC without GPU support
|
2018-08-04 16:45:31 -07:00 |
|
Cameron Gutman
|
723e815546
|
Add warning for forcing software decoding
|
2018-08-04 16:15:13 -07:00 |
|
Cameron Gutman
|
ca72cbb135
|
Implement displaying launch warnings. Fixes #12
|
2018-08-04 16:05:37 -07:00 |
|
Cameron Gutman
|
1e8c2b179a
|
Only fill the screen in windowed mode if the stream is larger than usable display area
|
2018-08-04 15:34:56 -07:00 |
|
Cameron Gutman
|
f2ed3a8502
|
Make stream window resizable
|
2018-08-04 15:34:56 -07:00 |
|
Cameron Gutman
|
3117e360f4
|
Retry surface creation to work around transient VDP_STATUS_RESOURCES errors
|
2018-08-03 18:26:55 -07:00 |
|
Cameron Gutman
|
48a770edec
|
Enable HEVC support on NVIDIA GPUs with VDPAU
|
2018-08-03 02:49:43 -07:00 |
|
Cameron Gutman
|
fca402138f
|
Add VDPAU renderer
|
2018-08-03 02:11:44 -07:00 |
|
Cameron Gutman
|
2853e498b0
|
Minor debugging improvements
|
2018-08-02 23:24:44 -07:00 |
|
Cameron Gutman
|
509dba2264
|
Enable ffmpeg logging during codec initialization
|
2018-08-02 22:48:40 -07:00 |
|
Cameron Gutman
|
b8dd131af8
|
Allow gamepad input when the app doesn't have focus. Fixes #23
|
2018-08-02 22:36:44 -07:00 |
|
Cameron Gutman
|
0c18bcdd5e
|
Fix DXVA 2 regression on Windows
|
2018-08-02 22:28:59 -07:00 |
|
Cameron Gutman
|
624578f286
|
Fix decoder reinitialization after test frame
|
2018-08-02 21:57:16 -07:00 |
|
Cameron Gutman
|
c18e99c9ec
|
Validate that the codec is functional before using it. Fixes streaming failure with VAAPI if hardware lacks codec support
|
2018-08-02 21:37:46 -07:00 |
|
Cameron Gutman
|
18dd6b09bb
|
Remove 10 ms sleep hidden inside SDL_WaitEvent(). This fixes mouse polling rate being capped at 100 Hz (1 second / 10 ms) and the rendering FPS being capped at 90 FPS.
|
2018-08-01 18:26:50 -07:00 |
|
Cameron Gutman
|
e250e08242
|
Fix AMD vendor ID
|
2018-07-31 18:22:10 -07:00 |
|
Cameron Gutman
|
141ee11e2f
|
Avoid HEVC on GPUs using hybrid decoding. Fixes #14
|
2018-07-31 18:09:09 -07:00 |
|
Cameron Gutman
|
22be912788
|
Fix accent prompt appearing when keys are held down on macOS
|
2018-07-30 22:44:19 -07:00 |
|
Cameron Gutman
|
e9c1f883da
|
Use full-screen desktop mode for Mac to allow Spaces to work
|
2018-07-30 00:03:17 -07:00 |
|
Cameron Gutman
|
df26f731eb
|
Improve debugging messages
|
2018-07-28 16:06:26 -07:00 |
|
Cameron Gutman
|
d9ed3f9694
|
Fix incorrect key mappings with non-QWERTY keyboards on both host and client
|
2018-07-27 02:08:54 -07:00 |
|
Cameron Gutman
|
9e6aadffa1
|
Populate the DXVA2_VideoDesc with format details from the AVFrame
|
2018-07-26 21:04:05 -07:00 |
|
Cameron Gutman
|
0bde932550
|
Prevent HEVC streaming with the software decoder for performance reasons
|
2018-07-26 19:26:22 -07:00 |
|
Cameron Gutman
|
f5499be215
|
Warn when no hardware decoding is available
|
2018-07-26 12:13:38 -07:00 |
|
Cameron Gutman
|
010475e8a2
|
Use per-display undefined window positions
|
2018-07-22 18:40:15 -07:00 |
|
Cameron Gutman
|
bd170c4bd6
|
Always use the current display mode and just let the renderers scale the output
|
2018-07-22 18:28:17 -07:00 |
|
Cameron Gutman
|
386e463942
|
Also use the SDL icon for Linux
|
2018-07-22 17:42:31 -07:00 |
|
Cameron Gutman
|
9d840afdfb
|
Add an SDL window icon for Windows
|
2018-07-22 17:07:45 -07:00 |
|
Cameron Gutman
|
83b81aad4b
|
Don't capture the mouse initially on debug builds
|
2018-07-22 16:21:15 -07:00 |
|
Cameron Gutman
|
cf3cbd627d
|
Use full-screen windowed mode to avoid having to enable V-Sync on DXVA2
|
2018-07-22 15:42:17 -07:00 |
|
Cameron Gutman
|
3bb62a82e1
|
Avoid doing a display mode change on Linux when entering full-screen
|
2018-07-22 14:03:47 -07:00 |
|
Cameron Gutman
|
ad57a55d12
|
Add (untested) Steam Link video decoding/rendering
|
2018-07-21 20:29:05 -07:00 |
|
Cameron Gutman
|
519626a6d5
|
Fix compilation with Qt 5.9
|
2018-07-21 18:47:41 -07:00 |
|
Cameron Gutman
|
b7b452875d
|
Add a missing HAVE_FFMPEG guard
|
2018-07-21 17:32:00 -07:00 |
|
Cameron Gutman
|
eb536c2273
|
Overhaul platform and decoder/renderer detection
|
2018-07-21 17:00:09 -07:00 |
|
R. Aidan Campbell
|
c816a6198c
|
fix macos build: for macos, Q_OS_UNIX is also defined
|
2018-07-21 14:31:37 -07:00 |
|
Cameron Gutman
|
399154f5f5
|
Implement VAAPI rendering for X11
|
2018-07-21 00:16:03 -07:00 |
|
Cameron Gutman
|
64a839c2f9
|
Create the window after starting streaming to avoid a mouse capture bug in SDL on Windows
|
2018-07-20 19:55:07 -07:00 |
|
Cameron Gutman
|
20288210be
|
Fix VT video centering after transition from windowed to full screen
|
2018-07-20 19:37:54 -07:00 |
|
Cameron Gutman
|
7b235743cb
|
Count the window chrome size in our placement decision and fix sizing after full-screen toggle
|
2018-07-20 19:18:55 -07:00 |
|
Cameron Gutman
|
4c507f1179
|
Move SDL subsystem init into appropriate components to fix gamepad detection issue
|
2018-07-20 18:15:46 -07:00 |
|
Cameron Gutman
|
e516861366
|
Set window dimensions properly when toggling full-screen
|
2018-07-20 16:01:22 -07:00 |
|
Cameron Gutman
|
10b5245919
|
Reset the decoder when D3D state is lost
|
2018-07-20 15:31:57 -07:00 |
|
Cameron Gutman
|
faaf9dfa07
|
Fix crashes when restarting streaming with DXVA2 renderer due to leaked surface references
|
2018-07-20 13:10:54 -07:00 |
|
Cameron Gutman
|
e85ca2a6c9
|
Reduce VideoToolbox renderer video latency
|
2018-07-18 22:25:46 -07:00 |
|
Cameron Gutman
|
e32aace443
|
Draw a black background behind the rendering
|
2018-07-18 22:07:43 -07:00 |
|
Cameron Gutman
|
bd8e4a4bce
|
Fix DXVA video centering
|
2018-07-18 21:48:46 -07:00 |
|
Cameron Gutman
|
06501bd4b7
|
Fix video scaling on DXVA2
|
2018-07-18 19:10:14 -07:00 |
|
Cameron Gutman
|
a4ad58d9ec
|
Fix some Clang static analysis warnings
|
2018-07-18 18:39:33 -07:00 |
|
Cameron Gutman
|
76d99cd60e
|
Raise combo keys for all special combos, not just quit
|
2018-07-18 00:14:12 -07:00 |
|
Cameron Gutman
|
1b85dcc829
|
Improve frame pacing on VideoToolbox renderer
|
2018-07-18 00:11:17 -07:00 |
|
Cameron Gutman
|
c97e298b80
|
Use the queueFrame() helper
|
2018-07-17 20:05:59 -07:00 |
|
Cameron Gutman
|
a89cadc520
|
Separate FFmpeg decoder from the Session class (#4)
|
2018-07-17 20:00:16 -07:00 |
|
Cameron Gutman
|
d3f7204cff
|
Set the main thread to high priority since it's used for rendering
|
2018-07-16 21:25:59 -07:00 |
|
Cameron Gutman
|
ca20d28a24
|
Fix SDL renderer scaling at non-native resolution
|
2018-07-16 02:07:32 -07:00 |
|
Cameron Gutman
|
998d837ff4
|
Optimize resolution and window size selection
|
2018-07-16 01:55:36 -07:00 |
|
Cameron Gutman
|
641b50b7ee
|
Use larger packets when streaming to local PCs
|
2018-07-16 01:12:53 -07:00 |
|
Cameron Gutman
|
68bbeafab3
|
Adapt the audio latency mitigation to WASAPI quirks and add a "stop the world" mode for quick resync
|
2018-07-15 21:43:43 -07:00 |
|
Cameron Gutman
|
7f8d4c88c1
|
Implement audio latency mitigations
|
2018-07-15 20:17:08 -07:00 |
|
Cameron Gutman
|
a6ac893e1e
|
Implement VideoToolbox rendering
|
2018-07-15 18:11:57 -07:00 |
|
Cameron Gutman
|
9f605230e5
|
Allow building on XCode 8
|
2018-07-15 14:03:41 -07:00 |
|
Cameron Gutman
|
5787deeee1
|
Basic VT decoding without rendering
|
2018-07-15 12:48:17 -07:00 |
|
Cameron Gutman
|
babbae87d3
|
Stub out VideoToolbox renderer
|
2018-07-15 11:53:55 -07:00 |
|
Cameron Gutman
|
cb154ad3d4
|
Fix tearing with DXVA2 in full screen mode
|
2018-07-15 00:43:10 -07:00 |
|
Cameron Gutman
|
611b504bf9
|
Minor DXVA2 logging fixes
|
2018-07-13 20:49:51 -07:00 |
|
Cameron Gutman
|
08bc4770cd
|
Fix key repeating
|
2018-07-13 20:30:07 -07:00 |
|
Cameron Gutman
|
f9ef0a99d6
|
Fix DX threading violation by setting D3DCREATE_MULTITHREADED
|
2018-07-13 20:20:30 -07:00 |
|
Cameron Gutman
|
89e332048e
|
Ensure the DXVA2 device is actually hardware with YUV2RGB conversion ability before using it
|
2018-07-13 20:19:32 -07:00 |
|
Cameron Gutman
|
1cae5f83e5
|
DXVA2 Hardware Decoding (#3)
|
2018-07-13 02:31:21 -07:00 |
|
Cameron Gutman
|
e8e9e17e63
|
Improve UI responsiveness when stopping a stream
|
2018-07-09 00:09:06 -07:00 |
|
Cameron Gutman
|
5a04a256e0
|
Add additional serverinfo attributes and check for 4K compatibility
|
2018-07-08 20:53:24 -07:00 |
|
Cameron Gutman
|
d0375a458a
|
Bound thread count at 4 (same as max slices) and don't use HEVC with the software decoder due to lack of slicing support in common-c
|
2018-07-08 17:50:42 -07:00 |
|
Cameron Gutman
|
7023bcf504
|
Make StreamingPreferences accessible from QML for Settings integration
|
2018-07-08 17:33:47 -07:00 |
|
Cameron Gutman
|
826fe4cd03
|
Implemented software video decoding and special key combos
|
2018-07-07 21:52:20 -07:00 |
|
Cameron Gutman
|
60ad95bb7b
|
Start work on launching a stream from QML and rip out remaining QtWidgets
|
2018-07-07 16:30:26 -07:00 |
|
Cameron Gutman
|
6a3b95a4b1
|
Start GUI rewrite in QML
|
2018-07-04 14:16:25 -07:00 |
|
Cameron Gutman
|
a02931f5fc
|
Cleanup some unused parameter warnings
|
2018-07-01 11:54:12 -07:00 |
|
Cameron Gutman
|
3d7c8d4bfb
|
Fix some warnings on GCC
|
2018-06-28 03:13:38 -07:00 |
|
Cameron Gutman
|
e5ef1bcfc5
|
Stub out the error handling when launch/resume fails
|
2018-06-28 02:10:31 -07:00 |
|
Cameron Gutman
|
d1a512538c
|
Fix input bugs from the C++ transistion and implement special key combo stubs
|
2018-06-28 02:04:51 -07:00 |
|
Cameron Gutman
|
0821c66d8c
|
Rewrite streaming code to C++ and forklift most of the setup out of the GUI code
|
2018-06-28 01:44:43 -07:00 |
|
Cameron Gutman
|
94ecc4a1c8
|
Always return 1 gamepad in single controller mode
|
2018-06-27 23:53:12 -07:00 |
|
Cameron Gutman
|
ce4e469b7b
|
We can't change audio config after sending the launch or resume request, so autodetection will need to happen earlier
|
2018-06-27 01:39:48 -07:00 |
|
Cameron Gutman
|
16d7dca784
|
Fix analog sticks and triggers
|
2018-06-26 22:58:32 -07:00 |
|
Cameron Gutman
|
cded01187d
|
More streaming code
|
2018-06-24 00:14:23 -07:00 |
|
Cameron Gutman
|
416724f843
|
More SDL work
|
2018-06-23 22:16:59 -07:00 |
|
Cameron Gutman
|
ce64966843
|
Reorganize and prepare for SDL integration
|
2018-06-23 18:46:59 -07:00 |
|