Juliusz Chroboczek
52a26327d7
Implement group status.
...
We now inform clients of the status of a group (locked, etc.). Also
cleans up the handling of administrative messages, which solves the
issue of receiving "user" before "joined".
2021-07-16 19:51:54 +02:00
Juliusz Chroboczek
0d2ca28ae1
Close camera on disconnect.
2021-07-16 01:40:42 +02:00
Juliusz Chroboczek
f12f776e03
Hide simulcast form when not allowed to send.
2021-05-15 11:36:04 +02:00
Juliusz Chroboczek
54cd546120
Request low-resolution video when the video is small.
2021-05-14 23:21:14 +02:00
Juliusz Chroboczek
16bf4d6c95
Move call the setViewportHeight to start function.
...
This avoids issues with initialisation order.
2021-05-14 18:04:18 +02:00
Juliusz Chroboczek
1212c7cb04
Run Firefox workaround unconditionally.
2021-05-12 02:59:12 +02:00
Juliusz Chroboczek
485b0c1b85
Disable simulcast on Firefox.
2021-05-10 02:53:22 +02:00
Juliusz Chroboczek
be4ae56c14
Fix changing filter for a running stream.
2021-05-09 18:59:46 +02:00
Juliusz Chroboczek
32663dbf3f
Don't enable simulcast when there are just two users.
...
If simulcast is set to auto, disable simulcast when there are just
two users in the group.
2021-05-09 17:49:35 +02:00
Juliusz Chroboczek
2f44961589
Add UI for simulcast control.
2021-05-08 21:25:22 +02:00
Juliusz Chroboczek
795a40ceaf
Simulcast.
2021-05-08 21:12:29 +02:00
Juliusz Chroboczek
f1a15f07db
Factor out stream creation, implement replaceUpStream.
...
This avoids code duplication in the various addUpMedia functions,
and makes it possible to replace a stream without reopening the
stream's source. This will be required in order to change the
simulcast envelope.
2021-05-08 18:52:36 +02:00
Juliusz Chroboczek
8ec0a44c09
Fix controls for down streams.
...
Now that down streams have labels, we need to distinguish on the
stream direction.
2021-05-08 14:19:46 +02:00
Juliusz Chroboczek
ce0571cb7a
Use stop video button on all streamed videos.
...
Delete the stop video button, it is now redundant. Panic remains.
2021-05-08 02:51:52 +02:00
Juliusz Chroboczek
a20741408c
Fix hander for shared screen close button.
2021-05-07 02:44:04 +02:00
Juliusz Chroboczek
4a6dccff0c
Set track parameters at creation time.
...
We now create a sendonly transceiver, and set the max bitrate at
creation time.
2021-04-29 18:28:17 +02:00
Juliusz Chroboczek
be73380f9f
Label streams, not tracks.
...
We used to label tracks individually, in a view to using the labelling
for simulcast. Since then, the WebRTC community has converged on a
different strategy, where multiple tracks share a single mid and
are labelled with the rid extension.
We now label whole streams, which is simpler, and use the track's
kind (and, in the future, the rid) to disambiguate. This changes the
protocol in two ways:
* in offers, the "labels" dictionary is replaced by a single "label"
field; and
* the syntax of the "request" message has changed.
2021-04-29 18:28:16 +02:00
Alain Takoudjou
b08a2e3943
Add Unshare button on each shared video and remove global unshare screen button
2021-04-29 18:24:07 +02:00
Juliusz Chroboczek
3ba2394be7
Implement user statuses.
...
The server now maintains a set of statuses for each user that are not
interpreted by the server but communicated to the other members of the
group using 'user' messages.
2021-04-28 17:01:05 +02:00
Juliusz Chroboczek
f0a39fca48
Send user permissions to client.
...
We now maintain the user list in the serverConnection.
2021-04-28 00:07:19 +02:00
Alain Takoudjou
81050184eb
Fix detecting if mobile css layout is enabled
...
Use matchMedia to check if mobile css is enabled instead of checking window innerwidth size.
2021-04-22 15:55:46 +02:00
Alain Takoudjou
637e280dec
Fix show/hide video and chat box for mobile and normal UI
...
Uses less javascript to update css style, rework buttons css for show/hide video and chat.
Fix show or hide video button on normal or mobile ui when windows is resized or when orientation change.
2021-04-22 15:55:39 +02:00
Alexandre Iooss
c06bfa4519
Fix some warning messages and comment in galene.js
2021-03-30 07:28:20 +02:00
Alain Takoudjou
ffcd866301
Fix show chat button always hidden on mobile layout
...
The maximum device with for mobile layout in css is 1024px, for device with > 768 (Ipad)
chat button will stay hidded while chat box is also hidden when there is a video call.
This commit fix the issue.
2021-03-26 11:12:45 +01:00
Juliusz Chroboczek
e04193f78c
Display user message when browser doesn't do WebRTC.
...
Thanks to mscherer for the report.
2021-02-14 18:06:50 +01:00
Juliusz Chroboczek
fe9b89257a
Set buttons visibility when disconnecting.
2021-02-04 23:11:40 +01:00
Juliusz Chroboczek
6054ae6cc6
Update client code for renegotiation.
...
We now need to deal with the case where a track disappears from the
labels array.
2021-02-03 20:26:05 +01:00
Juliusz Chroboczek
f63ecb3078
Support file playback on Mozilla.
2021-02-01 01:08:39 +01:00
Juliusz Chroboczek
14a4303664
Rework connection replacement.
...
We used to signal connection replacement by reusing the same connection
id. This turned out to be racy, as we couldn't reliably discard old
answers after a connection id was refused.
We now use a new id for every new connection, and explicitly signal
stream replacement in the offer message. This requires maintaining a
local id on the client side.
2021-01-31 23:59:17 +01:00
Juliusz Chroboczek
8e395e38ac
Add option to disable mirror view.
2021-01-23 01:15:53 +01:00
Juliusz Chroboczek
8a44726f89
Save blackboard mode and activity detection across reloads.
2021-01-23 01:13:27 +01:00
Juliusz Chroboczek
7d216f650c
Add replace parameter to onclose stream callback.
...
This indicates that the stream is being replaced by another one with
the same id. This avoids moving videos around when they are being
renegotiated.
2021-01-17 20:20:35 +01:00
Juliusz Chroboczek
2380e2e183
The up streams rework broke renegotiation. Don't attempt to
...
renegotiate, just close the stream and open it again.
2021-01-15 22:41:40 +01:00
Juliusz Chroboczek
8168c2a9e6
Rework the up connection state machine.
...
It is now more similar to the down connection, using the onclose
callback for resource management.
2021-01-14 23:50:40 +01:00
Juliusz Chroboczek
82827453f0
Use clearInterval instead of clearTimer.
2021-01-13 20:15:39 +01:00
Juliusz Chroboczek
2eb61d877f
Allow filters to maintain state.
2021-01-13 18:31:18 +01:00
Juliusz Chroboczek
769c698894
Properly stop up media in delUpMediaKind.
2021-01-13 17:07:54 +01:00
Juliusz Chroboczek
c6ed27c100
More filter fixes.
2021-01-13 17:07:40 +01:00
Juliusz Chroboczek
8120a30725
Don't reset srcStream if not changing.
...
This avoids flicker upon renegotiation.
2021-01-13 14:59:43 +01:00
Juliusz Chroboczek
d5e3429262
Reset transform at the end of filters.
2021-01-13 14:36:29 +01:00
Juliusz Chroboczek
45c2711522
Add contextAttributes to filter definition.
2021-01-13 14:20:23 +01:00
Juliusz Chroboczek
684c8c5df8
Add user interface for filter selection.
2021-01-13 13:57:05 +01:00
Juliusz Chroboczek
b24bd5c0ed
Rework filters.
...
Make it possible to attach filters dynamically. Work around bugs
in Firefox.
2021-01-13 13:39:55 +01:00
Juliusz Chroboczek
cf6c1203c8
Better typing for filters, allow filters to skip frames.
2021-01-12 03:52:23 +01:00
Juliusz Chroboczek
a5b57976d2
Lock filter framerate to webcam framerate.
2021-01-12 03:36:51 +01:00
Juliusz Chroboczek
ca6020a27e
Implement filters.
...
No user interface yet.
2021-01-12 02:29:46 +01:00
Juliusz Chroboczek
e7d7c2dd0a
Call revokeObjectURL in the onclose callback.
...
This avoids special-casing file streams.
2021-01-12 02:23:52 +01:00
Juliusz Chroboczek
820b303e84
Send localDescription instead of original SDP.
2021-01-11 20:41:34 +01:00
Juliusz Chroboczek
70e80afd6c
Implement localMessage.
2021-01-11 19:28:57 +01:00
Juliusz Chroboczek
63e1a6f47d
Tweak relay-test.
2021-01-11 18:50:29 +01:00