When muting/un-muting the video, a re-invite is performed
leading to a full media renegotiation and restart, including
ICE session if used.
With these changes, the mute/unmute video will still require
a re-invite (a new SDP to indicate the new media directions), but
the ICE session is re-used and only the video is stopped/started
accordingly.
The behavior improves the UX by avoiding unnecessary audio disruptions
and is more compliant with SIP/ICE specs (see RFC-5245 section 9.1.1.1
for example)
Gitlab: #671
Change-Id: I13caf9a965af1d76e922fe5f6b86d5332b3296d6
This starts the work to move calls and conference per account,
cleaning up the API and start future re-factorization.
Change-Id: I2a3a2c77e9ba78b1a280bdf8dca7eeaabb72f3fd
As libwrap is used by default, HAVE_SHM should only be true
if directrenderer is not used to avoid useless work
Change-Id: I9f819a7c06c667ccf08066f70104dcd3667f8546
Automated using the following commands:
$ mv src/{dring,jami}
$ git grep -l src/dring | xargs sed -i 's,src/dring,src/jami,g'
$ git grep -l '#include "dring/' | \
xargs sed -i 's,#include "dring/,#include "jami/,g'
$ git grep -l 'dring.h' | xargs sed -i 's,dring.h,jami.h,g'
And finally,
$ git grep -l 'dring' | xargs sed -i 's,dring,jami,g'
$ files=$(find -name '*dring*' | sort)
$ for f in $files; do mkdir -p "$(dirname "$f")"; \
mv "$f" "$(echo $f | sed 's/dring/jami/g')"; done
To resolve a bad renaming favorably:
$ git grep -l -i AlsaCarjami | \
xargs sed -i -E 's/([Aa])lsaCarjami/\1lsaCardRingtone/g'
The above renaming command is not perfect, so some hand-tuning was
required to complete it.
* src/manager.cpp (Manager::ManagerPimpl::retrieveConfigPath):
Preserve the dring.yml configuration file name, until we add something
to migrate (rename) it to jami.yml.
* man/dring.pod: Delete.
* bin/dbus/jamid.pod: Move to ...
* man/jamid.pod: here.
* bin/dbus/meson.build (jamid_targets): Normalize man section to the
pre-existing 1 and adjust accordingly.
* src/jami/def.h (dring_EXPORTS): Rename to ...
(jami_EXPORTS): ... this.
change-Id: I9828be6da9c711ab2f22c4d1b9539fea89d7b6fb
The sources previously hard-coded the location of the default Jami
ringtone as "/usr/share/ring/ringtones/default.opus". It should
instead be computed from the already existing PROGSHAREDIR macro,
which is built from Autoconf's configurable datadir.
* globals.mk (-DPROGSHAREDIR): Rename the 'ring' subdirectory to
'jami'.
* meson.build (conf): Likewise.
* ringtones/Makefile.am (dist_jamiringtones_DATA): s/ring/jami/g
* ringtones/meson.build: Likewise.
* src/account.cpp (DEFAULT_RINGTONE_PATH): Define in terms of
PROGSHAREDIR.
* bin/dbus/Makefile.am (libclient_dbus_la_CXXFLAGS): Remove extraneous
flags, already propagated via AM_CPPFLAGS. Honor AM_CXXFLAGS.
* src/client/Makefile.am (libclient_la_CXXFLAGS): Remove.
* src/plugin/Makefile.am (libplugin_la_CXXFLAGS): Likewise.
Change-Id: Icaa0a92e896f86b0bb07f82e4079570db08fafbd
add API to ask for a failed transfer. This can be used when the
client detects a transfer they doesn't have yet. It will ask all
members of the conversation to send the transfer back.
GitLab: #136
Change-Id: I1484298c4fa0eabb614132e22d8032612e14b949
Check peer's Daemon version and ignore media change request
action from the client if the the peer does not support the
feature.
Also bump Daemon version to 10.0.2
Gitlab: #551
Change-Id: Ifd105d2fe2706b4667f5bafabcb3d91e771e7299
Detecting that a socket is down via a keep alive can take time, moreover
if a relay is used, because the keep alive can continue to work even if the
connection is half closed.
In this patch, we add a mechanism where a beacon is sent over the multiplexed
socket to know if the peer can answer. This message can be used to detect
if a socket is usable and is sent whenever the user starts a call or that
a connectivityChanged() occurs.
Moreover, the multiplexedsocket can now sends a version to enable features
and if a bad packet on the control socket comes, the socket is not stopped.
GitLab: #542
Change-Id: Ia66d8d7f9b66bba02927f4ea41c21ef27089bceb
These informations contains the participants in a conference and their
position in the rendered frame. The description of the conference is
sent via a SIP message with "application/confInfo+json" for mimetype.
Gitlab: #241
Change-Id: I5a3ad81d1d1b8ba9c9ce84e57745a59a747b8e6c
This patch aims to improve the conference management for the host.
Now, the host is able to switch between 3 conferences layout:
1. The grid view (actual one) where all participants are shown
at the same height/width
2. The One big/Other in small which show one participant bigger than
the others
3. One participant in big
The daemon's API got two new methods:
+ setConferenceLayout() to switch between these layouts
+ setActiveParticipant() used in the 2 last layouts.
Change-Id: I3c16569e24d1b63331ffe9d79e35790a6ac47a0c