Hotplug events may trigger a race condition when accessing the streams
array. This commit protects the access to the streams array by locking
a mutex. Locks are only acquired when streams are added, removed, or
initialized.
Gitlab: #1130
Change-Id: Ide0f2bfba47bf597981b26cce8d37ca076c7173b
The return value of Pa_IsStreamStopped() was not checked correctly, and
the stream pointers were not reset to nullptr. This could theoretically
lead to a crash if we were to try to stop an non-null stream pointer.
Gitlab: #1130
Change-Id: If2cf3a05b76c8c2d9c7d1ba53606c80e86516b77
This commit places a null check for the connectionManager before getting
the ice options in the `newOutgoingCall` method, which fixes a crash
when calling without a connection.
Gitlab: #1129
Change-Id: Ia6872f6fb9830e72da1d87201e2a0890719a8db9
This should fix a crash in the audio device monitor. Presumably,
this was caused by the audio device monitor trying to convert a
PROPVARIANT that was not the correct type.
Gitlab: #2036
Change-Id: I2fcee78075d8f99b1379245e81453240de00332e
Add a setting to choose if the user want 2nd calls to be hanged up
while already in one auto-answered.
Change-Id: I2149c057827ee9bf678e97ba64c31c8952aaed0c
As of commit 68fc552, presence notes are only sent to contacts (as
opposed to all peers the user is connected to).
GitLab: #1125
Change-Id: I454c6bc880a65ad99747169cfc020a7ea7329de9
During file transfer, incoming requests may see
symlinks as unresolved paths and incorrectly delete
them. This logic is removed to prevent breaking
ongoing transfers.
Change-Id: I800e7f146d5e5ea2cbf94aed38e1bc8e646747c2
When a file transfer channel shuts down, we need to decide what to do
with the temporary file containing the transferred data. This patch
makes two changes in that regard:
- If the size of the temporary file is equal to the expected transfer
size, but its checksum is incorrect, then we delete it. Previously we
only did this when the size of the temporary file was strictly larger
than expected, but there is no reason to treat the two cases
differently.
- The SHA-3 sum is no longer computed if the size of the temporary file
differs from the expected size, since we know that the data is either
incomplete or incorrect in that case.
https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1998
Change-Id: Ib5cd2e6cb38755d61d3132b7cd2e03b47e47373c
The local cv variable in testSendMessage was shadowing the corresponding
member variable in SwarmConversationTest. As a result, the calls to
cv.notify_one() in the signal handlers had no effect and the calls to
cv.wait_for() in the test would block until they hit the timeout, which
significantly increased the amount of time needed to complete the test.
Change-Id: I75b6aac8801568831a17035ad86876a130efe12e
testAskToMultipleParticipants was failing because of a temporary file
that was generated by the previous test and not deleted at the end.
GitLab: #1126
Change-Id: I5a98d259ba974fe72ced94ca3ccecb611a60dc2a
The RING_ACCEL macro was not defined when compiling the unit tests with
the JAMI_VIDEO_ACCEL option enabled, which caused a heap buffer overflow
when running ut_media_decoder and resulted in the test failing in CI
with a "free(): invalid pointer" error.
GitLab: #1124
Change-Id: I333502a570224d9dd52a2b4e5e8ebe86d96e41a6
Modifies the Portaudio layer to listen for device list change
events and react accordingly.
Gitlab: #1120
Change-Id: Iba21ec5baf02fc8377923d6085e496e142ceac07
When a notification is received, the account should be
registered, regardless of whether we need to load conversations.
Change-Id: Icb68605d0b7bbee94ce4b49ba34e9ff878c66215
It seems that msvc doesn't support using the '+' operator to concatenate
an std::filesystem::path and a string, but that the '+=' operator works.
GitLab: #1118
Change-Id: I153b47458c5ec8c690cea9cd173c9054b115090d
When experiencing connectivity changes, a users registration
state might be ERROR_NETWORK, which would cause the message
not to send. This caused an issue with usage of jami over
a local network. If a device would disconnect from wifi/eth,
the various channels they had open with other local users
would keep alive but messages could not be sent.
Change-Id: Id3219fce31545b8102e9589b82aad32968d50f64