Commit Graph
100 Commits
Author SHA1 Message Date
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
Cameron Gutman 6c5ec3d2e9 Store the timestamp of the first packet received in the decode unit 2014-06-19 19:09:00 -07:00
Cameron Gutman 38423a9f37 Refactor the video decoding path so the DecoderRenderer handles pulling decode units instead of dedicating a separate thread for this 2014-06-19 18:28:48 -07:00
Cameron Gutman 7b10e52808 Set the receive thread's priority to maximum 2014-06-15 20:38:28 -07:00
Cameron Gutman 890ee846f7 Move Base64 encoding responsibilities out to the CryptoProviders for Android 2014-06-15 20:11:34 -07:00
Cameron Gutman 6a92ea74fc Cleanup and bugfix pairing code. 2014-06-15 18:54:32 -07:00
Cameron Gutman 07cf96c5ce Add support for secure pairing and input encryption to fix GFE 2.1 compatibility.
TODO:
Needs a LimelightCryptoProvider implementation for each platform to work.
Untested (and probably broken) on Android.
Needs more testing in general, especially in corner cases.
2014-06-15 04:40:47 -07:00
Cameron Gutman 4a2ee91700 Update Jar 2014-05-23 00:06:22 -04:00
Cameron Gutman 8e9d605248 Clamp to min = max so we can eliminate the time taken to scale the bitrate up to the ceiling 2014-05-12 20:00:52 -05:00
Cameron Gutman a4e6738353 Update the A/V loss message 2014-05-12 19:42:00 -05:00
Cameron Gutman 0f815a0085 Fix variable names in the ConnectionStatusListener interface 2014-05-12 19:41:04 -05:00
Cameron Gutman 0c8c108bd1 Add support for sending proper packet loss statistics for server-side bandwidth scaling 2014-05-11 18:49:20 -05:00
Cameron Gutman 04941212cd Tweak some config to improve QoS when streaming 1080p30 over a so-so connection 2014-05-11 13:51:35 -04:00
Cameron Gutman 9ad45a3ca3 Update TinyRTSP Jar to work on Java 1.6 2014-05-11 13:40:58 -04:00
Cameron Gutman 176c8e9b93 Remove the deviceName field to fix a warning 2014-05-11 13:33:51 -04:00
Cameron Gutman f537588228 Don't use the devicename parameter when pairing anymore. It's not using since GFE 2.0.0 and it can cause problems if invalid characters get added to the URL 2014-05-11 13:31:04 -04:00
Cameron Gutman e593c04001 Increase the size of the receive buffer for video data 2014-05-11 13:29:51 -04:00
Cameron Gutman 1095d7808c Increase the size of the video ring buffer for high bitrate streaming 2014-05-11 13:29:20 -04:00
Cameron Gutman d29dccba69 Stick to the older minimum when not using 1080p60 2014-05-07 23:56:38 -04:00
Cameron Gutman a4098919b9 Add support for selecting maximum stream bitrate 2014-05-07 02:11:46 -04:00
Cameron Gutman 09e7ff0582 Update TinyRTSP 2014-05-07 00:23:16 -04:00
Cameron Gutman 09177be8f7 Drop the maximum bitrate of 720p60 to 13 Mbps 2014-05-07 00:22:57 -04:00
Cameron Gutman eaa08bada4 Convert byte[] to char[] manually since IBM437 isn't available on some platforms 2014-05-07 00:22:32 -04:00
Cameron Gutman 5f93d55dab Don't convert IP string back into an InetAddress just leave it an InetAddress 2014-05-06 23:54:03 -04:00
Cameron Gutman dfc0d518f8 Display an error if the PC is running a GFE version less than 2.0.1. 2014-05-06 23:40:09 -04:00
Cameron Gutman eace3a0bf0 Update config to fix 720p60 and 1080p 2014-05-06 23:31:36 -04:00
Cameron Gutman 92adbe0983 Update control protocol for GFE 2.0.1 2014-05-06 23:31:09 -04:00
Cameron Gutman aadbc3dd01 Update TinyRTSP 2014-05-06 21:31:36 -04:00
Cameron Gutman d01a28c57f Initial work on updating for GFE 2.0.1's new RTSP-based handshake protocol 2014-05-06 21:18:57 -04:00
Cameron Gutman 4ee99a78b2 GFE 2.0.1 appears to have a bug where it drops all paired devices when the serverinfo query is sent with a uniqueid argument. Stop doing that to fix Limelight with GFE 2.0.1. 2014-05-06 10:21:17 -04:00
Cameron Gutman bd9b37a5a0 Fix IPv6 incompatibility in HTTP code due to using raw IPv6 addresses in string format 2014-04-13 20:22:53 -04:00
Cameron Gutman 7947d8b75d Add the config hack to make 1080p30 work with the CPU decoder 2014-04-07 18:52:17 -04:00
Cameron Gutman 3408e467d5 Fix starting AV stream on GFE 2.0 2014-04-07 18:51:57 -04:00
Cameron Gutman a0237a19d9 Remove duplicate code 2014-04-07 18:51:01 -04:00
Cameron Gutman eb15599c01 Only increment the ring index if data was successfully queued 2014-03-17 14:20:43 -04:00
Cameron Gutman 8c9d0d171c Use ring buffers for audio and video handling to remove the last large allocations that were happening very frequently 2014-03-17 13:38:49 -04:00
Cameron Gutman a39f4c5eab Use a single decoded audio buffer for direct submit audio renderers 2014-03-16 18:13:42 -04:00
Cameron Gutman 239dffcbdf Slightly reduce memory/GC pressure by using a smaller per-packet buffer of 1050 bytes instead of 1500 bytes 2014-03-13 21:53:52 -04:00
Cameron Gutman 3af3df0544 Reduce GC pressure significantly by using a single 100 byte buffer for all audio data instead of allocating 1500 bytes for each audio packet received 2014-03-13 21:53:10 -04:00
Cameron Gutman 7e30d043eb Fix handling packet loss in the second of a split frame 2014-03-13 01:31:47 -04:00
Cameron Gutman 4cbaee6806 Change the transient message when loss is experienced to clarify the actions the user should take 2014-03-03 19:41:23 -05:00
Cameron Gutman 8297ca7e85 Change LimeLog.info() back to calling Logger.info() internally so info messages are displayed by default 2014-03-03 19:40:02 -05:00
Cameron Gutman da1c350067 Tweak warning thresholds after reducing the amount of frame invalidations requested 2014-02-27 02:07:53 -05:00
Cameron Gutman c8c7512600 Hack around an issue where data gets added after the frame is thrown away 2014-02-27 01:31:07 -05:00
Cameron Gutman 50e7deeb32 Merge branch 'master' into logs
Conflicts:
	src/com/limelight/nvstream/av/audio/AudioDepacketizer.java
	src/com/limelight/nvstream/av/video/VideoDepacketizer.java
	src/com/limelight/nvstream/control/ControlStream.java
