Cameron Gutman
|
b191425112
|
Finish packet reading for RTSP and control streams
|
2016-03-06 15:51:15 -08:00 |
|
Cameron Gutman
|
c06a4ab76d
|
Implement RTSP over ENet
|
2016-03-05 19:10:22 -06:00 |
|
Cameron Gutman
|
b3042312f6
|
Supply the max packet size to EnetConnection.readPacket()
|
2016-03-05 18:32:50 -06:00 |
|
Cameron Gutman
|
5fd105c9a9
|
Implement ENet for control and input streams
|
2016-03-05 17:56:42 -06:00 |
|
Cameron Gutman
|
306c2d143b
|
Disable resolution switching on Gen 5 servers
|
2016-02-28 14:12:34 -05:00 |
|
Cameron Gutman
|
a71a3e22e6
|
Rewrite MdnsDiscoveryAgent to treat the singleton JmmDNS object safely
|
2016-02-23 16:18:59 -05:00 |
|
Cameron Gutman
|
da4fab2f3e
|
Stop using resolver outside of the timer callback
|
2016-02-23 13:49:35 -05:00 |
|
Cameron Gutman
|
1db84efb68
|
Revert "Synchronize the mDNS events and timer with the MdnsDiscoveryAgent class instead of the instance object as a workaround for JmDNS issue #49"
This reverts commit d92ad050aa4482cdaaf8f7345222da26c31d84f6.
|
2016-02-23 10:54:03 -05:00 |
|
Cameron Gutman
|
c1c3af3c66
|
Synchronize the mDNS events and timer with the MdnsDiscoveryAgent class instead of the instance object as a workaround for JmDNS issue #49
|
2016-02-23 01:50:21 -05:00 |
|
Cameron Gutman
|
4622b9f202
|
Close the jmDNS object when we're done resolving so it stops listening on the network
|
2016-02-20 17:11:55 -05:00 |
|
Cameron Gutman
|
47ea158c4c
|
Fix random broken video on H265
|
2016-02-19 11:27:37 -05:00 |
|
Cameron Gutman
|
d9cb5eacf8
|
Add support for Generation 5 servers (GFE 2.10.2+)
|
2016-02-19 03:41:03 -05:00 |
|
Cameron Gutman
|
5718c47be7
|
Fix the bug causing the 4th controller to be unrecognized
|
2016-02-19 01:55:09 -05:00 |
|
Cameron Gutman
|
d7d90e8e49
|
Encode the surround sound information in the launch request parameters
|
2016-01-08 01:01:58 -06:00 |
|
Cameron Gutman
|
4d420b29cb
|
Also timeout RTSP if no response is received on an established connection for 10 seconds
|
2016-01-04 23:55:58 -06:00 |
|
Cameron Gutman
|
0b9e7aa05b
|
Standardize connection timeouts to 10 seconds
|
2016-01-04 23:54:25 -06:00 |
|
Cameron Gutman
|
8c663cc84a
|
Replace the HEVC detection hack with a proper solution based on examining the RTSP DESCRIBE response
|
2016-01-04 07:39:07 -06:00 |
|
Cameron Gutman
|
8d1417c636
|
Improve HEVC check to add Titan X support and more importantly stop requesting H.265 on mobile GPUs that may not support it
|
2016-01-03 16:01:28 -06:00 |
|
Cameron Gutman
|
b91ab53219
|
Connection reuse is broken in GFE's server (requests always get reissued on a new connection) so just turn it off
|
2016-01-02 17:34:29 -06:00 |
|
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 |
|