Cameron Gutman
c13f4a323f
Use connected datagram sockets for audio and video
...
This ensures unwanted data from other sources is dropped and that our own source address doesn't change while streaming.
2023-09-12 23:29:05 -05:00
Cameron Gutman
d3cb8131d1
Revert "Send TCP FIN after completion of our RTSP request"
...
Existing servers already know how to parse our messages without this,
so we just risk breaking things with middleboxes that don't do half-closed
connections properly. We'll handle this better with encrypted RTSP.
This reverts commit 95e3e26d12 .
2023-02-20 16:58:21 -06:00
Cameron Gutman
95e3e26d12
Send TCP FIN after completion of our RTSP request
...
This allows servers to read until a FIN, just like we do on the client.
2023-02-13 21:47:22 -06:00
Sunguk Lee
4a4a23c7c4
vita: Replace select to poll
...
now newlib support [this][1]
[1]: https://github.com/vitasdk/newlib/pull/70
2022-01-24 22:16:59 -06:00
Mariotaku
5ed9a6508a
Fixed build issue with MinGW ( #64 )
2021-09-16 01:30:47 -05:00
Cameron Gutman
c00f4e15ae
Use poll() instead of SO_RCVTIMEO for RTSP timeout support
...
poll() is more portable than SO_RCVTIMEO
2021-07-01 22:10:46 -05:00
Cameron Gutman
da68e64d9b
Fix various MSVC warnings
2021-04-29 17:21:12 -05:00
Cameron Gutman
7549243f40
Add the correct definition for ECONNREFUSED for Windows
2021-04-28 17:30:00 -05:00
Cameron Gutman
9c92c12fea
Prevent errno.h from including incompatible error codes with Winsock codes
2021-04-28 17:29:33 -05:00
Cameron Gutman
c1befbe2a8
Improve audio resync logic to use initial receive time rather send time
2021-04-26 22:43:49 -05:00
Cameron Gutman
3adacb876d
Fix incorrect checks for AF_INET6
2021-04-19 23:01:17 -05:00
Cameron Gutman
3979dbd082
Allow compilation on OSes without IPv6 support
2021-04-17 23:40:36 -05:00
Cameron Gutman
4b4162c1a1
Fix redefinition warning for errno.h constants on Windows
2020-11-30 20:44:46 -06:00
Cameron Gutman
5f9f7ce407
Code cleanup: use stdbool.h
2020-11-30 20:38:13 -06:00
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 93707b42e9 .
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