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
|
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
|
bd9c6834b7
|
Add support for adaptive resolution changes
|
2014-09-19 22:04: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
|
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
|
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
|
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
|
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 |
|