Commit Graph
100 Commits
Author SHA1 Message Date
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
Cameron Gutman 8dbb03114d Improve axis scaling algorithm to fix cardinal direction issues 2014-10-16 21:16:12 -07:00
Cameron Gutman 415e96dec6 Fix endianness of integer SDP attributes. Fix transferProtocol attributes. 2014-10-10 22:15:21 -07:00
Cameron Gutman abc7f135f3 Prevent a decoder stall from causing corruption of queued decode units 2014-10-10 21:15:50 -07:00
Cameron Gutman 4b93207def Improve ByteBufferDescriptor print functionality 2014-10-10 21:13:05 -07:00
Cameron Gutman f004ae6a41 Use the entry's queue time rather than calling currentTimeMillis() again 2014-10-10 18:21:41 -07:00
Cameron Gutman ac6120adc4 Send control messages as a single TCP packet because the streamer on the PC can choke if it doesn't receive the header and body at the same time 2014-10-10 18:14:43 -07:00
Cameron Gutman d9c2d58519 Don't bind to the RTP ports explicitly. GFE doesn't force us to use these port numbers anymore. 2014-10-07 23:14:48 -07:00
Cameron Gutman 22865b8af4 Don't localize the PIN string 2014-10-05 15:46:09 -07:00
Cameron Gutman 431ba06742 Scale controller axis values to match how Xinput reads them on the PC. Clients that support this must have proper deadzone support (incorrect deadzones will be noticeable) and set ControllerPacket.enableAxisScaling 2014-10-01 20:22:06 -07:00
Cameron Gutman ed8857552b Raise read timeout to 5 seconds and connect timeout to 3 seconds to avoid some spurious timeouts 2014-09-27 20:05:33 -07:00
Cameron Gutman 5f42ca66fe Add read timeouts to HTTP requests that should come back immediately if GFE is working properly 2014-09-27 15:45:13 -07:00
Cameron Gutman c9d003ca6d Use a single byte buffer to serialize input packets 2014-09-27 14:58:51 -07:00
Cameron Gutman 330f40cc18 Disable resolution scaling for now 2014-09-20 02:34:53 -07:00
Cameron Gutman 44366db4d5 Properly fix the timer crash 2014-09-20 02:34:06 -07:00
Cameron Gutman 93bf28b87d Fix weird double cancel crash. This might need more investigation later. 2014-09-19 22:22:22 -07:00
Cameron Gutman bd9c6834b7 Add support for adaptive resolution changes 2014-09-19 22:04:48 -07:00
Cameron Gutman 96ad2bcdef Update SDP generator for GFE 2.1.2 2014-09-19 19:37:37 -07:00
Cameron Gutman 14c03f0b37 Improve connection negotiation speed by caching serverinfo 2014-09-19 18:57:20 -07:00
Cameron Gutman 5bd30fe3dc Suppress connection warnings until 150 frames have come in 2014-09-17 01:58:41 -07:00
Cameron Gutman 5be499887d Fix a resource leak that was causing Limelight-Embedded to hang instead of exiting after using mDNS discovery 2014-09-16 19:17:25 -07:00
Cameron Gutman 7124963c56 Remove unnecessary byte buffer allocations in the most frequent control stream packets 2014-09-15 01:02:33 -07:00
Cameron Gutman 4377808896 Remove unnecessary byte buffer allocations in the input path 2014-09-14 23:58:42 -07:00
Cameron Gutman 50f8f78b8d Add support for vertical mouse scrolling 2014-09-03 22:52:48 -07:00
Cameron Gutman 1bb9a13c17 Generate a better message when a decoder fails to initialize 2014-09-03 20:41:21 -07:00
Cameron Gutman e7f1b822f7 Rename button constants to something reasonable 2014-09-01 14:02:53 -07:00
Cameron Gutman c9eee2e075 Rename NvController -> ControllerStream. Use a dedicated input thread rather than a thread pool for processing input. Batch analog axis updates and mouse moves. 2014-08-20 22:27:25 -07:00
Cameron Gutman 6556b3eb9b Make input packet fields package protected for batching 2014-08-20 21:25:08 -07:00
Cameron Gutman cc92f3829e Fix sequencing errors that lead to drops in audio or video for potentially long periods under the right conditions 2014-08-09 03:39:14 -07:00
Cameron Gutman 33ffbe151f Lower the DU limit back to 15 because 30 can exhaust the video ring buffer 2014-08-06 15:55:02 -07:00
Cameron Gutman 60db0ff775 Wait for an IDR frame after dropping video data due to the decoder being too slow 2014-08-06 15:54:35 -07:00
Cameron Gutman 7ecac185ac Remove an old debug message 2014-08-06 15:53:38 -07:00
Cameron Gutman b76495fa8f Send the newer loss stats packet 2014-08-05 22:28:04 -07:00
Cameron Gutman 463d4ad3fd Only generate 1 packet of FEC data per frame. Disable video resolution scaling on packet loss. 2014-08-04 10:20:49 -07:00
Cameron Gutman 0f0e41d5a4 Implement an RTP queue to handle out of order video and audio packets 2014-08-03 17:59:10 -07:00
Cameron Gutman 2d55562dd3 Improve tolerance to dropped packets 2014-07-31 15:20:43 -07:00
Cameron Gutman cbe40fde92 Prevent network degradation from changing stream resolution 2014-07-31 14:06:30 -07:00
Cameron Gutman 97e62fdd34 Properly detect packet loss within a frame 2014-07-31 10:42:16 -07:00
Cameron Gutman aa799342e5 Video stream updates for GFE 2.1.1 2014-07-31 01:32:15 -07:00
Cameron Gutman ae8cb18f63 Remote input encryption changes for GFE 2.1.1 2014-07-31 00:22:17 -07:00
Cameron Gutman 8f53b6f233 RTSP changes to support GFE 2.1.1 2014-07-31 00:20:56 -07:00
Cameron Gutman 9e385215ce Add support for selecting sops on or off 2014-07-21 22:49:57 -07:00
Cameron Gutman 378fbedfa4 Remove/change some messages 2014-07-21 22:49:28 -07:00
Cameron Gutman c84e063114 Update the packet loss message 2014-07-19 22:49:47 -07:00
Cameron Gutman 8d316ce9f0 Add fill screen flag for decoder renderer 2014-07-19 21:45:19 -07:00
Cameron Gutman 0019b93e8d Stop GFE from changing game settings 2014-07-19 21:42:16 -07:00
Cameron Gutman 2d66c6fb53 Let the bitrate scale from 1Mb to the maximum 2014-07-19 18:07:16 -07:00
Cameron Gutman b629f674ca Improve audio robustness to packet reordering and duplication 2014-07-19 17:19:06 -07:00
Cameron Gutman 670622dfd7 Reduce FEC data to 1 packet at max to lower bandwidth requirements 2014-07-19 16:02:17 -07:00
Cameron Gutman f35c2ead0f Fix video path with no renderer 2014-07-13 18:21:50 -07:00
Cameron Gutman 6b7b797089 Increase DU limits for bursty situations. Fix decode unit leak in audio path. 2014-07-12 19:16:39 -07:00
Cameron Gutman 15d4f6354d Fix mDNS recognition of PCs running GFE 2.1 2014-07-12 16:15:24 -07:00
Cameron Gutman 77cea99b35 "Fix" decode unit leak 2014-07-12 14:07:18 -07:00
Cameron Gutman 70b50bd096 Remove the remaining allocations in the AV paths 2014-07-12 13:37:53 -07:00
Cameron Gutman c2401e7a75 Remove object allocations from audio decoding path 2014-07-12 12:21:57 -07:00
Cameron Gutman b63c6223b0 Remove old MAC address finding code 2014-07-12 12:19:55 -07:00
Cameron Gutman bcf10cc0b2 Remove the create function for MdnsDiscoveryAgent because it can't throw IOException anymore 2014-07-04 15:09:46 -07:00
Cameron Gutman aaa73eb196 Fix a bug in the update function 2014-07-04 14:39:28 -07:00
Cameron Gutman 707c7a1a53 Fix interface changes while mDNS resolution is running 2014-07-04 12:12:50 -07:00
Cameron Gutman dcb3e1c0e4 Fix a few parsing issues with the serverinfo XML 2014-07-04 11:49:48 -07:00
Cameron Gutman 894110ba08 Wake on LAN support. Many fixes for Limelight Android 2.5. 2014-07-03 23:30:29 -07:00
Cameron Gutman a4dceb0b74 Add functions for decoders to return latency statistics 2014-06-30 21:10:27 -07:00
Cameron Gutman 1c82fdf048 Add flags back to the decode unit because TI OMAP devices need them 2014-06-30 21:03:16 -07:00
Cameron Gutman ec303e485f Add a function to retrieve box art for an NvApp 2014-06-29 23:49:06 -07:00
Cameron Gutman 1cdcc6d190 Add mDNS support with a patched version of jmDNS 3.4.1 2014-06-29 23:48:03 -07:00
Cameron Gutman ef1f44f873 Merge branch 'master' of github.com:s0ckz/limelight-common
Conflicts:
	src/com/limelight/nvstream/StreamConfiguration.java
2014-06-29 12:25:10 -07:00
Cameron Gutman 00e81e87de Allow renderer initialization to indicate failure 2014-06-29 11:38:27 -07:00
Cameron Gutman 2f082b9f85 Fix (currently) harmless bug in initial frame parsing 2014-06-29 11:24:20 -07:00
Cameron Gutman c9e5230e37 Allow configuration of maximum packet size 2014-06-22 17:06:28 -07:00
Cameron Gutman 86e2657613 Stop allocating RtpPacket and VideoPacket objects in the reassembly path 2014-06-22 13:52:40 -07:00