Commit Graph

1401 Commits

Author SHA1 Message Date
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