Commit Graph

36 Commits

Author SHA1 Message Date
Cameron Gutman 8f371343cd Consolidate includes 2021-04-29 17:22:15 -05:00
Cameron Gutman db81f1e512 Add support for audio stream encryption
Clients must opt-in using the new encryptionFlags field
2021-04-22 00:20:17 -05:00
Cameron Gutman 0a00163f0b Fix audio stream init error check 2021-04-09 13:00:35 -05:00
Cameron Gutman d0c3513504 Reorder audio initialization and RTSP handshake to avoid RTSP PLAY failure on GFE 3.22 2021-04-09 08:39:28 -05:00
Cameron Gutman 5f9f7ce407 Code cleanup: use stdbool.h 2020-11-30 20:38:13 -06:00
Cameron Gutman 7b024c967e Try TCP 47989 and TCP 48010 as fallbacks if 47984 doesn't work 2020-09-06 11:55:25 -07:00
Cameron Gutman 0cda408d3c Warn when streaming above 4K with H.264 or 8K with HEVC 2020-04-04 12:36:09 -07:00
Cameron Gutman 4f9d45fbb5 Round down odd height values to avoid NVENC initialization failure 2020-04-04 11:51:55 -07:00
Cameron Gutman 86751d9162 Move ConnectionListener initialization prior to possible Limelog() usage 2020-04-04 11:51:20 -07:00
Cameron Gutman 607aaca93f Replace AUDIO_CONFIGURATION constants with MAKE_AUDIO_CONFIGURATION() macro 2020-03-31 21:33:34 -07:00
Cameron Gutman fb60ae6a4d Parse Opus parameters from RTSP DESCRIBE response 2020-03-31 20:52:38 -07:00
Cameron Gutman 2fc278da00 Change errorCode to int for consistency between 32-bit and 64-bit platforms
Unfortunately this requires updating all client code that uses these callbacks.
2020-02-24 23:01:22 -08:00
Cameron Gutman a9780361a3 Fix high-quality surround sound breaking audio when streaming over the Internet or IPv6 2019-08-04 15:05:40 -07:00
Cameron Gutman 59481c085a Add support for requesting 20 ms audio frames for slow Opus decoders 2019-05-04 15:33:48 -07:00
Cameron Gutman 31aa893acd Name our threads on Linux 2019-05-03 18:54:40 -07:00
Cameron Gutman aa9610847e Ensure termination error code is propagated properly 2019-02-09 21:30:16 -08:00
Cameron Gutman 860393536d Ensure a connection termination callback is not invoked due to calling LiInterruptConnection() 2018-12-28 15:28:56 -08:00
Cameron Gutman e8dd103ed9 Use existing cleanup path for handling early-out errors 2018-11-22 12:52:11 -08:00
Cameron Gutman e741a12a25 Ensure RemoteAddrString is nulled out just in case LiStopConnection() is called 2018-11-21 21:31:18 -08:00
Cameron Gutman 639ff18dbb Allow automatic detection of remote streaming 2018-11-21 20:52:50 -08:00
Cameron Gutman 42df6475c8 Catch forgetting to initialize packetSize field 2018-11-21 20:36:49 -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 679f6e83bb Fix HEVC streams requiring a higher bitrate to enable high quality surround audio 2018-07-27 19:04:25 -07:00
Cameron Gutman a8b01d6c29 Enable high quality surround sound when the video bitrate is over 15 Mbps 2018-05-27 18:45:09 -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 92951e1309 Add LiInterruptConnection() to interrupt LiStartConnection() 2017-05-21 12:24:22 -07:00
Cameron Gutman 2d7bf5be82 Fix state cleanup if LiStartConnection() fails 2017-05-18 09:52:50 -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 de915efaaf Wiggle the mouse at connection start to wake the display up 2016-12-13 20:23:32 -08: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 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