Cameron Gutman
8d316ce9f0
Add fill screen flag for decoder renderer
2014-07-19 21:45:19 -07:00
Cameron Gutman
b629f674ca
Improve audio robustness to packet reordering and duplication
2014-07-19 17:19:06 -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
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
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
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
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
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
92adbe0983
Update control protocol for GFE 2.0.1
2014-05-06 23:31:09 -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
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
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
cdf634dc41
Display messages if we detect that the device is having issues streaming
2014-02-19 19:03:51 -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
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
Aaron Neyer
e188e1dd04
Merge branch 'master' of github.com:limelight-stream/limelight-common into logs
...
* 'master' of github.com:limelight-stream/limelight-common:
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."
Update README.md
Revert the DU_LIMIT changes due to variance in platform audio rendering speed
Lower queued decode unit limit to resync faster if the renderers get behind. Lower the audio receive buffer size since it was unneccessarily large.
Drop code compliance to Java 1.5. Minor annotation changes for 1.5 compliance.
Remove depacketizer thread
add gpl
2014-02-02 20:24:50 -05:00
Iwan Timmer
ae18e00b13
Reassemble NAL's early
2014-02-03 00:30:44 +01: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
Iwan Timmer
82ae042f1c
Remove depacketizer thread
2014-01-22 15:23:38 +01:00
Aaron Neyer
f95cd60cfd
Created LimeLog as a wrapper around javas logger
2014-01-12 20:23:18 -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
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
3201fac36c
Fix import warnings
2014-01-08 20:45:18 -06:00