23 Commits

Author SHA1 Message Date
Sunguk Lee
6195007bf3
Add missing poll header parts of the VITA 2020-10-23 11:29:02 +09:00
Cameron Gutman
128c1503f2 Don't perform the connection test in resolveHostName() for single addresses unless required 2020-09-06 17:11:14 -07:00
Cameron Gutman
9064d4931f Add createSocket() helper to reduce code duplication 2020-08-29 18:54:11 -07:00
Cameron Gutman
5ddd53e17f Enable media streaming mode for 802.11 WLAN interfaces on Windows 2020-08-11 22:12:58 -07:00
Cameron Gutman
6351749039 Fix TCP connection tests on Linux and BSD 2020-07-26 20:56:39 -07:00
Cameron Gutman
117a7c637f Switch to poll() to be safe against stack corruption from exceeding FD_SETSIZE
Fortunately, the fd_set definition is not prone to stack corruption on Windows,
because FD_SETSIZE is the maximum number of sockets in a fd_set, not
the maximum value socket file descriptor that can be stored in a fd_set.

https://beesbuzz.biz/code/5739-The-problem-with-select-vs-poll
2020-07-26 20:27:58 -07:00
Cameron Gutman
52f489bc46 Fix RTSP handshake errors on networks with broken PMTUD 2019-11-30 21:19:56 -06:00
Cameron Gutman
25528671d2 Fix error value on control stream and RTSP handshake failure 2019-11-02 21:28:05 -07:00
Cameron Gutman
197594f38c Add platform helper function to set socket non-blocking mode 2019-11-02 19:16:46 -07:00
Sunguk Lee
31a1384379
vita: Apply newlib changes
no more need to define `TCP_NODELAY` and `sockaddr_in6` parts
2019-10-05 04:43:28 +09:00
Sunguk Lee
9972440607
vita: Reduce vita custom defines 2019-08-14 01:25:08 +09:00
Cameron Gutman
6eb17a8e73 Fix build warnings 2019-02-26 23:44:10 -08:00
Sunguk Lee
d971e3bacc
Revert "vita: Redefine network error codes"
This reverts commit 93707b42e9aa1de83112000295c49c8652010e36.
2019-02-17 23:58:33 +09:00
Cameron Gutman
639ff18dbb Allow automatic detection of remote streaming 2018-11-21 20:52:50 -08:00
Cameron Gutman
396b02a94d Test each address returned in the getaddrinfo() call and stop blindly preferring IPv4
Fixes NAT64 on iOS 12 and probably other obscure configurations
2018-11-16 00:37:38 -08:00
Cameron Gutman
9396f6c528 Move resolveHostName() into PlatformSockets.c 2018-10-26 17:02:45 -07:00
Cameron Gutman
feb46b978e Handle EINTR to fix streaming with GDB attached 2018-08-10 15:51:17 -07:00
Cameron Gutman
219d87486e Check for both EWOULDBLOCK and EAGAIN for OSes where those values differ 2018-07-21 16:12:38 -07:00
Sunguk Lee
93707b42e9
vita: Redefine network error codes
temporary patch until merge vitasdk/newlib#38
2018-07-22 06:01:46 +09:00
Sunguk Lee
53352c1a8e
vita: No more need redefine INADDR_ANY 2018-07-22 05:54:32 +09:00
Cameron Gutman
6e7965f013 Use SO_RCVTIMEO to avoid the overhead of an extra syscall per packet 2018-07-16 00:46:40 -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
48a5d63045 Reorganize the folder structure and delete the Xcode build files 2016-03-31 07:22:03 -04:00