41 Commits

Author SHA1 Message Date
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
5782246b30 Add hack to prevent video glitching on GFE 3.22 when packets per frame exceed 120 2021-04-09 19:30:38 -05:00
Cameron Gutman
12f0f3d6d7 Add encrypted control stream support for GFE 3.22
Receive-side not yet fully working
2021-04-09 10:25:24 -05:00
Cameron Gutman
9a706fd78c Temporarily switch to control protocol 9 on GFE 3.22 2021-04-09 07:45:17 -05:00
Cameron Gutman
5f9f7ce407 Code cleanup: use stdbool.h 2020-11-30 20:38:13 -06:00
Cameron Gutman
e9ee868da4 Don't enable QoS for IPv6/NAT64 either 2020-10-31 17:08:29 -05:00
Cameron Gutman
dbf81dcb63 Don't enable QoS for remote IPv4 streams
Some broken routers/CPE will drop all QoS tagged packets
2020-10-28 20:35:45 -05:00
Cameron Gutman
d9d2668473 Fix audio problems caused by stale HighQualitySurroundSupported and HighQualitySurroundEnabled values 2020-04-02 18:44:13 -07:00
Cameron Gutman
607aaca93f Replace AUDIO_CONFIGURATION constants with MAKE_AUDIO_CONFIGURATION() macro 2020-03-31 21:33:34 -07:00
Cameron Gutman
c1b8aa266f Use 10 ms audio packets on low bitrate streams to balance latency and bandwidth 2020-03-18 20:03:56 -07:00
Cameron Gutman
e60a7ef75f Add color space and color range options 2019-12-14 14:32:47 -08:00
Cameron Gutman
b0213d06a7 Always use DSCP marking for our AV traffic 2019-12-12 18:43:57 -08:00
Cameron Gutman
f5ae5df5d0 Fix logic error in low bitrate audio duration selection 2019-12-01 19:22:16 -08:00
Cameron Gutman
c1a26618d4 Increase audio packet duration for low bandwidth connections 2019-11-30 21:59:34 -06: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
6245934462 Fix streaming from Gen 3 servers 2019-07-05 21:01:14 -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
c87d4a755e Add a workaround to get low bandwidth stereo working again and a cap flag to never request HQ audio 2019-04-25 01:03:27 -07:00
Cameron Gutman
9fc962eb61 Use strict bitrate logic only in remote streaming mode 2019-01-01 18:45:01 -08:00
Cameron Gutman
64096db415 Include FEC overhead in specified bitrate 2019-01-01 18:21:30 -08:00
Cameron Gutman
dd49e5bbfd Fix video bitrate being capped at initialBitrateKbps 2018-12-21 15:07:18 -08:00
Cameron Gutman
639ff18dbb Allow automatic detection of remote streaming 2018-11-21 20:52:50 -08:00
Cameron Gutman
b2ebba2167 Only disable split encode on older GFE versions 2018-09-22 20:22:10 -07:00
Cameron Gutman
8743ce5d08 Improve encoding rate steps for PC native resolutions 2018-09-05 18:40:47 -07:00
Cameron Gutman
884b8d0a95 Additional fixes for corrupt FEC recovery handling 2018-09-05 12:04:39 -07:00
Cameron Gutman
fc124b60ce Enable slicing on HEVC if the client requests it 2018-08-04 16:37:57 -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
4c47dd74ad Revert "Reduce audio bitrate when streaming with a low video bitrate" due to breakage on GFE 3.14.1 2018-07-27 19:02:27 -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
Cameron Gutman
783af66324 Reduce audio bitrate when streaming with a low video bitrate 2018-05-27 17:29:20 -07:00
Cameron Gutman
bf737dc959 Plumb clientRefreshRateX100 for modern GFE versions 2018-02-03 21:56:52 -08:00
Cameron Gutman
f6ae7fc2b4 Improve decoder compatibility by using num_ref_frames=1 when RFI is disabled. Fixes decoder hangs on Amlogic SoCs. 2017-11-30 23:38:49 -08:00
Cameron Gutman
deb0e69d64 HDR is a Gen7 feature 2017-11-30 23:26:32 -08:00
Cameron Gutman
26fe1cb22c Separate H.265 video format for SDR and HDR formats 2017-11-25 12:12:38 -08:00
Cameron Gutman
314a5937f4 Set encoder feature flags to disable split frame encode on GFE 3.10 2017-11-10 00:09:15 -08:00
Cameron Gutman
a135ceaa9a Add support for HDR streaming 2017-10-11 23:21:43 -07:00
Cameron Gutman
d2229fd6a8 Update SDP attributes for better 4K streaming 2017-10-11 23:00:01 -07:00
Cameron Gutman
b83cafe845 Ensure FEC is always enabled 2017-06-10 15:51:05 -07: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
Cameron Gutman
f57bd745b4 API update to provide enough information to support GFE 3.0.7 2016-10-05 17:23:59 -07:00
Cameron Gutman
48a5d63045 Reorganize the folder structure and delete the Xcode build files 2016-03-31 07:22:03 -04:00