208 Commits

Author SHA1 Message Date
Cameron Gutman
e1253bbb59 Move KeyboardTranslator into its own package 2014-03-28 23:52:34 -04:00
Cameron Gutman
b2eb953f45 Don't dump decoders on start because some devices will throw a spurious IllegalStateException when querying capabilities 2014-03-28 20:06:53 -04:00
Cameron Gutman
8ce972ea7a Properly distinguish between keyboard and controller events 2014-03-26 01:36:52 -04:00
Cameron Gutman
968557d3a8 Fix mouse dragging 2014-03-26 01:28:02 -04:00
Cameron Gutman
ceb957e7f3 Add a toast if the IP field isn't filled 2014-03-26 00:13:46 -04:00
Cameron Gutman
669691d8e8 Remove the annoying focus highlight on the streaming button. Hide the keyboard on the connect screen. 2014-03-26 00:13:23 -04:00
Cameron Gutman
ea57e48ed5 Add keyboard support 2014-03-25 23:59:48 -04:00
Cameron Gutman
f744c7d9c4 Make the cursor on the target track more true to the client input by scaling based on screen resolution 2014-03-25 20:43:45 -04:00
Cameron Gutman
0d42beca93 Add support for secondary and tertiary mouse buttons 2014-03-25 20:16:23 -04:00
Cameron Gutman
70a1dd56b4 A bit more cleanup 2014-03-21 21:16:53 -04:00
Cameron Gutman
9857017b22 Dump decoders before starting for logging purposes. Remove the software decoders from the blacklist since they are properly detected by the high profile check now. 2014-03-21 20:54:33 -04:00
Cameron Gutman
53474c7d28 Check that the decoder supports high profile H.264 before using it 2014-03-21 20:29:22 -04:00
Cameron Gutman
eb7c54b95c Fix some handling of the Android activity lifecycle that upset the window manager 2014-03-21 19:32:24 -04:00
Cameron Gutman
735ad02fb4 The surface format must be RGBX if we're doing CPU rendering. If the surface is RGB565, the renderer will not properly format the output and the decoder will crash. 2014-03-21 18:20:55 -04:00
Cameron Gutman
cfd788bec0 Use the minimum stream buffer size and the sample size when choosing a buffer size 2014-03-17 14:20:12 -04:00
Cameron Gutman
5284db761c Fix leftover warning 2014-03-17 12:39:17 -04:00
Cameron Gutman
07b5e9224c Don't explicitly specify a pixel format for the rendering surface. The system will choose the most optimal format if we leave it at the default. 2014-03-17 12:34:47 -04:00
Cameron Gutman
f31736ee2d Set the volume buttons to control the music stream while streaming 2014-03-17 03:55:51 -04:00
Cameron Gutman
e13241eebf Use LimeLog for logging 2014-02-26 17:20:10 -05:00
Cameron Gutman
c7f26a179d Add the frame skipping code back for certain decoders (Qualcomm) that are slow when rendering all frames and stall the whole decoder pipeline 2014-02-26 01:56:05 -05:00
Cameron Gutman
4b2552ed64 Set MediaCodec flags on the input buffer based on the DU flags 2014-02-26 01:01:54 -05:00
Cameron Gutman
ddc70e39c9 Only use direct submit on decoders that have (effectively) infinite input buffers 2014-02-19 22:18:26 -05:00
Cameron Gutman
b0c4d47962 Report direct submit support for the MediaCodec decoder renderer 2014-02-19 21:00:39 -05:00
Cameron Gutman
6fc848ef56 Block for 100 ms instead of 100 us waiting for a frame. This reduces the CPU time wasted by useless iterations of the rendering loop. 2014-02-19 19:49:57 -05:00
Cameron Gutman
c537af2273 Render the latest frame available at the time 2014-02-19 19:40:35 -05:00
Cameron Gutman
839540dc74 UI updates to make options more clear. Add scroll view to UI. 2014-02-19 19:22:54 -05:00
Cameron Gutman
22ecdd9cf8 Don't skip frames when rendering 2014-02-19 19:22:00 -05:00
Cameron Gutman
426b40ae82 Don't allocate a new BufferInfo object for each output buffer 2014-02-17 14:21:42 -05:00
Cameron Gutman
46fbee1a3b Only use SPS hack on Tegra devices 2014-01-10 01:05:15 -06:00
Cameron Gutman
81ae7bd638 Update audio code for limelight-common changes 2014-01-10 01:04:42 -06:00
Cameron Gutman
2993d62191 Unblacklist Tegra and Rockchip after the SPS fix 2014-01-06 22:54:35 -06:00
Cameron Gutman
e489382b0e Update for changes in limelight-common 2013-12-28 16:59:39 -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
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
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
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