Cameron Gutman
8d316ce9f0
Add fill screen flag for decoder renderer
2014-07-19 21:45:19 -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
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
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
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
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
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
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
b4a0f81eda
Fixup bitstream_restriction_flag and max_dec_frame_buffering in the SPS to fix decoding latency issues on Tegra and the Raspberry Pi
2014-01-06 22:52:11 -06:00
Cameron Gutman
666fbecc01
Use a 60 FPS redraw rate even if the stream is 30 FPS to reduce stutter
2013-12-29 01:41:17 -05:00
Cameron Gutman
b0d5b9c767
Remove AvcDecoder from the shared code
2013-12-28 16:42:02 -05:00
Cameron Gutman
f1b4fdd8b0
Restore the old O(N) video depacketizer to fix artifacting. Add warnings for when the decode unit queue overflows.
2013-12-27 00:05:05 -05:00
Cameron Gutman
12658f4fb0
Update VideoDecoderRenderer interface with redrawRate and additional configuration flags
2013-12-26 17:28:37 -05:00
Cameron Gutman
48f8a05bae
Increase the default receive buffers for the RTP sockets to avoid dropping packets while the receive thread is suspended by the OS scheduler. Windows uses particularly small (8KB) receive buffers by default which this should work around.
2013-12-19 14:50:50 -05:00
Cameron Gutman
4701c22b67
Create a StreamConfiguration class and use it to send correct information about the requested resolution and refresh rate to the various streaming components and the target PC.
2013-12-19 04:24:45 -05:00
Cameron Gutman
7f841c1fca
Allow reuse of the UDP ports to avoid conflicts with GFE
2013-12-11 23:33:52 -05:00