38 Commits

Author SHA1 Message Date
Cameron Gutman
56ccd99cc7 Dynamically determine audio, video, and control ports from RTSP DESCRIBE response 2021-07-01 23:45:33 -05:00
Cameron Gutman
5e3aa93479 Add a recording mode for debugging purposes 2021-06-20 11:15:30 -05:00
Cameron Gutman
68c784445c Introduce optional pull-based API for video data 2021-06-13 15:14:38 -05:00
Cameron Gutman
9361c325bb Rename RtpFecQueue to RtpVideoQueue to match RtpAudioQueue 2021-06-01 22:57:26 -05:00
Cameron Gutman
89918324ce Implement audio FEC recovery support 2021-06-01 18:31:56 -05:00
Cameron Gutman
43eb36e17a Simplify and improve graceful disconnect logic 2021-05-14 22:36:13 -05:00
Cameron Gutman
387ff48a65 Perform a graceful disconnection if the termination was locally initiated 2021-05-14 22:06:07 -05:00
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
d62ee951a0 Refactor OpenSSL usage into a platform-specific file to allow other crypto backends 2021-04-17 17:47:53 -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
c0c200e72c Fix APP_VERSION_AT_LEAST macro definition 2021-04-09 07:51:05 -05:00
Cameron Gutman
a51cc972d3 Add APP_VERSION_AT_LEAST() macro for cleaner GFE version checks 2021-04-09 07:26:24 -05:00
Cameron Gutman
5f9f7ce407 Code cleanup: use stdbool.h 2020-11-30 20:38:13 -06:00
Cameron Gutman
1b022a0d05 Terminate the connection if we can't receive a key frame in 10 seconds 2020-08-29 21:00:05 -07:00
Cameron Gutman
7d0458a16b Dynamically allocate the RTSP response buffer 2020-04-29 19:58:50 -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
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
59481c085a Add support for requesting 20 ms audio frames for slow Opus decoders 2019-05-04 15:33:48 -07:00
Cameron Gutman
f395d3056a Eliminate a copy and allocation for each incoming video packet 2019-04-25 22:07:03 -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
679f6e83bb Fix HEVC streams requiring a higher bitrate to enable high quality surround audio 2018-07-27 19:04:25 -07: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
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
c4692a5b5f Rework sequencing code and fix audio dropout across 64K boundary in the process 2018-02-19 00:16:32 -08:00
Cameron Gutman
069f1475b6 Refactor reference frame invalidation checks into one function 2017-11-30 23:14:11 -08:00
Cameron Gutman
05c0fd68e3 Merge pull request #31 from irtimmer/audio_context
Add audio context and flags
2017-06-11 13:25:09 -07:00
Cameron Gutman
99cfae7acc Add receive time to decode unit 2017-06-10 16:08:52 -07:00
Cameron Gutman
c386569754 Remove length prefix on video buffers 2017-06-10 12:55:50 -07:00
Iwan Timmer
d3fe286eb7 Add audio context and flags 2017-05-28 15:34:56 +02:00
Cameron Gutman
92951e1309 Add LiInterruptConnection() to interrupt LiStartConnection() 2017-05-21 12:24:22 -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
f57bd745b4 API update to provide enough information to support GFE 3.0.7 2016-10-05 17:23:59 -07: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
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