Commit Graph

3163 Commits

Author SHA1 Message Date
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
Cameron Gutman 49b2332f14 Make the IP textview single line with no suggestions. Set focus to the start streaming button by default. 2013-11-22 00:31:25 -05:00
Cameron Gutman db78af916d Handle decode units larger than the size of the decode unit buffer 2013-11-22 00:29:48 -05:00