Age | Commit message (Collapse) | Author |
|
Signed-off-by: Joachim Bauch <bauch@struktur.de>
|
|
Signed-off-by: Joachim Bauch <bauch@struktur.de>
|
|
The nick name below the avatar is distributed through the DataChannel of the
PeerConnection and only sent once during establishment. For the MCU case,
the sending PeerConnection is created once and then never changed when more
participants join.
For this, we periodically send the nick to all other participants through the
sending PeerConnection.
Signed-off-by: Joachim Bauch <bauch@struktur.de>
|
|
Signed-off-by: Joachim Bauch <bauch@struktur.de>
|
|
Signed-off-by: Joachim Bauch <bauch@struktur.de>
|
|
Signed-off-by: Joachim Bauch <bauch@struktur.de>
|
|
Signed-off-by: Joachim Bauch <bauch@struktur.de>
|
|
With the MCU, a newly subscribed stream might not get the "audioOn"/"videoOn"
messages as they are only sent when a user starts publishing.
Instead wait for initial data and trigger events locally.
Signed-off-by: Joachim Bauch <bauch@struktur.de>
|
|
With an MCU, each client publishes only once (to the MCU) and viewers subscribe
the streams from the MCU. This means that for subscribing, the MCU always has
to send the "Offer" message which requires some changes in the workflow.
Signed-off-by: Joachim Bauch <bauch@struktur.de>
|
|
When the peer is a registered user her name is shown when a stream is
added for that peer. However, if the peer has no microphone nor camera
then no stream is added, and thus the name was not shown. Now the name
is shown too when the connection is established to guarantee that it
will be shown even if no stream is added.
In the case of guest users the name is shown when a stream is added for
that peer, but also when a "nickChanged" message is received. That
message is sent when the peers are connected, so the name of the guest
user was already properly set even if the user has no microphone nor
camera.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
|
nextcloud/stable13-938-fix-local-audio-and-video-not-disabled-when-not-available
[stable13] Fix local audio and video not disabled when not available
|
|
When the streams are initialized and there is no audio or no video the
"audio/videoNotFound" flag is set. This flag prevents the audio or video
from being enabled later, and it is also used to discard calls to
"disableAudio/Video", as there would be no need to disable them if they
were not found. However, in that last case, it is necessary to
explicitly disable them before the flag is set.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
|
Before a user could disable her own video, but she had no way to disable
the videos from other participants. This could be needed, for example,
to alleviate the load on low-end systems, as in that case playing the
video from remote participants could be too much for the system. Now a
toggle is provided to manually show or hide the video of each remote
participant if needed.
The toggle is shown only when the remote participant is sending video;
if the remote participant has disabled her own video (or does not have a
camera) the toggle is hidden.
Note that the toggle just shows or hides the HTML video element; it does
not notify the remote participant to mute her video or to fully stop
sending it. It is purely a local change that does not affect the remote
clients. In the future this could be extended to involve the remote
clients too, but for now just hiding the HTML video element notably
reduces the CPU load in most systems (although unfortunately in some
cases it does not).
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
|
The "hidden" CSS class is not used in the avatar container of remote
participants (only for the local one), so there is no need to remove it.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
|
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
|
Signed-off-by: Ivan Sein <ivan@nextcloud.com>
|
|
nextcloud/backport/854/join-the-call-after-media-access-was-done
[stable13] Join the call only aftrer media access was done
|
|
When we delayed the media access, we were all fast with testing.
Before this patch, when there was already at least one user in the
call and you took longer to accept the media request than webrtc
took to init everything, you would always send a black video signal
and no sound, because the data was not there, when connections were
established with the other users. Now we first request the media and
send the join call to the server afterwards.
Signed-off-by: Joas Schilling <coding@schilljs.com>
|
|
If the same user joins the call again, the video would otherwise not be
promoted automatically because the id is still stored in `latestSpeakerId`.
Signed-off-by: Joachim Bauch <bauch@struktur.de>
|
|
Signed-off-by: Joas Schilling <coding@schilljs.com>
|
|
Signed-off-by: Joas Schilling <coding@schilljs.com>
|
|
* Show previous message again, after media permissions was requested
* Always show message for media permission, not only on first connection
Signed-off-by: Joas Schilling <coding@schilljs.com>
|
|
nextcloud/backport/716/disconnect-media-when-leaving-room
[stable13] Disconnect media when leaving room
|
|
Signed-off-by: Joas Schilling <coding@schilljs.com>
|
|
Signed-off-by: Joas Schilling <coding@schilljs.com>
|
|
Signed-off-by: Joas Schilling <coding@schilljs.com>
|
|
Signed-off-by: Joas Schilling <coding@schilljs.com>
|
|
Signed-off-by: Joas Schilling <coding@schilljs.com>
|
|
Signed-off-by: Joas Schilling <coding@schilljs.com>
|
|
Signed-off-by: Joas Schilling <coding@schilljs.com>
|
|
Signed-off-by: Joas Schilling <coding@schilljs.com>
|
|
Signed-off-by: Joas Schilling <coding@schilljs.com>
|
|
Signed-off-by: Joachim Bauch <bauch@struktur.de>
|
|
Clients use the regular joinRoom/-Call API and get a Nextcloud session
id. No special handling for sessions from the standalone signaling
server are required.
The signaling server regularly "pings" active sessions to prevent them
from timing out (in case of guest users).
Signed-off-by: Joachim Bauch <bauch@struktur.de>
|
|
Signed-off-by: Ivan Sein <ivan@nextcloud.com>
|
|
Signed-off-by: Joas Schilling <coding@schilljs.com>
|
|
name indicators.
Signed-off-by: Ivan Sein <ivan@nextcloud.com>
|
|
Signed-off-by: Ivan Sein <ivan@nextcloud.com>
|
|
Signed-off-by: Joas Schilling <coding@schilljs.com>
|
|
Signed-off-by: Artur Bergen <artur.bergen@struktur.de>
|
|
Signed-off-by: Artur Bergen <artur.bergen@struktur.de>
|
|
Signed-off-by: Artur Bergen <artur.bergen@struktur.de>
|
|
|
|
The button is updated when the model changes, but the model was not
being synced when the user joined or left a call, so it only changed
when it was synced for any other reason.
Fixes #473
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
|
Signed-off-by: Joas Schilling <coding@schilljs.com>
|
|
Signed-off-by: Joas Schilling <coding@schilljs.com>
|
|
|
|
|
|
Signed-off-by: Ivan Sein <ivan@nextcloud.com>
|
|
|