Commit Graph

16921 Commits

Author SHA1 Message Date
38ac794295 optimize SDP input probing for video streams
Set max_ts_probe and fpsprobesize to 0 for SDP
video to reduce stream initialization latency.

Change-Id: Idfda66cfc72cb1a9d45c6da4e13c73f82859b1de
2025-06-13 16:04:52 -04:00
3280fa373a fix paramter warning and libgit2 error
Add directives to use git_comit * const for final parameter when calling git_commit_create_buffer function using v.1.8.0, v1.8.1, and v1.8.3

Change-Id: Iffc023b0ae87f14aea15b360d00da76933a81cc4
2025-06-09 10:22:46 -04:00
ace9a0da42 fix various warnings
Change-Id: Ib01f381cb1a1c2f7259269603a47c39e39808494
2025-06-05 17:33:01 -04:00
0757c2cf70 libjami: respect LIBJAMI_FLAG_NO_LOCAL_VIDEO
Change-Id: I92eb18404ca9872a3dad3ecbae5e5ab6439a07ad
2025-06-05 15:18:29 -04:00
41384122a8 contrib: update dhtnet
Change-Id: I699955671953b68bf37c01697232cb9010066b33
2025-06-05 14:36:11 -04:00
c4bac01b1c jamiaccount: remove unused code
Change-Id: I2663620a9b1001810367f48889205d11a1c0eff7
2025-06-05 14:08:34 -04:00
30fc8649ed swarms_sdp: ensure host always matches sdp offer
Fixes the host-side logic behind how the medialist is populated
when an SDP offer is received in a swarm.

GitLab: #1079
Change-Id: I58a0764f05d32ffc05fa064eb0ce5768dda580c2
2025-06-04 15:54:23 -04:00
f20373cda2 media_decoder: handle invalid data in AVPacket
This fixes a crash when receiving invalid data in an AVPacket.

Gitlab: #1116
Change-Id: Ie5e102413d94f05b3c8935501b57839b31b98569
2025-06-04 11:47:14 -04:00
52fc02f036 manager: handle swarm calls on jami accounts only
Change-Id: I7850183c9265ad83e921bd78071828452717597b
2025-05-27 11:59:11 -04:00
86014b4005 MessageChannelHandler: increase read buffer size
Change-Id: I83ae33f163fd533b6cb92a8f1fb6afdf930cd948
2025-05-27 11:58:59 -04:00
54702ec7dd jamiaccount: always return true on presence notification
Change-Id: If25ec9b8dda7b9d1c5e48b316251f3cdb9d93919
2025-05-27 11:58:46 -04:00
0184863d26 siptransport: log cleanup
Change-Id: I06f70f79c97e9ed42b36315f329b7840e689e65c
2025-05-27 11:58:43 -04:00
20f8e7e1ce sync module: clear buffer before sending preferences
Change-Id: I51f79c4346deedf148016fb4acdb47fa8f3f2c19
2025-05-27 11:27:39 -04:00
e18dcee2b5 AccountManager: avoid saving contacts if no change
Change-Id: I89a5aea23d1c64566404b4bc0cfa9d8bddfaf46e
2025-05-27 11:27:39 -04:00
07ba87d417 MessageChannelHandler: emplace back new connection
Change-Id: I052792afdc89cd0fa8095c8029320f7efac7ee97
2025-05-27 11:27:39 -04:00
018a4227f5 portaudiolayer: protect concurrent streams array access
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
2025-05-26 18:18:03 -04:00
1bca75aa4e portaudiolayer: fix stop-stream routine
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
2025-05-26 18:17:56 -04:00
5645210a2d jamiaccount: fix crash when calling without a connection
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
2025-05-26 18:16:35 -04:00
a48c353f6c sonar: remove deprecated parameter comment
Follow up to the https://review.jami.net/c/jami-daemon/+/31242 patch.

Change-Id: I67ebaed68644b349f4db20590f1585b91a5ff065
2025-05-26 13:35:21 -04:00
513de5a988 audio-device-monitor: validate PROPVARIANT type
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
2025-05-26 12:55:53 -04:00
f85a39d5e5 account_manager: ensure it is not null before use
Change-Id: I466e07b69d209113dd69c048eba02a947dc3b2b0
2025-05-26 12:53:26 -04:00
7afa1aa2dc sonar: remove deprecated parameter
WIP

Change-Id: I6d2ac84376062d1c67e13423a98f82bd3fa32189
2025-05-23 14:17:23 -04:00
6f81476042 askForFileChannel: avoid use-after-move
Change-Id: I0f9bb2961c08307edf13c48ac206a9e56ae46e0f
2025-05-23 13:16:43 -04:00
bb49066ff4 ConversationModule: avoid use-after-move
Change-Id: I419160880710f68b39b3b8bc8e738570ab46c8db
2025-05-23 13:14:30 -04:00
1ea753e981 sipaccountbase: getIceOptions is not noexcept
Change-Id: Icef1641f02aceca451b0ff569eeb96916b2e951e
2025-05-23 13:14:30 -04:00
450acc0ea6 ConversationRepository: avoid use-after-move
Change-Id: I9b7babc2d162bbbf96ba93a99ab4a9622146b629
2025-05-23 13:14:30 -04:00
7625709a21 autoanswer: allow to choose 2nd call behavior
Add a setting to choose if the user want 2nd calls to be hanged up
while already in one auto-answered.

