2215 Commits

Author SHA1 Message Date
Cameron Gutman
806310900d Update to libopus-1.1. Reduces CPU audio decoding overhead by up to 40%. 2013-12-27 05:30:15 -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
9d3ee3a0a2 Add UI elements and backend code for manually overriding the default decoder choice. Redraw at the specified refresh rate. 2013-12-26 17:35:53 -05:00
Cameron Gutman
12658f4fb0 Update VideoDecoderRenderer interface with redrawRate and additional configuration flags 2013-12-26 17:28:37 -05:00
Cameron Gutman
ed92f9d28e Simply discard input events that occur when the thread pool has been shutdown (during connection closure) 2013-12-20 15:12:35 -05:00
Cameron Gutman
a1440621f9 Fix a race that could crash a few threads in the input thread pool 2013-12-20 15:06:56 -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
163ee74e98 Add options to select between 720p and 1080p resolutions along with 30 fps and 60 fps 2013-12-19 05:14:39 -05:00
Cameron Gutman
934e234b74 Update limelight-android for limelight-common changes 2013-12-19 04:43:42 -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
Aaron Neyer
4f56dce9f7 add readme 2013-12-11 21:12:43 -05:00
Aaron Neyer
25be9e5cf8 updated readme 2013-12-09 16:55:12 -05:00
Aaron Neyer
5337e938e0 add license and readme 2013-12-09 12:12:03 -05:00
Diego Waxemberg
4e9fb1bbce no longer print each time we send a keyboard packet 2013-12-09 11:56:20 -05:00
Diego Waxemberg
da47b43ad3 added support for all 3 mouse buttons 2013-12-08 16:25:41 -05:00
Diego Waxemberg
87152e6403 added support for keyboard modifier keys 2013-12-08 14:44:01 -05:00
Diego Waxemberg
895c123b13 removed keyboard packet print statment 2013-12-07 22:14:35 -05:00
Diego Waxemberg
35476e2c28 added support for sending keyboard key presses 2013-12-07 21:21:34 -05:00
Diego Waxemberg
29909e07e8 added render api for limelight-pc 2013-12-07 20:09:57 -05:00
Cameron Gutman
9ac103187f Fix an off-by-one in fallback interface selection 2013-12-05 19:27:46 -05:00
Cameron Gutman
12179a999b Missed uncommenting this. 2013-12-05 13:01:43 -05:00
Cameron Gutman
14d093cf06 Remove code shared with limelight-common and implement Android bindings. 2013-12-05 12:59:36 -05:00
Cameron Gutman
ce1494895e Commit of common limelight core with bindings based on HEAD of RenderScript-Renderer 2013-12-05 12:57:49 -05:00
Cameron Gutman
41d2f6b0e2 Create .gitignore 2013-12-05 12:54:41 -05:00
Cameron Gutman
b0bb8b685c Further optimize the JNI code for faster H264 decoding. Add an experimental RenderScript renderer. 2013-11-29 21:06:35 -06:00
Cameron Gutman
f4cf83012e Disable Nagle on the control socket. Use a single resync thread rather than spawning a new thread each time. 2013-11-28 21:36:51 -05:00
Cameron Gutman
fb437f11a0 Always request an IDR frame if packet loss occurs because we don't know if we missed a full frame (partial revert of last commit). Remove the last bit of active NAL parsing. 2013-11-28 21:02:31 -05:00
Cameron Gutman
b0d138b7f2 Rewrite the NAL depacketizer to run in O(1) time by parsing the proprietary header rather than the H264 bytestream 2013-11-28 14:22:12 -05:00
Cameron Gutman
a2a4159b0c Also disable non-compliant speed optimizations when prioritizing quality 2013-11-26 20:44:10 -05:00
Cameron Gutman
b603bf4887 Add a checkbox to favor image quality over performance 2013-11-26 20:03:55 -05:00
Cameron Gutman
8e22a125e2 Remove AvcDecoder.SLICE_THREADING flag which was making performance worse. Scale the thread count higher on low performing devices. Use a constant 30 fps target since rendering tends to have very little effect on decoding speed. Only wait when the wait time will exceed 8 ms in order to reduce the likelyhood that the wait causes us to render late. 2013-11-26 14:36:06 -05:00
Cameron Gutman
55d534c8cf Fix off-by-one error in prefix matching 2013-11-25 21:48:35 -05:00
Cameron Gutman
734d80b281 Blacklist the Rockchip H264 decoders. Blacklist another software decoder that doesn't support H264 L5.0 high profile 2013-11-24 19:55:12 -05:00
Cameron Gutman
5360d6c9b2 Hint the GC to run at the completion of each frame. This forces concurrent garbage collection which means that the likelyhood of a long GC pause while other threads are running is lower. 2013-11-24 19:32:50 -05:00
Cameron Gutman
dd82573d08 Switch from ArrayBlockingQueues to LinkedBlockingQueues for increased throughput. Set thread priorities for the decoder and ping threads. 2013-11-24 19:31:50 -05:00
Cameron Gutman
d9527a3810 Optimize performance flags. 2013-11-24 19:29:26 -05:00
Cameron Gutman
9be14c3d92 Add thread names for easier debugging 2013-11-24 17:57:00 -05:00
Cameron Gutman
732ea8a3ac Optimize the reinitialization of the buffer descriptor in the receive threads 2013-11-24 17:29:12 -05:00
Cameron Gutman
9a3c5dac0a Suppress connection failure warnings when closing gracefully 2013-11-24 21:52:33 -05:00
Cameron Gutman
7d39ac2a45 Reuse a single AvByteBufferDescriptor when depacketizing H264 instead of allocating many of them per packet 2013-11-24 21:51:09 -05:00
Cameron Gutman
fb8b6fd7f5 Add configurable ffmpeg performance options 2013-11-24 21:46:47 -05:00
Cameron Gutman
c8b94217cf Set the datagram destination manually for ping packets rather than connecting the datagram socket explicitly. This prevents the ICMP port unreachable message from being propagated to the receive thread which causes an IOException. 2013-11-23 17:07:33 -05:00
Cameron Gutman
0fe7549942 Loosen the connection timeouts. Remove the HTTP request timeout because it depends on how long it takes for the requested app to start. 2013-11-23 16:48:46 -05:00
Cameron Gutman
022866288d Add more logging for exceptions. 2013-11-23 14:06:51 -05:00
Cameron Gutman
125bcb370f Limit the size of queues. Switch to a blacklist instead of a whitelist for hardware decoding. Currently, Nvidia, TI, and Google H264 codecs are on the blacklist. Reenable large heap since we're allocating more objects now. 2013-11-23 02:44:10 -05:00
Cameron Gutman
4d5849f448 Add UI indications of the connection status and failure 2013-11-23 01:03:37 -05:00
Cameron Gutman
c88d23001e Commit forgotten ConnectionStatusListener interface. Thanks to danielb7390 for pointing this out. 2013-11-22 22:13:39 -05:00
Cameron Gutman
2946966456 Whitelist the Exynos hardware H264 decoder 2013-11-22 02:13:02 -05:00
Cameron Gutman
d00474c1cd Fix warning. 2013-11-22 00:31:39 -05:00