300 Commits

Author SHA1 Message Date
Cameron Gutman
4a4f89a992 Revert the encoding bitrate hack 2015-08-12 00:05:54 -07:00
Cameron Gutman
d3a7bba666 Fix an RTP queue bug that can cause extended packet delays when the last packet ages out of the queue 2015-08-11 22:49:10 -07:00
Cameron Gutman
8bd6582d07 Fix off by one in reference frame invalidation 2015-08-11 21:33:06 -07:00
Cameron Gutman
875089305b Start frame number must be 0 for proper invalidation if the first frame is dropped 2015-08-11 21:26:35 -07:00
Cameron Gutman
c19ff71c9a Add experimental reference frame invalidation support 2015-08-11 21:12:34 -07:00
Cameron Gutman
36c320a584 Fix skipping first video packet 2015-08-11 08:42:21 -07:00
Cameron Gutman
316b8c56f1 Improve IDR frame requests for Gen 4 servers to use the proper IDR frame request packet 2015-08-04 22:22:53 -07:00
Cameron Gutman
2cf3855d35 Use the default vqos.bw.flags value sent by GFE 2015-07-18 17:05:15 -07:00
Cameron Gutman
13ec16c606 Update for GFE 2.4.5.54 support. The HTTPS /serverinfo query is now only available to paired clients. As a result, we catch the cert validation error and failover to HTTP. It's ugly but I don't see another way to do it. 2015-06-15 10:22:00 -07:00
Cameron Gutman
7d150e7e89 Fix a bug in RTP queue found when porting to moonlight-common-c 2015-06-15 09:51:59 -07:00
Cameron Gutman
7d61948d91 Take Moonlight out of messages displayed to the user for third party app support 2015-06-15 09:51:15 -07:00
Cameron Gutman
73de3cc91d Renaming projects to Moonlight 2015-04-21 21:43:27 -04:00
Cameron Gutman
d71cbe344a Fix missing closes of Closeables caught by StrictMode 2015-03-29 23:00:41 -04:00
Cameron Gutman
dbe01a17d2 Enable slicing again on GFE 2.4 to reduce latency on Qualcomm devices 2015-03-25 00:31:30 -04:00
Cameron Gutman
b3503cdede Reduce GCs and CPU usage by avoiding HashSet and LinkedList usage in the depacketizer. Also avoid atomic ref count operations for direct submit decoders. 2015-03-25 00:14:48 -04:00
Cameron Gutman
1ac6439690 Use an unsynchronized buffer list to cut down on overhead when using direct submit video renderers 2015-03-09 01:38:22 -05:00
Cameron Gutman
c481841ddf Change VideoDecoderRenderer to an abstract class so future interface changes can be made without breaking clients 2015-03-09 01:37:08 -05:00
Cameron Gutman
678269c561 Create a new UnsynchronizedPopulatedBufferList implementation that can be used for better direct submit performance 2015-03-09 01:35:53 -05:00
Cameron Gutman
83e874cdb6 Fix off-by-one to make printed buffers nicer 2015-03-08 22:21:11 -05:00
Cameron Gutman
90fc5797d5 Fix NvApp constructor 2015-02-27 14:11:15 -05:00
Cameron Gutman
fcfcce88dd Use an NvApp in the StreamConfiguration so it can be directly used by NvConnection 2015-02-27 14:08:39 -05:00
Cameron Gutman
fb8fc54bb1 Use App IDs for app lookups and deprecate the old name-based lookup function 2015-02-27 13:29:41 -05:00
Cameron Gutman
a4ec619e5a Add back the capability to get box art with NvHTTP 2015-02-27 01:15:21 -05:00
Cameron Gutman
8fb2622b66 Throw an exception if the received app list XML was incomplete 2015-02-26 17:58:03 -05:00
Cameron Gutman
e6527de786 Trim strings retrieved from the applist XML 2015-02-25 19:56:56 -05:00
Cameron Gutman
3f7e4d817f Allow verbose mode to be enabled at runtime 2015-02-25 19:56:20 -05:00
Cameron Gutman
6eaabc84aa Improve verbose debugging 2015-02-25 19:55:16 -05:00
Cameron Gutman
814557435d Print a better message if attempting to quit another device's stream 2015-02-25 19:54:35 -05:00
Cameron Gutman
2d5328fc24 Pass through the correct refresh rate now that people are doing sensible things with it 2015-02-13 17:07:14 -05:00
Cameron Gutman
95c82c5cc5 Fix a nasty bug in multiple controller support that could cause phantom inputs on controller 0 2015-02-12 21:06:37 -05:00
Cameron Gutman
fe907b0271 Handle NumberFormatExceptions from parseInt() 2015-02-11 17:24:27 -05:00
Cameron Gutman
7ae74a6a18 Never return an NvApp object that has no app ID assigned 2015-02-09 00:10:56 -05:00
Cameron Gutman
9772049295 Initialize the app name to empty string because it may not be present 2015-02-09 00:09:40 -05:00
Cameron Gutman
ec39f22ad8 Fix packet type for legacy controller packets and privatize some constants to prevent this bug from happening again 2015-02-02 18:06:05 -05:00
Cameron Gutman
51343a171d Add multiple controller support 2015-02-01 04:37:35 -05:00
Cameron Gutman
9988330613 Add some new common functions for app list caching 2015-01-30 18:27:15 -05:00
Cameron Gutman
8235717502 Fix streaming from GFE 2.1.x 2015-01-25 21:33:24 -05:00
Cameron Gutman
3d29d76cd4 Fix broken streaming on Gen 4 servers 2015-01-25 21:21:58 -05:00
Cameron Gutman
cde5367f38 Tweak network packet loss message and threshold algorithm 2015-01-25 18:37:07 -05:00
Cameron Gutman
466463ebc3 Add SDP backwards compatibility 2015-01-25 18:12:25 -05:00
Cameron Gutman
aee255a6ee Backwards compatibility for video and control stream to GFE 2.1.x 2015-01-25 17:59:23 -05:00
Cameron Gutman
daf7598774 Use a single context object instead of passing around tons of objects. Start of GFE 2.1.x backwards compatibility. 2015-01-25 17:34:28 -05:00
Cameron Gutman
6de5cf8925 Disable deadzone scaling because it's pretty broken 2015-01-25 17:02:00 -05:00
Cameron Gutman
52e5817327 Fix flags so bitrate scales up properly on GFE 2.2.2 2015-01-22 14:51:28 -05:00
Cameron Gutman
79ddfc65d5 Remove unused import 2015-01-22 14:17:33 -05:00
Cameron Gutman
6acb1fd92a Initial support for GFE 2.2.2+ 2015-01-22 14:13:02 -05:00
Cameron Gutman
bd2a1b8886 Improve streaming QoS 2014-12-02 00:54:52 -08:00
Cameron Gutman
021cfd1737 Lower the maximum RTP queuing delay to 10 ms instead of 40 ms to reduce the number of frames dropped when a packet is lost 2014-11-27 21:52:03 -06:00
Cameron Gutman
5fc438a0be Update XPP3 and OkHttp libraries 2014-11-23 23:26:12 -08:00
Cameron Gutman
3a3ac83ab5 Change timing of video initialization to prevent an ICMP port unreachable message on start that could tear down a NAT hole 2014-11-20 19:04:58 -08:00