Commit Graph

  • 6683c25a39 Update readme to match Limelight-PC's changes Michelle Bergeron 2014-01-21 16:54:32 -05:00
  • 8ca3aab363 add gpl Aaron Neyer 2014-01-14 10:03:07 -05:00
  • f95cd60cfd Created LimeLog as a wrapper around javas logger Aaron Neyer 2014-01-12 20:01:23 -05:00
  • ab1e47edb4 Fix retreiving an empty MAC address string on some devices Cameron Gutman 2014-01-12 19:48:31 -05:00
  • cd6420deab Update common to fix artifacting v11 Cameron Gutman 2014-01-11 14:41:54 -05:00
  • 6a695d2c72 Fix H264 decoding artifacts when a frame has fewer than 3 bytes of padding at the end Cameron Gutman 2014-01-11 14:27:46 -05:00
  • 421d73b28a Display a more detailed error when attempting to resume another device's session Cameron Gutman 2014-01-11 10:43:29 -05:00
  • b22f68bf1e Update Android Opus decoder for limelight-common changes Cameron Gutman 2014-01-10 07:56:30 -06:00
  • 46fbee1a3b Only use SPS hack on Tegra devices Cameron Gutman 2014-01-10 01:05:15 -06:00
  • 81ae7bd638 Update audio code for limelight-common changes Cameron Gutman 2014-01-10 01:04:42 -06:00
  • 023c5e31ac Update limelight-common Cameron Gutman 2014-01-10 01:03:58 -06:00
  • 042f67506c Remove the SPS hack from common, since it introduces compatibility problems for some devices Cameron Gutman 2014-01-10 00:27:35 -06:00
  • 96e5513cdb Fix resync request packet to hopefully keep working longer Cameron Gutman 2014-01-10 00:00:09 -06:00
  • cc30752eb7 Only use a socket timeout when handshaking on the control stream. Cameron Gutman 2014-01-09 23:48:59 -06:00
  • ade061bf3c Throw a GfeHttpResponseException if an HTTP response has an error code Cameron Gutman 2014-01-09 23:43:59 -06:00
  • 616945a963 Display the exception message when a stage fails Cameron Gutman 2014-01-09 23:40:57 -06:00
  • 3201fac36c Fix import warnings Cameron Gutman 2014-01-08 20:45:18 -06:00
  • 84551df36a Merge pull request #1 from irtimmer/master Cameron Gutman 2014-01-08 18:19:25 -08:00
  • b32899f101 Use a byte buffer for audio to minimize buffer copy's Iwan Timmer 2014-01-07 20:39:41 +01:00
  • 2993d62191 Unblacklist Tegra and Rockchip after the SPS fix Cameron Gutman 2014-01-06 22:54:35 -06:00
  • fd08f2b1f5 Update limelight-common for SPS fixup Cameron Gutman 2014-01-06 22:53:55 -06:00
  • b4a0f81eda Fixup bitstream_restriction_flag and max_dec_frame_buffering in the SPS to fix decoding latency issues on Tegra and the Raspberry Pi Cameron Gutman 2014-01-06 22:52:11 -06:00
  • 24732df4b7 Fix memory leak in limelight-common Cameron Gutman 2014-01-04 20:14:03 -06:00
  • 95d035f00b Wait for control stream threads to terminate. Terminate resync thread that was retaining the NvConnection object and all its children. Cameron Gutman 2014-01-04 20:07:14 -06:00
  • 24cb024c7b Performance improvements from limelight-common update Cameron Gutman 2013-12-29 02:48:18 -05:00
  • 666fbecc01 Use a 60 FPS redraw rate even if the stream is 30 FPS to reduce stutter Cameron Gutman 2013-12-29 01:41:17 -05:00
  • 6f8306cc18 Call the connectionTerminated() callback instead of trying to handle termination ourselves Cameron Gutman 2013-12-29 01:19:56 -05:00
  • e489382b0e Update for changes in limelight-common Cameron Gutman 2013-12-28 16:59:39 -05:00
  • b0d5b9c767 Remove AvcDecoder from the shared code Cameron Gutman 2013-12-28 16:42:02 -05:00
  • 3648c0f26a Fix print vs println typo Cameron Gutman 2013-12-28 16:41:39 -05:00
  • a5b6e57346 Update limelight-common jar Cameron Gutman 2013-12-27 00:42:11 -05:00
  • 10415885d5 Merge branch 'RebaseOnCommon' Cameron Gutman 2013-12-27 05:30:49 -05:00
  • 806310900d Update to libopus-1.1. Reduces CPU audio decoding overhead by up to 40%. Cameron Gutman 2013-12-27 05:30:15 -05:00
  • f1b4fdd8b0 Restore the old O(N) video depacketizer to fix artifacting. Add warnings for when the decode unit queue overflows. Cameron Gutman 2013-12-27 00:05:05 -05:00
  • 9d3ee3a0a2 Add UI elements and backend code for manually overriding the default decoder choice. Redraw at the specified refresh rate. Cameron Gutman 2013-12-26 17:35:53 -05:00
  • 12658f4fb0 Update VideoDecoderRenderer interface with redrawRate and additional configuration flags Cameron Gutman 2013-12-26 17:28:37 -05:00
  • ed92f9d28e Simply discard input events that occur when the thread pool has been shutdown (during connection closure) Cameron Gutman 2013-12-20 15:12:35 -05:00
  • a1440621f9 Fix a race that could crash a few threads in the input thread pool Cameron Gutman 2013-12-20 15:06:56 -05:00
  • 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. Cameron Gutman 2013-12-19 14:50:50 -05:00
  • 163ee74e98 Add options to select between 720p and 1080p resolutions along with 30 fps and 60 fps Cameron Gutman 2013-12-19 05:14:39 -05:00
  • 934e234b74 Update limelight-android for limelight-common changes Cameron Gutman 2013-12-19 04:43:42 -05:00
  • 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. Cameron Gutman 2013-12-19 04:24:45 -05:00
  • 7f841c1fca Allow reuse of the UDP ports to avoid conflicts with GFE Cameron Gutman 2013-12-11 23:33:52 -05:00
  • 4f56dce9f7 add readme Aaron Neyer 2013-12-11 21:12:40 -05:00
  • 25be9e5cf8 updated readme Aaron Neyer 2013-12-09 16:55:12 -05:00
  • 5337e938e0 add license and readme Aaron Neyer 2013-12-09 12:12:03 -05:00
  • 4e9fb1bbce no longer print each time we send a keyboard packet Diego Waxemberg 2013-12-09 11:56:20 -05:00
  • da47b43ad3 added support for all 3 mouse buttons Diego Waxemberg 2013-12-08 16:25:41 -05:00
  • 87152e6403 added support for keyboard modifier keys Diego Waxemberg 2013-12-08 14:44:01 -05:00
  • 895c123b13 removed keyboard packet print statment Diego Waxemberg 2013-12-07 22:14:35 -05:00
  • 35476e2c28 added support for sending keyboard key presses Diego Waxemberg 2013-12-07 21:21:34 -05:00
  • 29909e07e8 added render api for limelight-pc Diego Waxemberg 2013-12-07 20:09:57 -05:00
  • 9ac103187f Fix an off-by-one in fallback interface selection Cameron Gutman 2013-12-05 19:27:46 -05:00
  • 12179a999b Missed uncommenting this. Cameron Gutman 2013-12-05 13:01:43 -05:00
  • 14d093cf06 Remove code shared with limelight-common and implement Android bindings. Cameron Gutman 2013-12-05 12:59:36 -05:00
  • ce1494895e Commit of common limelight core with bindings based on HEAD of RenderScript-Renderer Cameron Gutman 2013-12-05 12:57:49 -05:00
  • 41d2f6b0e2 Create .gitignore Cameron Gutman 2013-12-05 12:54:41 -05:00
  • b0bb8b685c Further optimize the JNI code for faster H264 decoding. Add an experimental RenderScript renderer. Cameron Gutman 2013-11-29 21:06:35 -06:00
  • f4cf83012e Disable Nagle on the control socket. Use a single resync thread rather than spawning a new thread each time. Cameron Gutman 2013-11-28 21:36:51 -05:00
  • 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. Cameron Gutman 2013-11-28 21:02:31 -05:00
  • b0d138b7f2 Rewrite the NAL depacketizer to run in O(1) time by parsing the proprietary header rather than the H264 bytestream Cameron Gutman 2013-11-28 14:22:12 -05:00
  • a2a4159b0c Also disable non-compliant speed optimizations when prioritizing quality Cameron Gutman 2013-11-26 20:44:10 -05:00
  • b603bf4887 Add a checkbox to favor image quality over performance Cameron Gutman 2013-11-26 20:03:55 -05:00
  • 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. Cameron Gutman 2013-11-26 14:36:06 -05:00
  • 55d534c8cf Fix off-by-one error in prefix matching Cameron Gutman 2013-11-25 21:48:35 -05:00
  • 734d80b281 Blacklist the Rockchip H264 decoders. Blacklist another software decoder that doesn't support H264 L5.0 high profile Cameron Gutman 2013-11-24 19:55:12 -05:00
  • 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. Cameron Gutman 2013-11-24 19:32:50 -05:00
  • dd82573d08 Switch from ArrayBlockingQueues to LinkedBlockingQueues for increased throughput. Set thread priorities for the decoder and ping threads. Cameron Gutman 2013-11-24 19:31:50 -05:00
  • d9527a3810 Optimize performance flags. Cameron Gutman 2013-11-24 19:29:26 -05:00
  • 9be14c3d92 Add thread names for easier debugging Cameron Gutman 2013-11-24 17:57:00 -05:00
  • 732ea8a3ac Optimize the reinitialization of the buffer descriptor in the receive threads Cameron Gutman 2013-11-24 17:29:12 -05:00
  • 9a3c5dac0a Suppress connection failure warnings when closing gracefully Cameron Gutman 2013-11-24 21:52:33 -05:00
  • 7d39ac2a45 Reuse a single AvByteBufferDescriptor when depacketizing H264 instead of allocating many of them per packet Cameron Gutman 2013-11-24 21:51:09 -05:00
  • fb8b6fd7f5 Add configurable ffmpeg performance options Cameron Gutman 2013-11-24 21:46:47 -05:00
  • 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. Cameron Gutman 2013-11-23 17:07:33 -05:00
  • 0fe7549942 Loosen the connection timeouts. Remove the HTTP request timeout because it depends on how long it takes for the requested app to start. Cameron Gutman 2013-11-23 16:48:46 -05:00
  • 022866288d Add more logging for exceptions. Cameron Gutman 2013-11-23 14:06:51 -05:00
  • 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. Cameron Gutman 2013-11-23 02:44:10 -05:00
  • 4d5849f448 Add UI indications of the connection status and failure Cameron Gutman 2013-11-23 01:03:37 -05:00
  • c88d23001e Commit forgotten ConnectionStatusListener interface. Thanks to danielb7390 for pointing this out. Cameron Gutman 2013-11-22 22:13:39 -05:00
  • 2946966456 Whitelist the Exynos hardware H264 decoder Cameron Gutman 2013-11-22 02:13:02 -05:00
  • d00474c1cd Fix warning. Cameron Gutman 2013-11-22 00:31:39 -05:00
  • 49b2332f14 Make the IP textview single line with no suggestions. Set focus to the start streaming button by default. Cameron Gutman 2013-11-22 00:31:25 -05:00
  • db78af916d Handle decode units larger than the size of the decode unit buffer Cameron Gutman 2013-11-22 00:29:48 -05:00
  • e1a8f86d4f Make the virtual and hardware back buttons on the devices themselves work as the in-game back button. This is required for Shield's back button to work. Cameron Gutman 2013-11-21 19:56:44 -05:00
  • 80fdae3673 Request an IDR frame if a previous frame was lost or Cameron Gutman 2013-11-21 19:55:40 -05:00
  • e52b85a883 Restore the performance level fed into the AvcDecoder Cameron Gutman 2013-11-21 16:59:04 -05:00
  • 6bb215eddf Remove pooling code due to higher concurrency latency that resulted in a net loss of performance. Cameron Gutman 2013-11-21 16:40:27 -05:00
  • 1d7460e8b3 Revert "WIP optimization of object allocation and pools. There's currently a double free on the AvByteBufferDescriptor that I'm trying to track down." Cameron Gutman 2013-11-21 16:25:10 -05:00
  • 3efa356bb8 Revert "Add double-free detection code to the pools" Cameron Gutman 2013-11-21 16:25:01 -05:00
  • 45120e79e4 Revert "Fix the double-free bug and disable double free debugging." Cameron Gutman 2013-11-21 16:24:52 -05:00
  • ff50b5fdab Revert "Fix memory leaks of special NAL sequences" Cameron Gutman 2013-11-21 16:24:47 -05:00
  • e6959e66e4 Fix memory leaks of special NAL sequences Cameron Gutman 2013-11-21 14:36:17 -05:00
  • d5f59bb972 Remove large heap flag. Cameron Gutman 2013-11-21 13:08:07 -05:00
  • 9e4364f672 Fix the double-free bug and disable double free debugging. Cameron Gutman 2013-11-21 13:05:01 -05:00
  • acb3dc8881 Add double-free detection code to the pools Cameron Gutman 2013-11-21 12:55:05 -05:00
  • 7951c0fa13 WIP optimization of object allocation and pools. There's currently a double free on the AvByteBufferDescriptor that I'm trying to track down. Cameron Gutman 2013-11-21 12:24:45 -05:00
  • c42d40b8f6 Remove an extra frame copy that wasn't needed. Only update the stored frame if the previous frame had been displayed. Don't render the same frame again if there's no new frame to update. Cameron Gutman 2013-11-21 09:55:57 -05:00
  • ab9b7b5164 Discard the alpha channel of the surface since it's not used. Always use MED_PERF for the AvcDecoder configuration because it now works well enough on Tegra 3 that the image quality improvements are worth it. Cameron Gutman 2013-11-21 08:45:25 -05:00
  • 45664dac2a Draw directly to the surface buffer. Improve amount of decoding and rendering that can be done in parallel. Add performance levels and choose them by cpuinfo. Improves Tegra 3 performance significantly. Cameron Gutman 2013-11-21 08:38:49 -05:00