Commit Graph

18 Commits

Author SHA1 Message Date
Kegan Dougal
2b65b4c2dc Hide the local video when in a conf call 2015-09-15 15:49:33 +01:00
Kegan Dougal
353269370f Wire up the "room" CallView for conferencing
This also separates out concerns better - UI elements just need to poke
getCallForRoom rather than care if the thing they are displaying is a
true 1:1 for this room ID or actually a conf room.
2015-09-15 13:19:07 +01:00
Kegan Dougal
59986d8b72 Pass the call around different CallViews to keep media flowing
Previously, the CallView was attached to the RoomView, so you would get
a new CallView each time you changed the room and the one you changed
from would be destroyed. This would destroy media capture/playback as
the element was no longer in the DOM.

This is now fixed by having a "global" CallView which is attached at
the MatrixChat "page" level in the DOM hierarchy. This CallView isn't
scoped to a particular room; it will render any "active" call it can
find that *isn't the current room being displayed*. This has the side
effect of enforcing 1 call per app semantics as only the first active
call found is returned.

This fixes https://github.com/vector-im/vector-web/issues/31
This is unfinished (CSS for the global call view isn't done)
2015-09-15 11:05:53 +01:00
Matthew Hodgson
001d1c50ef factor out MRoomMemberTile, MCallInviteTile, MCallAnswerTile and MCallHangupTile to just use EventAsTextTile and thus reduce duplication enormously 2015-08-14 00:28:37 +01:00
Matthew Hodgson
1e1f7492d8 basic skin of incomingCallBox 2015-07-19 01:58:04 +01:00
Matthew Hodgson
919e1cf84f unbreak voice calls 2015-07-19 00:36:23 +01:00
Kegan Dougal
827e777079 Implement ringing audio. Add other audio tags. 2015-07-17 16:42:26 +01:00
Kegan Dougal
b6f9ca0f95 When accepting calls, go to the right room. Relink video elements when CallView loads. 2015-07-17 14:25:51 +01:00
Kegan Dougal
6b81022e28 Move position of incoming call buttons. 2015-07-16 16:32:21 +01:00
Kegan Dougal
0a3a3dac1a Display call logs in the UI.
Display placed/incoming calls, answers and hangups.
2015-07-16 13:30:14 +01:00
Kegan Dougal
5f3721f471 Tidying up 2015-07-16 11:54:53 +01:00
Kegan Dougal
50f9d34211 Only display video elements in video calls. 2015-07-16 11:30:34 +01:00
Kegan Dougal
eedd437ca7 Minimal CSS bodge so the video actually dies when the call ends. 2015-07-16 11:21:43 +01:00
Kegan Dougal
ecd1f09095 Glue in video elements. 2015-07-16 10:26:41 +01:00
Kegan Dougal
37c9c8fbb4 Add CallHandler singleton and add CallView.
CallView is the container for either VideoViews or WaveformViews. All UI
elements listen for 'call_state' payloads and then call
CallHandler.getCall(roomId) to extract the current MatrixCall for that room.
We can't do this via stateful dispatches because dispatching does not preserve
ordering empirically (probably due to setTimeout).
2015-07-15 16:52:23 +01:00
Kegan Dougal
6316f1b195 Add call handling logic. Outbound voice calls work! 2015-07-15 15:36:45 +01:00
Kegan Dougal
7e30c0f47b Add CallHandler to handle call logic and make VideoViews/WaveformViews. 2015-07-15 14:57:52 +01:00
Kegan Dougal
28cebab9a3 Add voip subdirectory. 2015-07-15 14:35:04 +01:00