1
Fork 0
Commit Graph

181 Commits

Author SHA1 Message Date
Juliusz Chroboczek b7a680671d Remove padding in packetcache.
Since the packet entries are already overdimensioned, there's no
need to add additional padding.
2020-06-03 02:45:34 +02:00
Juliusz Chroboczek d723d20ee6 Add packetcache benchmarks. 2020-06-03 02:36:23 +02:00
Juliusz Chroboczek 4d2bd6e473 Fix initialisation of maxLossBitrate. 2020-06-01 01:48:22 +02:00
Juliusz Chroboczek dcb2111181 Send sender reports. 2020-06-01 01:34:44 +02:00
Juliusz Chroboczek f851622191 Export mono.FromDuration. 2020-06-01 01:34:44 +02:00
Juliusz Chroboczek 5b92226860 Maintain full time information from sender reports. 2020-06-01 01:09:15 +02:00
Juliusz Chroboczek a6db6b105d Keep track of total numbers sent. 2020-06-01 00:42:00 +02:00
Juliusz Chroboczek 8fb8f7b7d5 Implement NTP time. 2020-06-01 00:36:33 +02:00
Juliusz Chroboczek 303d15539c Handle sender reports for down tracks.
In principle, we should be receiving receiver reports only, but let's
be robust.
2020-06-01 00:35:37 +02:00
Juliusz Chroboczek 8fda40b544 Set delay in receiver report to 0 if no sender report received. 2020-06-01 00:26:23 +02:00
Juliusz Chroboczek 70dee15f5c Rename rate.Add to rate.Accumulate. 2020-06-01 00:02:17 +02:00
Juliusz Chroboczek c4284a45c5 Delay rtcpUpSender until the connection is complete.
This avoids locking in sendRR.
2020-06-01 00:02:17 +02:00
Juliusz Chroboczek 7786aa12aa Update README. 2020-06-01 00:02:17 +02:00
Juliusz Chroboczek 8830870ded Implement downloading of recorded videos. 2020-06-01 00:02:17 +02:00
Juliusz Chroboczek b8128f81a0 Move client notifications into addClient and delClient. 2020-06-01 00:02:17 +02:00
Juliusz Chroboczek 8472f9bf0b Relax web server timeouts. 2020-05-31 16:49:54 +02:00
Juliusz Chroboczek 57e08201ab Split out web serving into a separate file. 2020-05-31 16:46:41 +02:00
Juliusz Chroboczek 8ef01d4e0f Update dependencies.
This fixes leaking of rtpUpSender goroutines.
2020-05-31 16:33:20 +02:00
Juliusz Chroboczek e28a390ab9 Move check for incorrect username earlier. 2020-05-30 13:23:31 +02:00
Juliusz Chroboczek 50ad751e7d Protect against stream being null in connection.close.
This may happen if we close a connection before getting any tracks.
2020-05-30 13:15:12 +02:00
Juliusz Chroboczek 65637c1832 Tweak error message. 2020-05-30 12:53:58 +02:00
Juliusz Chroboczek 32e8f08b8d Move dead errors into webclient. 2020-05-30 12:38:13 +02:00
Juliusz Chroboczek 2dd230ca45 Don't complain about unknown local tracks on close. 2020-05-30 12:33:30 +02:00
Juliusz Chroboczek 37b1994069 Fail addLocal if connection is closed. 2020-05-30 03:44:03 +02:00
Juliusz Chroboczek 7972edfc8b Document recording. 2020-05-30 03:26:05 +02:00
Juliusz Chroboczek 0a2c4eb381 Implement recording. 2020-05-30 03:26:05 +02:00
Juliusz Chroboczek c1ab839f02 Implement disk tracks. 2020-05-30 03:26:05 +02:00
Juliusz Chroboczek 3240225dc3 Make client generic. 2020-05-30 03:26:05 +02:00
Juliusz Chroboczek d8b984979b Rename client to webClient. 2020-05-30 03:26:05 +02:00
Juliusz Chroboczek 50982fddc6 Forward received FIR to sender.
It would be better to terminate FIR, note that a keyframe was requested,
and send FIR on our own.
2020-05-30 03:26:05 +02:00
Juliusz Chroboczek d56628be15 Send FIR when WriteRTP returns ErrKeyframeNeeded. 2020-05-30 03:26:05 +02:00
Juliusz Chroboczek 88fbce262f Implement sendFIR. 2020-05-29 20:57:46 +02:00
Juliusz Chroboczek 49195ef990 Improve error handling in sendPLI. 2020-05-29 20:55:49 +02:00
Juliusz Chroboczek 519cb2dbc6 Complete documentation. 2020-05-29 17:49:23 +02:00
Juliusz Chroboczek 1365683ad6 Fix selection of alternate media devices.
Thanks to Giuseppe Castagna for noticing.
2020-05-29 15:56:06 +02:00
Juliusz Chroboczek 72cbb5ffd3 Simplify some usages of client.error. 2020-05-28 04:27:15 +02:00
Juliusz Chroboczek e05f2fee81 Don't delete empty groups.
It was racy, and it drops the chat history.  Let them accumulate for now.
2020-05-28 01:10:18 +02:00
Juliusz Chroboczek 4b3ce50dac Use explicit add/remove messages in writerLoop. 2020-05-27 11:25:37 +02:00
Juliusz Chroboczek e7f9a8f3dc Make downTrack and downConnection into interfaces. 2020-05-27 11:24:52 +02:00
Juliusz Chroboczek d9f2a93615 Inline activateDownTrack. 2020-05-27 11:24:52 +02:00
Juliusz Chroboczek 9488d4a7c8 Add WriteRTP and Accumulate methods to downTrack. 2020-05-27 11:24:52 +02:00
Juliusz Chroboczek d45d111084 Remove erroneous iceCandidates field from upTrack. 2020-05-27 11:24:44 +02:00
Juliusz Chroboczek 0fd302d877 Don't drop connections on ICE failure.
This spuriously breaks client-to-server connections over IPv6.
Thanks to Fabien de Montgolfier for his help with debugging this.
2020-05-25 01:08:49 +02:00
Juliusz Chroboczek 75804adc5f Improve error handling. 2020-05-24 13:39:06 +02:00
Juliusz Chroboczek eb6ab8aa1a Implement workaround for older browsers that don't have transceivers. 2020-05-24 13:39:06 +02:00
Juliusz Chroboczek 3959afb952 Update dependencies. 2020-05-23 21:04:14 +02:00
Juliusz Chroboczek bfdc22ff83 Maintain local connections explicitly. 2020-05-23 02:34:28 +02:00
Juliusz Chroboczek 4699c338e1 Cache early ICE candidates. 2020-05-23 02:34:28 +02:00
Juliusz Chroboczek 57163c70a3 Better protection against duplicate connection ids. 2020-05-22 22:38:40 +02:00
Juliusz Chroboczek 6005ad9eb4 Create a connection interface, use it in gotICE. 2020-05-22 22:36:47 +02:00