Bruno Windels
be04eeded0
always reevaluate remote media when receiving a new remote track
...
not just when we don't know the stream already
this caused the video track to not appear when the other party sends the
invite.
Also added more logging
2022-04-27 17:33:27 +02:00
Bruno Windels
230ccd95ab
reset retryCount when disconnecting
2022-04-27 17:33:12 +02:00
Bruno Windels
6b22078140
prevent localMedia being disposed when disconnecting on session change
...
this would cause us to not send any media anymore and a black screen
on the other side that just refreshed
2022-04-27 11:34:05 +01:00
Bruno Windels
beeb191588
reset member when seeing a new session id
...
also buffer to_device messages for members we don't have a member event
for already.
2022-04-26 21:11:41 +02:00
Bruno Windels
eea3830146
emit change when muting so our own video feed gets hidden in the view
2022-04-26 16:18:49 +02:00
Bruno Windels
9ab75e8ed4
fix c/p error mixing up audio and video muting
2022-04-26 15:48:03 +02:00
Bruno Windels
b46ec8bac4
Merge branch 'bwindels/calls-wip' into bwindels/calls
2022-04-26 14:29:04 +02:00
Bruno Windels
f61064c462
nicer UI for calls, show avatar when muted, muted status
2022-04-26 14:27:28 +02:00
Bruno Windels
330f234b5a
prefer undefined over null
2022-04-26 14:21:19 +02:00
Bruno Windels
3198ca6a92
expose remote mute settings
2022-04-26 14:20:44 +02:00
Bruno Windels
22df062bbb
fix observable typescript errors
2022-04-25 14:05:02 +02:00
Bruno Windels
cdb2a79b62
add muting again, separate from changing media
2022-04-22 14:48:14 +01:00
Bruno Windels
ac60d1b61d
remove thick abstraction layer
...
instead just copy the DOM typing and make it part of the platform layer
2022-04-21 17:40:45 +02:00
Bruno Windels
10a6269147
always send new metadata after calling setMedia
2022-04-21 10:15:57 +02:00
Bruno Windels
55c6dcf613
don't re-clone streams when not needed
2022-04-21 10:11:24 +02:00
Bruno Windels
99769eb84e
implement basic renegotiation
2022-04-21 10:10:49 +02:00
Bruno Windels
82ffb557e5
update TODO
2022-04-21 10:09:31 +02:00
Bruno Windels
d6b239e58f
ensure we always set the correct session id when joining
2022-04-20 16:42:20 +02:00
Bruno Windels
c42292f1b0
more WIP
2022-04-20 10:57:07 +02:00
Bruno Windels
382fba88bd
WIP for muting
2022-04-14 23:19:44 +02:00
Bruno Windels
ea1c3a2b86
Merge remote-tracking branch 'origin/bwindels/calls' into bwindels/calls
2022-04-14 13:47:23 +02:00
Bruno Windels
021b8cdcdc
send hangup when leaving the call
...
but not when somebody else leaves the call through a member event
2022-04-14 13:45:21 +02:00
Bruno Windels
ff856d843c
ensure all member streams are cloned
...
so we can stop them without affecting the main one
also, only stop them when disconnecting from the member, rather then
when the peer call ends, as we might want to retry connecting to
the peer with the same stream.
2022-04-14 13:44:11 +02:00
Robert Long
55097e4154
Add intent to CallHandler
2022-04-13 13:08:47 -07:00
Bruno Windels
bc118b5c0b
WIP
2022-04-13 18:34:01 +02:00
Bruno Windels
2d4301fe5a
WIP: expose streams, senders and receivers
2022-04-12 21:20:24 +02:00
Bruno Windels
36dc463d23
update TODO
2022-04-12 21:20:15 +02:00
Bruno Windels
0e9307608b
update TODO
2022-04-12 14:02:57 +02:00
Bruno Windels
2635adb232
hardcode turn server for now
2022-04-12 14:02:38 +02:00
Bruno Windels
797cb23cc7
implement receiving hangup, and retry on connection failure
2022-04-12 14:02:13 +02:00
Bruno Windels
fd5b2aa7bb
only create datachannel on side that sends invite
2022-04-11 16:29:46 +02:00
Bruno Windels
517e796e90
remove obsolete import
2022-04-11 15:56:31 +02:00
Bruno Windels
c99fc2ad70
use deviceId getter in Member
2022-04-11 15:54:41 +02:00
Bruno Windels
9be64730b6
don't automatically join a call we create
2022-04-11 15:54:06 +02:00
Bruno Windels
b84c90891c
add very early datachannel support
2022-04-11 15:53:34 +02:00
Bruno Windels
c02e1de001
log when renegotiation would be triggered
2022-04-11 14:55:14 +02:00
Bruno Windels
8153060831
only send to target device, not all user devices
2022-04-11 13:39:40 +02:00
Bruno Windels
302d4bc02d
use session id from member event, and also send it for other party
2022-04-11 13:39:18 +02:00
Bruno Windels
1b0abebe8f
remove unused constants
2022-04-11 12:37:05 +02:00
Bruno Windels
156f5b78bf
use session_id from member event to set dest_session_id
...
so our invite event isn't ignored by EC
2022-04-11 12:36:02 +02:00
Bruno Windels
8a06663023
load all call members for now at startup
...
later on we can be smarter and load then once you interact with the call
2022-04-07 16:55:41 +02:00
Bruno Windels
b133f58f7a
don't throw here for now, although it is probably a sign of why the tracks disappear
2022-04-07 16:54:47 +02:00
Bruno Windels
bade40acc6
log track length
2022-04-07 16:54:36 +02:00
Bruno Windels
1dc46127c3
no need to throw here
2022-04-07 16:54:24 +02:00
Bruno Windels
79411437cf
fix who initiates call, needs to be lower, not higher
2022-04-07 16:53:57 +02:00
Bruno Windels
6472800387
impl session id so EC does not ignore our messages
2022-04-07 16:53:37 +02:00
Bruno Windels
fe6e7b09b5
don't encrypt to_device messages for now
2022-04-07 16:50:16 +02:00
Bruno Windels
ad1cceac86
fix error thrown during request when response code is not used
2022-04-07 10:33:12 +02:00
Bruno Windels
2852834ce3
persist calls so they can be quickly loaded after a restart
...
also use event prefixes compatible with Element Call/MSC
2022-04-07 10:32:43 +02:00
Bruno Windels
d7360e7741
fix multiple device support
2022-03-30 15:18:46 +02:00