649 Commits

Author SHA1 Message Date
Cameron Gutman
e2c6104251 Fix build error with LC_DEBUG defined 2017-06-05 22:26:38 -07:00
Iwan Timmer
d3fe286eb7 Add audio context and flags 2017-05-28 15:34:56 +02:00
Cameron Gutman
6e31c21815 Round down the specified packet size to the nearest multiple of 16 rather than forcing 1024 all the time 2017-05-26 21:17:43 -07:00
Cameron Gutman
86447399a9 Add start and stop callbacks for audio and video renderers 2017-05-21 12:50:53 -07:00
Cameron Gutman
92951e1309 Add LiInterruptConnection() to interrupt LiStartConnection() 2017-05-21 12:24:22 -07:00
Cameron Gutman
9ebb429f66 Fix null check typo 2017-05-21 10:59:47 -07:00
Cameron Gutman
b3b5ee1c2c Fix use of enetMutex during connection failure 2017-05-21 10:52:44 -07:00
Cameron Gutman
109472e4ab Fix bogus queue assert firing on failed connection 2017-05-21 10:37:34 -07:00
Cameron Gutman
eaf3355c96 Reduce socket read timeout to 100 ms to allow LiStopConnection() to complete faster 2017-05-21 10:29:00 -07:00
Cameron Gutman
7ee9ea4e11 Fix RFI invalidating an extra frame each time 2017-05-21 10:11:07 -07:00
Cameron Gutman
bfd368769e Force an IDR frame request when the decode unit queue overflows 2017-05-20 17:32:02 -07:00
Cameron Gutman
2d7bf5be82 Fix state cleanup if LiStartConnection() fails 2017-05-18 09:52:50 -07:00
Cameron Gutman
ec6c569130 Split reference frame invalidation support capabilities into codec-specific options 2017-05-15 23:11:37 -07:00
Cameron Gutman
7aeaefd24f Add Limelog support under Android 2017-05-15 00:45:12 -07:00
Cameron Gutman
20821e7eb6 Leave the zero padding bytes on FEC-recovered packets alone. Decoders are required to cope with trailing zero bytes in NALUs and they are not safe to remove because they may actually be part of the byte stream itself. 2017-05-11 20:10:20 -07:00
Cameron Gutman
fe52c1848a Prevent FEC from breaking after 64K frames 2017-05-07 22:27:15 -07:00
Cameron Gutman
8a2b24e57a Fix frame queue corruption when trying to skip a frame with no buffers 2017-05-07 20:39:36 -07:00
Cameron Gutman
998650e53a Merge pull request #26 from d3m3vilurr/fix-build-openssl-1.0.x
Remove defines of EVP_CIPHER_CTX_new and EVP_CIPHER_CTX_free
2017-05-06 16:08:45 -07:00
Cameron Gutman
1eed2a65cb Merge pull request #28 from d3m3vilurr/fix-crash-on-vita
vita: Increate thread stack size
2017-05-06 16:05:06 -07:00
Cameron Gutman
e7f8fd165e Fix unintentionally crashing the streamer when requesting FEC with packets sizes over 1024 2017-05-06 16:01:35 -07:00
Cameron Gutman
ff4dbbb26d Fix compilation errors, warnings, and cosmetic stuff 2017-05-06 15:43:43 -07:00
Sunguk Lee
5ab67fb864
vita: Increate thread stack size
readsolomon require large stack memory for the [decode][1]

lazy calucation: 0x105f9
  - dataDecodeMatrix: 255 * 255
  - subShards: 255 * 4
  - outputs:  255 * 4

Fixes #27

