Cameron Gutman
14ccc38f4c
Fix certain CLI options not overriding GUI preferences. Fixes #435
2020-08-30 01:38:26 -07:00
Cameron Gutman
2e87f5ff85
Add warning if no key frames can be received in 10 seconds
2020-08-29 21:02:22 -07:00
Cameron Gutman
eded86bc10
Allow game controllers to be ignored during streaming only
...
STREAM_GAMECONTROLLER_IGNORE_DEVICES and STREAM_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT environment variables provide the same functionality as SDL_GAMECONTROLLER_IGNORE_DEVICES and SDL_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT, with the difference being SDL_* variables take effect at all times (UI and streaming) while STREAM_* variables take place only while streaming.
Fixes #425
2020-08-22 12:02:26 -07:00
Cameron Gutman
5a7a49d1d5
Display resolution and codec in OSD
2020-08-20 20:52:05 -07:00
Cameron Gutman
d09dd90a73
Fix hardcoded tick unit duration which is incorrect on Apple silicon
2020-08-12 18:07:10 -07:00
Cameron Gutman
d3949806f5
Move connection establishment to a separate thread to keep the UI responsive
2020-08-10 22:21:54 -07:00
Cameron Gutman
b81392b818
Add an option to disable the automatic connection testing
2020-08-08 18:29:36 -07:00
Cameron Gutman
ec17623400
Test for blocked ports when a stream fails
2020-08-08 17:59:26 -07:00
Cameron Gutman
8d2cbf806d
Improve message for broken Intel drivers to indicate that users should update their driver
2020-07-12 15:26:38 -07:00
Cameron Gutman
ab5025efbf
Ignore mouse events outside the video region
2020-07-12 15:06:36 -07:00
Cameron Gutman
912e51d863
Synchronize the client and host cursor when starting absolute mode capture
2020-07-12 15:03:08 -07:00
Cameron Gutman
88ed72fdc1
Use regular VSync when enabled because adaptive VSync still tears
2020-06-20 14:44:21 -07:00
Cameron Gutman
586a93d7aa
Use the new EGL renderer for VAAPI by default
2020-06-13 20:21:54 -07:00
Cameron Gutman
f1c459fd6c
Fix leak of renderer when we fail to create a GL context
2020-06-08 20:39:12 -07:00
Cameron Gutman
f00653964e
Batch absolute mouse motion like we do for relative motion
2020-05-31 13:34:50 -07:00
Cameron Gutman
02cfd8d978
Revert "Disable SOPS for streams over 60 FPS for GFE 3.20.3"
...
This reverts commit d6b5c5f63e
.
2020-05-25 18:46:34 -07:00
Cameron Gutman
728377cba3
Set AV_PKT_FLAG_KEY for key frames
2020-05-25 18:31:19 -07:00
Cameron Gutman
994312c212
Force GL to block after the current frame instead during the next frame
2020-05-16 16:25:13 -07:00
Cameron Gutman
5f25e0d4e2
Add limited support for frame pacing to EGLRenderer
2020-05-16 15:59:10 -07:00
Cameron Gutman
4bbe571f5f
Fix build without FFmpeg and with older EGL 1.5 headers
2020-05-16 13:25:10 -07:00
Cameron Gutman
c58d21375c
EGL 1.4 doesn't have EGLAttrib either
2020-05-16 12:20:52 -07:00
Cameron Gutman
ed128c558f
Add support for EGLRenderer on EGL 1.4
2020-05-16 12:13:00 -07:00
Cameron Gutman
42ced309d3
Restore the original GL attributes after EGLRenderer is destroyed
2020-05-15 20:22:11 -07:00
Cameron Gutman
1fcd306879
Fix EGLRenderer when SDL isn't built with X11 or Wayland backends
2020-05-15 20:01:22 -07:00
Cameron Gutman
26c9ad7f06
Use eglGetProcAddress() for all GLES 2.0 extensions
2020-05-15 19:39:41 -07:00
Cameron Gutman
4b7b01ce0a
Fix EGL build
2020-05-15 17:54:45 -07:00
Cameron Gutman
6632154906
Remove some unnecessary headers and definitions
2020-05-15 16:59:29 -07:00
Cameron Gutman
a1b74e1220
Fix vaExportSurfaceHandle() detection with i965 VAAPI driver
2020-05-14 20:56:24 -07:00
Cameron Gutman
01f6188824
Add VAAPI_FORCE_DIRECT and VAAPI_FORCE_INDIRECT env vars to control rendering technique
2020-05-13 19:45:30 -07:00
Cameron Gutman
283f31a734
Test if vaExportSurfaceHandle() works before claiming EGL export is supported
2020-05-13 19:39:45 -07:00
Cameron Gutman
b800ce9ebe
Allow use of VA drivers without VAEntrypointVideoProc
2020-05-13 19:31:25 -07:00
Cameron Gutman
eb9d54465c
Don't use EGLRenderer if not built with SDL 2.0.10+
2020-05-13 19:19:11 -07:00
Cameron Gutman
eb9e1f81d4
Enable the EGLRenderer to use the render thread
2020-05-13 19:09:20 -07:00
Cameron Gutman
51e9ab83ad
Send a null AVFrame to indicate end of stream to allow renderers to do render thread cleanup
2020-05-13 18:55:21 -07:00
Cameron Gutman
5ed7e03b2e
Merge pull request #365 from xdbob/wayland_for_upstream
...
Introduce a new FFMPEG frontend renderer: EGLRenderer
2020-05-13 18:39:18 -07:00
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
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
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
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
dfa63297fc
Fix incorrectly scaled output from the SDL renderer on macOS
2020-05-04 17:48:32 -07:00
Cameron Gutman
417aa2815c
Add a friendly error message when no video traffic is received
2020-05-01 21:28:48 -07:00