1
Fork 0
Commit Graph

1271 Commits

Author SHA1 Message Date
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
Juliusz Chroboczek 6d6cb6caf2 Split out connection-related code into conn.go. 2020-05-22 22:29:31 +02:00
Juliusz Chroboczek 2a35f4e5d9 Don't add duplicates in addLocal. 2020-05-22 16:55:56 +02:00
Juliusz Chroboczek 9575b80893 Use mids instead of track ids for indexing labels.
It turns out that track ids are not necessarily the same on the local and
remote sides.  Thanks to Ines Klimann for noticing the issue.
2020-05-21 22:40:11 +02:00
Juliusz Chroboczek cbff5067b2 Implement sharing of multiple application windows at a time. 2020-05-21 22:40:11 +02:00
Juliusz Chroboczek 9fde029912 Send recovery if we're very mildly congested. 2020-05-21 13:25:45 +02:00
Juliusz Chroboczek 0e1f3cafea Drop until end of frame when writer is congested. 2020-05-21 13:17:52 +02:00
Juliusz Chroboczek e32f911ab9 Don't account failed writes in rate estimator. 2020-05-21 12:39:02 +02:00
Juliusz Chroboczek a290325320 Wait for answer before sending data. 2020-05-21 00:55:00 +02:00
Juliusz Chroboczek 47d23658b5 Add profiling support. 2020-05-20 23:43:46 +02:00
Juliusz Chroboczek 5a2dbf36b9 Signal new tracks explicitly. 2020-05-20 23:43:46 +02:00