[1]: https://github.com/moonlight-stream/moonlight-common-c/blob/9bf8d36/reedsolomon/rs.c#L500-L502
2017-05-05 18:53:16 +09:00
Sunguk Lee
a24e29c9ad
Remove defines of EVP_CIPHER_CTX_new and EVP_CIPHER_CTX_free
These functions defined since 0.9.8b
2017-05-05 16:26:57 +09:00
Iwan Timmer
9bf8d361a1 Forward Error Correction (#24)
* Preperation for FEC by adding new queue which buffers whole frames

* Add code for creating recovered RTP packet

* Add checks before repair missing packets

* Initial implementation for single FEC packet

* Implement FEC for multiple packets
2017-05-04 21:22:30 -07:00
Iwan Timmer
dbb7cee399 Compatibility fix for OpenSSL 1.1 (#25)
* Compatibility fix for OpenSSL 1.1

* Don't allocate new cipher context for every input packet

* Readd support for OpenSSL 1.0
2017-05-04 21:20:03 -07:00
Cameron Gutman
8d2dccf4ca Correctly transmit the number of controllers attached to the client 2017-02-04 20:09:34 -08:00
Cameron Gutman
f1adbc1e6b Apparently we're back to 8 byte first frame headers on GFE 3.2 2016-12-13 20:24:34 -08:00
Cameron Gutman
de915efaaf Wiggle the mouse at connection start to wake the display up 2016-12-13 20:23:32 -08:00
Cameron Gutman
bd825776b3 Add support for GFE 3.0.7 2016-10-05 17:31:19 -07:00
Cameron Gutman
f57bd745b4 API update to provide enough information to support GFE 3.0.7 2016-10-05 17:23:59 -07:00
Sunguk Lee
ba27e97698 Add vita environment (#22)
* vita: initial port

* vita: implement events, enable input thread

* vita: gethostbyname

* vita: Enable audio

* vita: Fix thread crash on discoonect process

* vita: Handle cannot create thread

* vita: now use newlib's socket apis

* vita: Refactoring for moonlight-stream/moonlight-common-c

* Fix review things

https://github.com/moonlight-stream/moonlight-common-c/pull/22#pullrequestreview-2436093

- vita may not support IPv6; so add LC_ASSERT them.
- define inet_ntop to sceNetInetNtop
- guard about failure of sceKernelCreateMutex or sceKernelCreateCond
- remove meanless macros

https://github.com/moonlight-stream/moonlight-common-c/pull/22#pullrequestreview-2444677

- !*mutex to *mutex
- remove useless LC_ASSERT then change to use inet_ntop
  in vita system not defined `sockaddr_in6`, so just use `sockaddr_in` instead this.

https://github.com/moonlight-stream/moonlight-common-c/pull/22#pullrequestreview-2445642

- define sin6_addr
2016-10-05 16:43:33 -07:00
Cameron Gutman
293c6a7274 Fix IDR frame requests on Gen 3 servers 2016-09-24 13:07:30 -07:00
Cameron Gutman
86ade5204e Change message API to use const char * 2016-06-09 12:17:48 -05:00
Cameron Gutman
2103b62386 Cancel the pending IDR frame request if we got a spurious IDR frame after a stream discontinuity 2016-05-26 17:38:03 -05:00
Cameron Gutman
dddcba217b Try progressively lower receive buffer sizes until one is accepted 2016-05-08 12:10:04 -04:00
Cameron Gutman
41983369fb Remove unused member of RTP reorder queue 2016-05-08 12:06:51 -04:00
Cameron Gutman
7e5e2cebe2 Increase recv buffer of video stream from 64K to 512K for improved 4K performance 2016-05-06 14:44:16 -04:00
Cameron Gutman
f69ab5dd5e Merge pull request #20 from Unknownforce351/patch-1
Increase RTP RECV BUFFER size
2016-04-27 11:12:17 -04:00
Cameron Gutman
a5b5ed8d2b Return the oldest packet instead of removing it upon RTP queue constraint violation 2016-04-27 02:22:14 -04:00
Cameron Gutman
be78c36fa1 Fix an overzealous compiler warning 2016-04-27 02:16:42 -04:00
Cameron Gutman
013a93bc32 Fix uninitialized memory usage in the RTP reorder queue causing assertion failures 2016-04-27 02:16:18 -04:00
Unknownforce
5791274cc5 Update AudioStream.c 2016-04-26 15:17:35 -05:00
Cameron Gutman
8846493eb4 Fix unsafe modification of the peer variable during shutdown 2016-04-18 16:36:45 -04:00
Cameron Gutman
597199ed92 Stop trying to disconnect the peer when aborting RTSP handshake. It's unsafe without additional synchronization. 2016-04-18 16:29:28 -04:00
Cameron Gutman
d5e0950ec6 Wrap enet_host_service() to hide the logic required to make retransmissions work 2016-04-18 16:27:50 -04:00
Cameron Gutman
33deb0fe1a Allow ENet to directly use the resolved address rather than doing DNS resolution itself 2016-04-02 14:08:06 -04:00
Cameron Gutman
4055fb6d77 Always try to resolve a hostname to IPv4 first 2016-04-02 14:06:43 -04:00
Cameron Gutman
d408372c34 Switch to OpenSSL for input encryption with support for Gen 7 servers 2016-03-31 11:14:10 -04:00
Cameron Gutman
48a5d63045 Reorganize the folder structure and delete the Xcode build files 2016-03-31 07:22:03 -04:00