Change-Id: I2149c057827ee9bf678e97ba64c31c8952aaed0c
2025-05-23 12:16:32 -04:00
1597de891c contrib: update opendht
Change-Id: Id1106c9f924d95a43517def70e74e0b57ac30720
2025-05-22 15:56:11 -04:00
8ff6bdb381 ArchiveAccountManager: handle failed connection
Change-Id: I904dda67be22221830256e42e7c173432c567450
2025-05-22 09:26:04 -04:00
6ab8a300b9 sonar-project: update configuration
Change-Id: I6bfe815c797693e2e1271c968fa6f12f369ce5d8
(cherry picked from commit 4f5fc6ad9728a583569c6a1896c0dc8264fa022a)
2025-05-16 09:05:53 -04:00
cfdc5bc271 update Dockerfiles
Change-Id: I15bd0ab6e0fd9a56a99d8de2b28a6af3b318428b
(cherry picked from commit 2207485aa9b00a0859272436d939e3652e547794)
2025-05-13 15:58:26 -04:00
80ff0174b8 jamiaccount: send messages asynchronously
Gitlab: https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1912
Change-Id: I3f5a14fec82e94c5ed48c88ac847386501875f03
2025-05-13 15:58:26 -04:00
b16c6f96d7 contacts: allow to retrieve Contact object
Change-Id: I9c095d814c4707448ecab56c494dcc683a537414
2025-05-13 11:57:29 -04:00
6cfaca58a9 data transfer: avoid deleting file if size is unknown
Change-Id: I6171f10dfe3d3587ae7a5c0f9ae1fc1ba9f2cd49
2025-05-12 09:30:08 -04:00
c231df3e05 contrib: download gmp from GNU
Change-Id: Ia4f417fbf0ee17d9e378e7dedeae6d8da8605cdc
2025-05-08 15:32:31 -04:00
cd7247c49b std::filesystem: always use non-throw version when possible
Change-Id: Ibc5410929a4f7b5e56433d883763bed5400dd2ea
2025-05-08 15:25:03 -04:00
48ae481e87 proxy list: increase cache duration
Change-Id: Icb95715e7296e2b8dc9f9ca5d2574387109a74a0
2025-05-08 15:25:03 -04:00
a14bfa333c data_transfer: improve logs for sha3sum errors
https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1998

Change-Id: I3d7c24ee350887cf688b0630d33ac073a13fe2dd
2025-05-08 14:50:00 -04:00
00b47c3965 unitTest: fix presence status note test
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
2025-05-08 14:16:23 -04:00
744b4a8af9 Android video: cleanup
Change-Id: I184be9e80501b3bbd83eaae214bb650f51d3408c
2025-05-07 16:00:37 -04:00
b364926b9a filetransfer: skip symlink deletion
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
2025-05-06 17:31:09 -04:00
7a51116243 data_transfer: fix file validation logic
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
2025-05-06 16:52:49 -04:00
8f860c383b data_transfer: fix initialization of bytesProgress
The initialization of bytesProgress in onIncomingFileTransfer was
no longer correct given the change made in commit 6030be0.

https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1998

Change-Id: I508560d95ddddd26b95f3eb8ae8ae3c7649e3718
2025-05-06 16:52:49 -04:00
130a6603d6 unitTest: reduce ut_swarm_conversation runtime
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
2025-05-02 10:39:07 -04:00
2cd49b2820 unitTest: fix fileTransfer
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
2025-04-30 15:50:21 -04:00
68fc552fca jamiaccount: use MessageChannelHandler for connection status
Change-Id: Icb3d5de46b45c8097a0e6080bbb1bb3b60503dce
2025-04-30 13:01:22 -04:00
2c615dbc8a ScreenSharing: allow for custom FPS video streams
The previews of the tabs and screens during the selection is only ran
at 1 FPS to limit memory usage.

https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1242

Change-Id: I63739a1716afa82cb1c8e3961dde01d8600bae13
2025-04-29 14:22:52 -04:00
6402af906d cmake: copy files used by ut_plugins
GitLab: #1124
Change-Id: I427816d21f1f7177a305bec37fa71eef42b1755e
2025-04-25 15:37:49 -04:00
dc300e1c9c cmake: copy files used by ut_media_player
GitLab: #1124
Change-Id: Iaeac4b3cec40edb5633b2db346c3bcc167cc054a
2025-04-25 14:46:09 -04:00
8bdfb7715b cmake: add missing compile definition
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
2025-04-25 14:04:12 -04:00