237 Commits

Author SHA1 Message Date
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
Cameron Gutman
ff4570abac Reorder video stream initialization to vastly reduce the chance we'd miss the initial IDR frame 2014-11-19 10:42:29 -08:00
Cameron Gutman
c819f2f0e3 Request a new IDR frame immediately if we've been waiting for one for 120 frames 2014-11-19 10:40:39 -08:00
Cameron Gutman
c2cdb1264d Remove equals and hashCode from computer details 2014-11-17 19:00:07 -08:00
Cameron Gutman
c0e95ea18b Add count methods to PopulatedBufferList 2014-11-16 12:04:43 -08:00
Cameron Gutman
f21a81d7ac Add support back for specifying max packet size 2014-11-15 01:23:33 -08:00
Cameron Gutman
67c726a141 Lower the rate of UDP pings to 2 per second rather than 10 per second 2014-11-15 00:29:00 -08:00
Cameron Gutman
ff5f50e3ec Assign the frame start time when we get a slow path frame 2014-11-13 22:17:02 -08:00
Cameron Gutman
022a08f5a1 Throw proper exceptions when an HTTP request fails 2014-11-13 21:56:07 -08:00
Cameron Gutman
52f81274f0 Disable FEC to remove padding from the video stream 2014-11-11 17:42:18 -08:00
Cameron Gutman
35a50209be Revert "Fix waiting for IDR frames"
This reverts commit 37f0abfcd1e1490315e2f321db7d313d91e29cc6.
2014-11-11 17:04:48 -08:00
Cameron Gutman
9728c136f5 Revert "Also use the slow path for the last packet in each frame because it may be padded"
This reverts commit f2e7995747a5ed195926e88ee494602f6a09d9cf.
2014-11-11 16:59:42 -08:00
Cameron Gutman
bacd1d81fd Build with Java 1.6 2014-11-11 12:59:20 -08:00
Cameron Gutman
f36227b506 Fix waiting for IDR frames 2014-11-11 01:09:15 -08:00
Cameron Gutman
debd840db4 Start the video renderer earlier to give it time to warm up 2014-11-11 00:49:18 -08:00