Cameron Gutman
b4548c1af2
Flush all window events after SDL_CreateRenderer()
2020-05-12 18:41:36 -07:00
Antoine Damhet
0a396f3112
Introduce a new FFMPEG frontend renderer: EGLRenderer
...
Right now this renderer works on X11 & Wayland with VAAPI as a backend.
Some rendering latency benchmarks on my `i7-10510U` (with
`intel-media-driver` 20.1.1 which cause a *huge* regression with the
SDL_Renderer):
| | X11 | Wayland |
| Before | 6.78ms | 22.50ms |
| EGLRenderer | 0.76ms | 00.77ms |
Signed-off-by: Antoine Damhet <antoine.damhet@lse.epita.fr>
2020-05-12 11:11:35 +02:00
Cameron Gutman
2aa18dc88f
Add a bit of extra padding on the right for the scrollbar
2020-05-10 13:02:10 -07:00
Cameron Gutman
8d89983eeb
Parent ScrollBars to their Flingables, not the StackView
...
This ensures they disappear when navigating to a new page
2020-05-10 12:53:27 -07:00
Cameron Gutman
573c470965
Ensure the title label doesn't get drawn over when the window is small
2020-05-10 12:38:56 -07:00
Cameron Gutman
daa0c751e2
Fix settings layout spacing and centering
2020-05-10 12:30:15 -07:00
Cameron Gutman
e1babefc80
Center toolbar text
2020-05-10 11:48:24 -07:00
Cameron Gutman
ce99b0e162
Improve settings page behavior when the window is too small
2020-05-10 11:12:37 -07:00
Cameron Gutman
4c3a23b1bd
Resize toolbar text
2020-05-09 23:02:09 -07:00
Cameron Gutman
12016af326
Display version number in toolbar on the settings page
...
Fixes #341
2020-05-09 22:20:39 -07:00
Cameron Gutman
fc9871b075
Delay mouse capture until after SDL_RecreateWindow() has been called
2020-05-09 19:48:13 -07:00
Cameron Gutman
3cb3c1c6d8
Revert "Use the physical desktop size in pixels rather than the native resolution on macOS"
...
Let's wait until functionality is confirmed on a 5K iMac before doing this.
This reverts commit 8fe3474589
.
2020-05-09 16:52:18 -07:00
Cameron Gutman
8fe3474589
Use the physical desktop size in pixels rather than the native resolution on macOS
...
It seems like some Macs (5K iMacs at least) don't have kDisplayModeNativeFlag set
2020-05-09 16:34:48 -07:00
Cameron Gutman
dc3c565ec0
Move serialization and deserialization into NvApp class
2020-05-07 19:54:36 -07:00
Cameron Gutman
350c7d7081
Persist the IsAppCollectorGame attribute
2020-05-07 19:37:10 -07:00
Cameron Gutman
0428bc8fe3
Generate synthetic mouse button up if the mouse has left the window and the button is raised
2020-05-07 19:26:02 -07:00
Cameron Gutman
514a8575a2
Use the viewport size for computing the overlay position
2020-05-07 18:56:53 -07:00
Cameron Gutman
fc11377552
Fix build on Qt 5.11 and earlier
2020-05-07 17:13:16 -07:00
Cameron Gutman
fbaa70a2ae
Enable the right stick to scroll the settings page. Fixes #220
2020-05-06 22:38:52 -07:00
Cameron Gutman
f30c11ddf4
Properly fix SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH on macOS VTRenderer
2020-05-06 22:20:21 -07:00
Cameron Gutman
51c4ecc879
Revert "Partially unrevert 05e82c24
for macOS which still needs it"
...
This reverts commit 080421f2fb
.
2020-05-06 21:41:57 -07:00
Cameron Gutman
080421f2fb
Partially unrevert 05e82c24
for macOS which still needs it
2020-05-06 21:18:23 -07:00
Cameron Gutman
8cc61ca8b8
Use SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH to get click events on focus gain
2020-05-06 20:43:41 -07:00
Cameron Gutman
400754c5b3
Revert "Pass through focus-gain clicks to the host in absolute mouse mode"
...
This reverts commit 05e82c24f8
.
2020-05-06 20:04:07 -07:00
Cameron Gutman
05e82c24f8
Pass through focus-gain clicks to the host in absolute mouse mode
2020-05-06 18:58:43 -07:00
Cameron Gutman
97c15c7876
Ensure the Info.plist is included for builds in the IDE
...
It is required for SDL_WINDOW_ALLOW_HIGHDPI to work
2020-05-04 20:25:19 -07:00
Cameron Gutman
dfa63297fc
Fix incorrectly scaled output from the SDL renderer on macOS
2020-05-04 17:48:32 -07:00
Cameron Gutman
f28a4df5ee
Restore the full QTBUG-80947 hack as it appears to still be required sometimes
2020-05-02 10:14:54 -07:00
Cameron Gutman
417aa2815c
Add a friendly error message when no video traffic is received
2020-05-01 21:28:48 -07:00
Cameron Gutman
2fdabe37aa
Raise the window before capturing in relative mode
2020-05-01 18:44:22 -07:00
Cameron Gutman
d8270dfb6a
Capture mouse by default on debug builds too
2020-05-01 18:43:54 -07:00
Cameron Gutman
b75f662c41
Add the ability to rename PCs
2020-05-01 18:34:15 -07:00
Cameron Gutman
0d9d0845f5
Add --touchscreen-trackpad options
2020-04-30 21:10:53 -07:00
Cameron Gutman
5d66a1f298
Fix absolute mouse mode help text
2020-04-30 21:05:53 -07:00
Cameron Gutman
9bf52eb63a
Improve relative touch deadzone behavior
2020-04-30 21:04:51 -07:00
Cameron Gutman
0c9d72a9a1
Restore the option for relative touch mode
2020-04-30 20:55:15 -07:00
Cameron Gutman
c2c2bd2df6
Split input.cpp into smaller files
2020-04-30 20:22:43 -07:00
Cameron Gutman
78fc594d84
Move input code into a subfolder
2020-04-30 20:09:36 -07:00
Cameron Gutman
c14404a7c1
Restore the QTBUG-80947 hack for support for direct connections without a router
2020-04-29 20:20:17 -07:00
Cameron Gutman
96e6750f9c
Don't confine the cursor to the full-screen window when not capturing input
2020-04-28 20:37:00 -07:00
Cameron Gutman
dbafd05a4e
Store a pointer to the window inside the input handler
2020-04-28 20:24:27 -07:00
Cameron Gutman
d7fd578cc3
Don't set MODIFIER_META when meta key is disabled
2020-04-28 20:06:30 -07:00
Cameron Gutman
0e8572e1db
Version 2.0.0
2020-04-28 02:08:10 -07:00
Cameron Gutman
1852f74e8b
Add missing return statement
2020-04-26 20:42:01 -07:00
Cameron Gutman
55e3e16860
Try radeonsi if other VAAPI drivers fail
2020-04-26 20:18:46 -07:00
Cameron Gutman
7cf2a55b43
Allow radeonsi to direct render on XWayland
2020-04-26 20:13:00 -07:00
Cameron Gutman
c41cbbd2da
Allow the radeonsi VAAPI driver on XWayland
2020-04-26 20:06:53 -07:00
Cameron Gutman
7283bb046b
Disable initial mouse capture on XWayland
2020-04-26 19:33:25 -07:00
Cameron Gutman
dd2df6cbcf
Default to starting in a non-maximized window
2020-04-26 17:57:28 -07:00
Cameron Gutman
01f1cac811
Update readme and metadata
2020-04-26 16:12:10 -07:00
Cameron Gutman
aaa112c3f3
Don't use VAAPI drivers that lack VPP support
...
intel-media-va-driver (free) is one example of such a driver which
is apparently missing the shaders to perform colorspace conversion.
2020-04-26 15:38:05 -07:00
Cameron Gutman
f749b38aa2
Warn when starting a game with remote desktop mouse mode enabled
2020-04-25 23:50:12 -07:00
Cameron Gutman
df9f117a08
Update SDL_GameControllerDB
2020-04-25 19:02:24 -07:00
Cameron Gutman
a7c6095be5
Add special error text for the -1 launch error code
2020-04-25 16:05:39 -07:00
Cameron Gutman
f2d5cf785e
Don't cancel mouse capture on focus loss in absolute mode
2020-04-25 15:42:13 -07:00
Cameron Gutman
f926ad9b5e
Fix inverted capture-by-default setting
2020-04-25 15:41:45 -07:00
Cameron Gutman
68acf969f2
Move focus handling into the input code
2020-04-25 15:37:33 -07:00
Cameron Gutman
65d53e800b
Confine the cursor to the window in full-screen exclusive mode
2020-04-25 13:15:14 -07:00
Cameron Gutman
e44d8ac7e9
Only enable the absolute mouse checkbox if the platform has a window manager
2020-04-25 13:04:22 -07:00
Cameron Gutman
d1823dd6e1
Capture the mouse by default always on release builds and in absolute mode for debug builds
2020-04-25 13:01:15 -07:00
Cameron Gutman
80bfd3b8e9
Change raw input checkbox to adjust absolute vs relative mouse mode
2020-04-25 13:00:39 -07:00
Cameron Gutman
07128cc7fe
Allow keyboard input when the mouse is not captured
2020-04-24 21:35:38 -07:00
Cameron Gutman
0892f0b0bb
Don't capture the cursor on a touch event
2020-04-24 21:26:59 -07:00
Cameron Gutman
8cf7f3ac08
Fix absolute mouse positioning on SDL renderer
2020-04-24 19:37:15 -07:00
Cameron Gutman
ab2bb51879
Clamp mouse motion to the video region rather than dropping it
2020-04-24 17:35:35 -07:00
Cameron Gutman
8cb98b5365
Rewrite touchscreen support for direct input
2020-04-23 21:34:03 -07:00
Cameron Gutman
782c5f8a34
Fix parsing rare GFE status code of 0xFFFFFFFF
2020-04-23 18:34:14 -07:00
Cameron Gutman
d6b5c5f63e
Disable SOPS for streams over 60 FPS for GFE 3.20.3
2020-04-12 11:39:25 -07:00
Cameron Gutman
ef6dfa6d91
Add basic support for absolute mouse input
2020-04-11 21:28:11 -07:00
Cameron Gutman
49a4a61876
Enable QoS for ENet on Windows and fix disconnect delay on GFE 3.20.3
2020-04-09 18:02:49 -07:00
Khalid Jebbari
669c1a6f0d
Add comment that describe kb shortcut of overlay ( #358 )
2020-04-06 18:31:02 -07:00
Cameron Gutman
15342190fa
Make audio debug logs more readable
2020-04-04 12:53:03 -07:00
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
d36d5936da
Don't include resolutions over 8K in settings list
2020-04-04 12:46:42 -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
d5a26b1d70
Enable auto-update for AppImages
2020-04-03 17:03:12 -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
923e590da1
Delay the spinner on the stream segue to prevent animation glitching on Windows
2020-03-27 23:32:46 -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
6c980eba68
Fix build on Qt 5.15 Beta 2
...
Reverts most of 10dae7482c
2020-03-23 18:30:56 -07:00
Cameron Gutman
e9f766904e
Build AppImages on AppVeyor
2020-03-23 01:04:08 -07:00
Cameron Gutman
615b78a612
Update SDL_GameControllerDB to d222918bd6f786a35f9c42fd87921ca29493b785
2020-03-22 18:41:21 -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
f3da46833f
Revert "Temporarily switch to gamecontrollerdb to fix build after DMCA takedown of SDL_GameControllerDB"
...
The DMCA takedown has been disputed and the repo is back up.
This reverts commit 6314676b9c
.
2020-03-18 19:48:26 -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
4bb6f711b9
Avoid using the QTBUG-80947 workaround on Qt 5.14.2 and later
2020-02-27 18:03:28 -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
489891ff3c
Fix build on Windows and macOS with Qt 5.13 and earlier
2020-02-24 18:17:23 -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
1aaa97b91d
Override SDL 2.0.12 default of mapping buttons to labels rather than position
2020-02-24 17:44:56 -08:00
Cameron Gutman
13d68e789f
Fix Clazy warnings
2020-02-24 17:44:21 -08:00
Cameron Gutman
10dae7482c
Fix build with Qt 5.15
2020-02-24 17:39:24 -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
6314676b9c
Temporarily switch to gamecontrollerdb to fix build after DMCA takedown of SDL_GameControllerDB
2020-02-22 19:20:52 -08:00
Cameron Gutman
9f77f3d968
Don't leave 0 byte files if saving the box art image failed and deal with those that may already exist. Fixes #346
2020-02-20 19:06:19 -08:00
Cameron Gutman
f4733dbbe8
Fix unused parameter warning on Linux
2020-02-20 14:13:03 -08:00
Cameron Gutman
61fc0e4893
Don't allow Flickables to be dragged beyond bounds
2020-02-20 13:38:01 -08:00
Cameron Gutman
652ad86cad
Update SDL_GameControllerDB to cc4b7f603698914fad9a172a5e47bfece93a45f6
2020-02-20 13:29:36 -08:00
Cameron Gutman
60f308bd76
Build dual binary bundles for Steam Link
2020-02-12 18:20:15 -08:00
Cameron Gutman
b2113ff95b
Raspberry Pi's full KMS driver is broken with MMAL, so just advise fake KMS
2020-02-09 12:52:11 -08:00
Cameron Gutman
b8188a46a9
Display a friendly warning when running without a KMS driver
2020-02-09 12:40:07 -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
fa3317f6cd
Enable double buffering on SDL backends that support it
2020-02-09 11:54:09 -08:00
Cameron Gutman
b080f7a81c
Don't display browser links in non-GUI environment
2020-02-09 11:41:44 -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
9253e6ac5e
Fix GLES library not being found on RPi when running from console
2020-02-08 22:34:07 -08:00
Cameron Gutman
aff2ed22b9
Use EGLFS platform plugin if X and Wayland aren't detected
2020-02-08 21:37:17 -08:00
Cameron Gutman
5520a52379
Force full-screen mode on EGLFS
2020-02-08 21:31:04 -08:00
Cameron Gutman
505050e936
Fix high DPI check in 0437835b
2020-02-08 18:47:59 -08:00
Cameron Gutman
0437835bde
Avoid enabling High DPI mode on EGLFS to fix font rendering
2020-02-08 18:11:33 -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
fa74700ad9
Fix build with new Steam Link SDK
2020-02-05 17:24:05 -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
b282c7d815
Fix parsing CLI flags that accept values when passed before 'action' argument
2020-01-26 13:32:24 -08:00
Cameron Gutman
5b6142e2d9
Always create IdentityManager on the main thread
2020-01-25 19:34:37 -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