Cameron Gutman
c98ef6e8a9
Display a friendly error when trying to stream over 4K with H.264
2020-04-04 12:47:44 -07:00
Cameron Gutman
ea62e33e51
Add 7.1 surround sound support to libsoundio audio renderer
2020-04-04 09:49:10 -07:00
Cameron Gutman
524e92c81a
Add 7.1 surround sound support to SLAudio
2020-04-03 19:04:11 -07:00
Cameron Gutman
cd7649a666
Add 7.1 surround sound support for SDL audio output
2020-04-03 00:12:52 -07:00
Cameron Gutman
847cc0a38a
Migrate to the new audio configuration macros
2020-03-31 21:36:16 -07:00
Cameron Gutman
296e22d3ca
Remove the Wayland post-cleanup hack
...
It seems to do more harm than good on Fedora 32, causing deadlocks
when the stream is closed. The original bug it was trying to avoid
seems to have already been fixed.
2020-03-28 00:46:04 -07:00
Cameron Gutman
e56329d05a
Don't render with vaPutSurface() on XWayland
2020-03-27 19:11:03 -07:00
Cameron Gutman
2452e80e57
Add VDPAU driver path fallbacks for AppImage
2020-03-26 19:06:24 -07:00
Cameron Gutman
b9019831a9
Fix failure to try the default VAAPI driver with the modified LIBVA_DRIVERS_PATH
2020-03-26 18:25:52 -07:00
Cameron Gutman
b3b49b440e
Add VAAPI driver path fallbacks for AppImage
2020-03-24 00:09:03 -07:00
Cameron Gutman
93ea437760
Key repeat is handled server-side, so don't send repeat events
2020-03-20 23:56:44 -07:00
Cameron Gutman
fe6a1244ed
Fix a couple compiler warnings
2020-03-18 22:46:32 -07:00
Cameron Gutman
953858b0e7
Add workaround for Steam Link graphics bug. Fixes #254
2020-03-18 22:26:15 -07:00
Cameron Gutman
ba2488b6e2
Try the iHD VA driver as a fallback to fix Comet Lake and later
2020-03-18 18:39:43 -07:00
Cameron Gutman
4e7e0d67e5
Add a workaround for Mesa Iris returning the wrong VA driver
2020-03-17 17:34:35 -07:00
Cameron Gutman
faa16b207c
Implement a more reliable mouse capture workaround for GNOME+Wayland
2020-03-14 00:33:53 -07:00
Cameron Gutman
2d9f62761c
Don't pass through the super key to the host
2020-03-13 18:11:31 -07:00
Cameron Gutman
81221336f4
Rec 601 seems to be a bit more accurate on macOS
2020-03-10 23:21:00 -07:00
Cameron Gutman
ecfc758ce4
Attach colorspace data to CVPixelBuffer. Fixes #323
2020-03-10 22:21:09 -07:00
Cameron Gutman
2cb3a132c6
Fix false positives in SDL_GameControllerRumble() support detection
2020-03-07 17:00:38 -08:00
Cameron Gutman
519473e498
Enable rumble on Bluetooth PS4 controllers
2020-03-07 16:46:41 -08:00
Cameron Gutman
9b271d918a
Use SDL_GameControllerSetPlayerIndex() to indicate player index
2020-03-03 20:15:35 -08:00
Cameron Gutman
7ee323f0d5
Fix deprecation warning on macOS
2020-02-29 15:54:10 -08:00
Cameron Gutman
816cec8f5c
Remove deprecated listener callbacks
2020-02-25 00:31:05 -08:00
Cameron Gutman
2394dfe88a
Change errorCode to an int type
2020-02-24 23:03:34 -08:00
Cameron Gutman
dfc0d2303b
Fix incorrect #endif location
2020-02-24 20:55:07 -08:00
Cameron Gutman
598a48ec50
Remove the Wayland mouse capture hack that is not necessary on SDL 2.0.11
2020-02-24 20:33:33 -08:00
Cameron Gutman
9f41e98e3f
Remove RPi hacks that are not necessary on SDL 2.0.11
2020-02-24 19:55:22 -08:00
Cameron Gutman
a44ed0b047
Allow initial destination position to be used as an offset with scaleSourceToDestinationSurface()
2020-02-24 18:01:30 -08:00
Cameron Gutman
979de190dc
Cap resolution options at 1080p on Steam Link and Raspberry Pi due to hardware limitations
2020-02-23 00:43:43 -08:00
Cameron Gutman
46bcbda972
MMAL is always full-screen
2020-02-23 00:25:01 -08:00
Cameron Gutman
43bdc353fb
Fix 720p streaming on MMAL
2020-02-23 00:22:44 -08:00
Cameron Gutman
e790b0761e
Add another RPi hack to fix mouse capture in full-screen in LXDE
2020-02-09 12:00:30 -08:00
Cameron Gutman
57a1c5eb76
Disable the window mode options for always full-screen renderers
2020-02-09 11:35:05 -08:00
Cameron Gutman
5b7e2521cc
Ignore unbind and full-screen key combos on EGLFS
2020-02-09 10:20:41 -08:00
Cameron Gutman
fced653c1c
Add a hack to avoid PulseAudio on RPi
2020-02-08 23:35:42 -08:00
Cameron Gutman
77386f8dfc
Reduce buffering for MMAL to avoid requiring 128 MB VRAM split
2020-02-08 17:56:30 -08:00
Cameron Gutman
529fdf0341
Add decoder options dictionary to prepareDecoderContext()
2020-02-08 17:47:26 -08:00
Cameron Gutman
4794f44a6d
Charge decoders for time spent holding on to frames
2020-01-26 20:15:11 -08:00
Cameron Gutman
f0119b1231
Add support for the out-of-tree Jetson FFmpeg NVMPI decoders
...
https://github.com/jocover/jetson-ffmpeg
2020-01-26 19:16:03 -08:00
Cameron Gutman
4c579aa826
Provide another frame if avcodec_receive_frame() returns EAGAIN
2020-01-26 15:36:22 -08:00
Cameron Gutman
b9463b3c0e
Allow NV12 and NV21 to be selected for non-hwaccel decoders using the SDL renderer
2020-01-26 15:02:29 -08:00
Cameron Gutman
cede6ce8a9
Add H264_DECODER_HINT and HEVC_DECODER_HINT envvars to specify a decoder manually
2020-01-26 14:40:48 -08:00
Cameron Gutman
956e6e3638
Avoid slicing for hardware decoders that use SDL as the renderer
2020-01-26 14:13:42 -08:00
Cameron Gutman
58313ad8fc
Allow default mouse polling interval to be overridden by setting MOUSE_POLLING_INTERVAL
2020-01-21 19:15:17 -08:00
Cameron Gutman
7aff148e9f
Add --packet-size command-line option
2020-01-21 19:10:10 -08:00
Cameron Gutman
91be6c8028
Only hide Qt's mouse cursor on EGLFS
2020-01-15 18:23:02 -08:00
Cameron Gutman
2e0bd2ec28
Invoke avcodec_receive_frame() during decoder testing
2020-01-15 18:09:59 -08:00
Cameron Gutman
a0151fbc04
Fix memory leak if 10-bit color is not supported
2020-01-15 17:56:11 -08:00
Cameron Gutman
d853782fea
Add support for the Meta/Super/Windows key on macOS and Linux
2020-01-15 17:54:57 -08:00
Cameron Gutman
c6638a7154
Add support for 10-bit output in full-screen with DXVA2
2020-01-14 17:12:55 -08:00
Cameron Gutman
4abebe3aec
Hide the Qt cursor when streaming
2020-01-11 02:06:08 -08:00
Cameron Gutman
5aed8f928a
Add V4L2M2M support using SDL renderer
...
Note: This requires FFmpeg master to work, since it depends on:
https://github.com/FFmpeg/FFmpeg/commit/d61cf1b1ebc2477749d7d7825a072400ed24af9
2020-01-10 20:52:16 -08:00
Cameron Gutman
1313c7b3bf
Enable HDR as an experimental option
2019-12-30 18:05:43 -06:00
Cameron Gutman
e1603f0808
Explicitly use Rec 601 for VDPAU
2019-12-16 18:02:28 -08:00
Cameron Gutman
d4c2350d63
Fix DXVA2 rendering with the wrong colorspace on AMD GPUs
2019-12-15 13:29:19 -08:00
Cameron Gutman
5e5470ae12
Specify video transfer matrix for SLVideo
2019-12-15 11:27:47 -08:00
Cameron Gutman
6230a99360
Fix colorspace conversion with SDL as frontend renderer
2019-12-14 17:17:29 -08:00
Cameron Gutman
801adb6af7
Add colorspace support to VAAPI renderer
2019-12-14 16:58:04 -08:00
Cameron Gutman
8b9b96f422
Only enable slicing when CPU decoding
2019-12-14 15:34:48 -08:00
Cameron Gutman
160684f23e
Allow decoders to choose a desired colorspace
2019-12-14 15:25:56 -08:00
Cameron Gutman
88930a9de4
Optimize decoder capability checking
2019-12-14 15:20:44 -08:00
Cameron Gutman
af6b8c9b88
Update common-c with colorspace configuration support
2019-12-14 14:40:02 -08:00
Cameron Gutman
4832d8007b
Print joystick haptic capabilities to log
2019-12-13 18:43:35 -08:00
Cameron Gutman
c8b887fe32
Use the new SDL_GameControllerRumble() API on SDL 2.0.9 to fix rumble on HIDAPI gamepads
2019-12-07 16:17:01 -08:00
Cameron Gutman
3a6bf4d20b
Disable arbitrary audio duration for libsoundio until further testing is done
2019-12-03 19:00:43 -08:00
Cameron Gutman
5e2f32e3eb
Force remote streaming mode if connecting through a VPN
2019-12-01 21:50:36 -08:00
Cameron Gutman
0ccee9d806
Support arbitrary audio duration in libsoundio renderer
2019-12-01 19:43:22 -08:00
Cameron Gutman
5700272dc4
Improve low bandwidth audio performance for SDL and SLAudio and fix RTSP issues with broken PMTUD
2019-11-30 22:24:28 -06:00
Cameron Gutman
7e5a3925b3
Fix typo in channel mapping
2019-11-17 14:35:37 -08:00
Cameron Gutman
1febe32e73
Fix 5.1 channel mapping on Steam Link
2019-11-17 12:22:57 -08:00
Cameron Gutman
de7b973239
Plumb presentation time from server into AVFrame.pts field
2019-11-11 18:03:47 -08:00
Cameron Gutman
c20daa8867
Add compatibility checks for HEVC Main10 in VT backend
2019-11-05 18:36:43 -08:00
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