Commit Graph
100 Commits
Author SHA1 Message Date
Cameron Gutman 57137412b5 Experimental AVFoundation renderer 2018-07-17 22:57:15 -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 20495c3752 Reorganize SSE compiler commands to match Qt's default compiler 2018-07-16 20:55:36 -07:00
Cameron Gutman 68fe901832 Fix Opus build on Clang 2018-07-16 20:47:28 -07:00
Cameron Gutman d3de2a6a7f Fix Opus build on MSVC 2018-07-16 20:36:30 -07:00
Cameron Gutman 1d0755cac0 Update libopus, switch to floating point mode, and use SSE optimizations 2018-07-16 20:12:49 -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 12432ef945 Update common-c with syscall optimization 2018-07-16 00:55:08 -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 af503a9147 Fix spurious "Failed to connect to PC" dialogs for mDNS-discovered hosts 2018-07-13 22:38:58 -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 c62fff8fc4 Fix uninitialized variables found by Valgrind 2018-07-13 02:50:02 -07:00
Cameron Gutman 1cae5f83e5 DXVA2 Hardware Decoding (#3) 2018-07-13 02:31:21 -07:00
Cameron Gutman 86f843464c Hide the toolbar when the StreamSegue page is visible 2018-07-09 00:12:27 -07:00
Cameron Gutman e8e9e17e63 Improve UI responsiveness when stopping a stream 2018-07-09 00:09:06 -07:00
Cameron Gutman 908850cc5d Add the smooth grid scaling for PCs too 2018-07-08 23:37:00 -07:00
Cameron Gutman 644c3c0c24 Cache app grid items to smooth out jank during scrolling and resizing 2018-07-08 23:34:30 -07:00
Cameron Gutman a56d27e3f2 Move the PC SVGs back where they belong 2018-07-08 23:27:20 -07:00
Cameron Gutman 98b76d3203 Fix Material theme 2018-07-08 23:24:26 -07:00
Cameron Gutman c35d07c961 Add scroll bars to the computer grid and app grid 2018-07-08 23:05:36 -07:00
Cameron Gutman c4a1f74b02 Hook up a few of the preferences 2018-07-08 22:56:38 -07:00
Cameron Gutman 62cf95d55e Prevent multiple instances of the same page on the StackView and stub out GamepadMapper 2018-07-08 22:37:29 -07:00
Cameron Gutman a47f59d1a4 Properly manage the lifetime of polling in the AppView and PcView 2018-07-08 22:07:20 -07:00
Cameron Gutman 83ca211d75 Add a segue to the streaming window 2018-07-08 22:06:52 -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 d7f09382e0 Use a less recent version of QtQuick.Layouts to support Fedora 28 2018-07-07 22:59:05 -07:00
Cameron Gutman 968f5942de Add ffmpeg libraries for macOS 2018-07-07 22:43:35 -07:00
Cameron Gutman d9301fc06d Fix build on Linux 2018-07-07 22:41:32 -07:00
Cameron Gutman 272aa6896e Fix unused member warning on Clang 2018-07-07 22:26:12 -07:00
Cameron Gutman ac22ab26ab Add OpenSSL 1.0.2o DLLs for x86 and x64 from https://indy.fulgan.com/SSL/ 2018-07-07 22:18:39 -07:00
Cameron Gutman 1bfec3a032 Add ffmpeg libraries for Windows x86 2018-07-07 21:57:09 -07:00
Cameron Gutman 826fe4cd03 Implemented software video decoding and special key combos 2018-07-07 21:52:20 -07:00
Cameron Gutman 02f4f193a9 Add ffmpeg libraries for Windows x64 2018-07-07 20:45:54 -07:00
Cameron Gutman bf671752df UI polish 2018-07-07 16:49:13 -07:00
Cameron Gutman 997fdc1ef6 Fix linking on Windows 2018-07-07 16:37:11 -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 d5cc07f107 Remove unused enum value to fix GCC warnings 2018-07-07 15:26:20 -07:00
Cameron Gutman 0444ec192a Add license and readme 2018-07-07 14:59:48 -07:00
Cameron Gutman 78746824e2 Fix inconsistent ComputerModel view of the ComputerManager's state after new PC is added 2018-07-06 00:42:07 -07:00
Cameron Gutman ecebf75b88 Implement manually adding PCs 2018-07-06 00:34:16 -07:00
Cameron Gutman 6687936e2f Implement pairing via GUI 2018-07-05 23:12:55 -07:00
Cameron Gutman 1b1ad86271 Keep a singleton ComputerManager outside of the Models 2018-07-05 22:08:55 -07:00
Cameron Gutman bd986bfb21 Sort the app list in alphabetical order 2018-07-05 20:54:31 -07:00
Cameron Gutman f120197c21 Fix ComputerModel.paired 2018-07-05 20:41:17 -07:00
Cameron Gutman ebf27cdcaf More UI work including hooking up PcView -> AppView transition 2018-07-05 20:37:51 -07:00
Cameron Gutman f83c13ad85 Cleanup ComputerModel and remove root Frame from PcView 2018-07-05 20:11:35 -07:00
Cameron Gutman b0151da455 Add AppModel and AppView for loading apps and modify BoxArtManager to return QUrls for QML 2018-07-05 20:07:05 -07:00
Cameron Gutman 485c014490 Fix crash on the placeholder icon and fix display of multiple PCs 2018-07-04 16:52:16 -07:00
Cameron Gutman 3a7d3c807e WIP Quick GUI work 2018-07-04 16:40:21 -07:00
Cameron Gutman 6a3b95a4b1 Start GUI rewrite in QML 2018-07-04 14:16:25 -07:00
Cameron Gutman 04c9a3a2eb Implement Wake-on-LAN 2018-07-03 22:11:21 -07:00
Cameron Gutman a02931f5fc Cleanup some unused parameter warnings 2018-07-01 11:54:12 -07:00
Cameron Gutman 5729f65138 Implement mDNS PC discovery 2018-06-30 23:07:31 -07:00
Cameron Gutman 7186f20e05 Integrate forked QMdnsEngine with some required fixes for GameStream (submitted upstream) 2018-06-30 21:41:00 -07:00
Cameron Gutman 4c75456aee Fix improper handling of polling thread termination 2018-06-28 03:52:42 -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 cad95f12f6 More PoC streaming code (closer to final) 2018-06-27 23:54:24 -07:00
Cameron Gutman 94ecc4a1c8 Always return 1 gamepad in single controller mode 2018-06-27 23:53:12 -07:00
Cameron Gutman 7d14b2a2be Fix endianness issue with the RI key IV 2018-06-27 23:52:29 -07:00
Cameron Gutman 6e4104ac15 Add StreamingPreferences class 2018-06-27 23:15:13 -07:00
Cameron Gutman 6fa4faa285 Rename http folder to backend to better align with the classes inside 2018-06-27 22:30:33 -07:00
Cameron Gutman 1b36071e02 Additional work in MainWindow for integration with new classes 2018-06-27 22:16:57 -07:00
Cameron Gutman d7d11635a0 Add BoxArtManager for loading box art with caching 2018-06-27 22:02:29 -07:00
Cameron Gutman 135568b5ee Minor class improvements 2018-06-27 19:55:44 -07:00
Cameron Gutman 36c8b6ce53 Persist host changes after update 2018-06-27 02:08:56 -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 0bd2274462 Simplify IdentityManager by using QSettings instead of files 2018-06-27 01:36:56 -07:00
Cameron Gutman a5d1099e26 Add code to serialize and deserialize hosts and applists for persistence 2018-06-27 01:21:55 -07:00
Cameron Gutman d6b820d707 Implement fetching box art 2018-06-26 23:49:44 -07:00
Cameron Gutman 76d39c08da Implement app list parsing 2018-06-26 23:39:28 -07:00
Cameron Gutman 16d7dca784 Fix analog sticks and triggers 2018-06-26 22:58:32 -07:00
Cameron Gutman c6b19826d3 Fix typo causing pairing to break 2018-06-26 22:58:15 -07:00
Cameron Gutman 35c28116f5 Cleanup use of static NvHTTP members 2018-06-26 21:49:33 -07:00
Cameron Gutman fca059522c Implement more of ComputerManager 2018-06-26 21:47:01 -07:00
Cameron Gutman 8ce2b410d2 Ensure the PC that responded is the one we're querying 2018-06-26 19:15:28 -07:00
Cameron Gutman bb95c4db78 Make IdentityManager a singleton 2018-06-26 19:03:55 -07:00
Cameron Gutman 6c8349787a Only emit state changed once per iteration 2018-06-26 18:44:30 -07:00
Cameron Gutman 6a37a9d77a Move resources back to root 2018-06-26 18:43:53 -07:00
Cameron Gutman 5ee52f15c8 Work on Computer Manager 2018-06-24 15:13:37 -07:00
Cameron Gutman cded01187d More streaming code 2018-06-24 00:14:23 -07:00
Cameron Gutman 4fe6c24702 Fix subsequent SSL failures on Windows 2018-06-23 23:46:16 -07:00
Cameron Gutman 416724f843 More SDL work 2018-06-23 22:16:59 -07:00
Cameron Gutman 283327dcce Add SDL2 for Mac and rename OpenSSL libs for unified build 2018-06-23 20:32:29 -07:00