2014-02-26 16:22:04 -05:00
Cameron Gutman 7e3acd0213 Merge pull request #4 from irtimmer/config_javadoc
Config tuples meanings
2014-02-26 12:14:13 -05:00
Cameron Gutman e60420cb2c Update depacketizer to do reference frame invalidation more like the official streamer. This should reduce the frequency of IDR requests by waiting for network stabilization before requesting the IDR frames. We still request IDR frames because reference frame invalidation still doesn't work well. 2014-02-26 12:12:06 -05:00
Cameron Gutman 4fbe93e62d Set flags on the decode units that indicate what type of data the frame contains 2014-02-26 01:00:17 -05:00
Cameron Gutman bc2ca0b386 Increase resilience to packet loss. IDR frames are no longer requested if error correction data was lost. A maximum of one IDR frame is requested per corrupt frame. Error correction data is used to recover from the loss of a single-packet frame. 2014-02-24 12:54:03 -05:00
Cameron Gutman ccc3eeebe8 Remove the depacketizer thread again... 2014-02-19 20:59:31 -05:00
Cameron Gutman 63ee6ef79a Add support for direct submission of buffers to the renderers without a separate thread 2014-02-19 20:36:53 -05:00
Cameron Gutman cf3ac50d22 Increase the propensity for generating a loss warning 2014-02-19 20:36:12 -05:00
Cameron Gutman cdf634dc41 Display messages if we detect that the device is having issues streaming 2014-02-19 19:03:51 -05:00
Cameron Gutman 21116f90a7 Remove unused imports 2014-02-17 19:22:49 -05:00
Cameron Gutman 29dd0e172c Fix the new config tuples to work with our current control stream code 2014-02-17 19:18:34 -05:00
Cameron Gutman 2d5083179c Revert "Remove depacketizer thread"
This reverts commit a2a4463c0b684fa54212fe497ac2a8931ebd8821.
2014-02-17 16:14:03 -05:00
Cameron Gutman a96de39b28 Use packet flags to determine where frames end and begin instead of the packet index 2014-02-17 15:17:20 -05:00
Cameron Gutman c93812179f Updated config code for artifact-free 1080p60 streaming 2014-02-17 14:27:21 -05:00
Cameron Gutman 26809c4b6b Decode parameter set NALs with the slow path so the SPS fixup hack still works 2014-02-17 13:57:15 -05:00
Cameron Gutman 0cce5b021e New video depacketizer that runs in O(1) time 2014-02-17 13:39:18 -05:00
Cameron Gutman d54c1b07ce Merge pull request #3 from irtimmer/direct_decode
Reassemble NAL's early
2014-02-17 12:14:55 -05:00
Cameron Gutman 1a38cc2c0c Update config based on Shield OTA 68 2014-02-04 09:10:18 -05:00
Cameron Gutman c18b6ec00b Revert "Lower queued decode unit limit to resync faster if the renderers get behind. Lower the audio receive buffer size since it was unneccessarily large."
This reverts commit 255d65b148c21d1f4e9415922013f6ff91f5236a.
2014-01-24 15:33:18 -05:00
Cameron Gutman dfa3be78e4 Revert the DU_LIMIT changes due to variance in platform audio rendering speed 2014-01-22 17:08:01 -05:00
Cameron Gutman 932bb1145b Lower queued decode unit limit to resync faster if the renderers get behind. Lower the audio receive buffer size since it was unneccessarily large. 2014-01-22 17:01:37 -05:00
Cameron Gutman 46f4f5ccbe Merge pull request #2 from irtimmer/removethread
Remove depacketizer thread
2014-01-22 13:53:55 -08:00
Cameron Gutman 7f851c46f4 Drop code compliance to Java 1.5. Minor annotation changes for 1.5 compliance. 2014-01-22 13:38:24 -05:00
Cameron Gutman ab1e47edb4 Fix retreiving an empty MAC address string on some devices 2014-01-12 19:48:31 -05:00
Cameron Gutman 6a695d2c72 Fix H264 decoding artifacts when a frame has fewer than 3 bytes of padding at the end 2014-01-11 14:27:46 -05:00
Cameron Gutman 421d73b28a Display a more detailed error when attempting to resume another device's session 2014-01-11 10:43:29 -05:00
Cameron Gutman 042f67506c Remove the SPS hack from common, since it introduces compatibility problems for some devices 2014-01-10 00:27:35 -06:00
Cameron Gutman 96e5513cdb Fix resync request packet to hopefully keep working longer 2014-01-10 00:00:09 -06:00
Cameron Gutman cc30752eb7 Only use a socket timeout when handshaking on the control stream. 2014-01-09 23:48:59 -06:00