Commit Graph
100 Commits
Author SHA1 Message Date
Cameron Gutman 6eeb7ae5b2 Add UUID on serverinfo and add a TODO for HTTP serverinfo 2016-01-02 16:50:22 -06:00
Cameron Gutman 0436179020 Use UUID string in pairing and switch to HTTP for pairing (like Shield Hub) 2016-01-02 16:47:10 -06:00
Cameron Gutman c92cae51c8 Add UUID to URL queries (like recent Shield Hub version do) 2016-01-02 16:30:24 -06:00
Cameron Gutman 57da68c0e2 Remove uniqueId parameter from NvHTTP.getServerInfo 2016-01-02 16:28:58 -06:00
Cameron Gutman 67dc2ef9ab Properly handle 4K detection on GFE 2.8 2015-12-16 16:39:38 -08:00
Cameron Gutman 6459579f15 Change decoder failure warning 2015-12-13 13:04:07 -08:00
Cameron Gutman 5112179fca Check for GFE version attribute before enabling 4K 2015-12-13 12:18:42 -08:00
Cameron Gutman b640564689 Slicing seems to cause some artifacting issues, so I'm disabling it for now 2015-12-12 21:06:38 -08:00
Cameron Gutman 763f8938b3 Lower bitrate to 75% of original when streaming H.265 2015-12-12 21:06:19 -08:00
Cameron Gutman 4c67631ea5 Add negotiation logic for 4K and H.265 2015-12-12 17:18:15 -08:00
Cameron Gutman 920154b4b6 Add support for requesting an H265 stream (negotiation TBD) 2015-12-12 02:16:05 -08:00
Cameron Gutman d8c7d10ed6 Add H265 support to depacketizer 2015-12-12 01:32:07 -08:00
Cameron Gutman adcffa62d8 Refactor depacketizer to avoid H264 and AVC references -- no behavior changes 2015-12-12 00:06:37 -08:00
Cameron Gutman 260d716eb8 Fix broken app launching and resuming on GFE 2.8 2015-11-11 16:28:58 -08:00
Cameron Gutman fc1c26b5d7 Fix video corruption caused by the first packet in the IDR frame getting chained multiple times, resulting in the reference count of other packets in the I-frame returning to zero prematurely 2015-10-31 15:29:52 -07:00
Cameron Gutman df59c99f80 Reference count packets in the RTP queue so they don't get overwritten while queued 2015-10-31 15:27:33 -07:00
Cameron Gutman 8a465edad9 We might as well just keep the bitrate constant rather than doing all the complex logic to decide on a minimum. The dynamic scaling behavior is awful anyway. 2015-10-27 00:18:18 -07:00
Cameron Gutman 9b9020b512 Adjust bitrate lower bounds to match the default resolution bitrate to fix image quality issues at the very beginning of the stream 2015-10-26 17:33:01 -07:00
Cameron Gutman b9ac48532f Throw an exception if an invalid audio configuration is specified 2015-10-23 13:17:32 -07:00
Cameron Gutman 886ef425e6 Finish 5.1 surround sound support 2015-10-18 15:25:16 -07:00
Cameron Gutman fbd61d2a21 Transition to the Opus Multistream Decoder API 2015-10-17 17:15:22 -07:00
Cameron Gutman 469dcab5c7 Revert "Allow more time for the SSL handshake to take place"
This reverts commit dfde7b136e37fc9d8249bf758858b9da6c61c489.
2015-10-11 14:54:18 -07:00
Cameron Gutman fd1cb52f5f Allow more time for the SSL handshake to take place 2015-10-10 18:13:11 -07:00
Cameron Gutman 5175e68b99 Fix some issues with the new behavior of jmDNS 3.4.2 2015-08-17 22:38:01 -07:00
Cameron Gutman 64aa01b2cf Move to vanilla jmDNS 3.4.2 which fixes a bunch of mDNS issues and doesn't require a patch to work 2015-08-17 19:13:38 -07:00
Cameron Gutman 63964ba6a7 Use monotonic system time for all timestamps 2015-08-17 18:33:05 -07:00
Cameron Gutman e82683b0f4 Build for Java 1.7 compliance 2015-08-13 20:21:55 -07:00
Cameron Gutman 4b2299ed02 Update OkHttp and Okio libraries 2015-08-13 20:21:41 -07:00
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
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
Cameron Gutman 1531629fcd Also use the slow path for the last packet in each frame because it may be padded 2014-11-10 23:59:23 -08:00
Cameron Gutman 7bc325fa08 Add an Android TLS hack to fix GFE 2.1.4 and migrate to OkHttp classes for HTTPS 2014-11-10 21:58:03 -08:00
Cameron Gutman 2cc2d05c2f Display the app name instead of "starting app" 2014-11-06 20:48:08 -08:00
Cameron Gutman 1df03e137b Make network packet loss toast more tolerable 2014-11-06 20:40:33 -08:00
Cameron Gutman b0169b0edf Use a builder for StreamConfiguration to avoid further breaking changes to the constructor. Add support for local audio playback mode. 2014-11-02 20:52:09 -08:00
Cameron Gutman ae79f03e61 Add a hashCode function for ComputerDetails 2014-11-02 14:22:03 -08:00
Cameron Gutman 77a587abe8 Fix box art URL 2014-10-22 21:24:11 -04:00
Cameron Gutman 7f587dc389 Thread priority tweaks: Ensure renderer threads have higher priorities than the receive threads. Increase the priority of the resync thread to just below the video renderer so the control packet can be emitted ASAP. Lower the priority of the loss stats thread. Increase the priority of the input thread slightly above normal. 2014-10-17 17:03:58 -07:00