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
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