jami-daemon issueshttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues2021-12-21T21:11:59Zhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/537Conference layout seems broken after 25+ participants2021-12-21T21:11:59ZSébastien BlinConference layout seems broken after 25+ participants# Scenario
+ Start a conference with 25 participants
+ Another participant join
# Expected
+ The layout should be updated
# Current result
Seems blocked to the previous view# Scenario
+ Start a conference with 25 participants
+ Another participant join
# Expected
+ The layout should be updated
# Current result
Seems blocked to the previous viewBackloghttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/530Medias: Big lag when a lot of person leave the conference2021-12-23T21:46:55ZSébastien BlinMedias: Big lag when a lot of person leave the conference# Scenario
+ Be in a rdv with 10 people
+ Every body leave except 2 people
# Current result
+ Big lag on video
# Expected
+ No lag# Scenario
+ Be in a rdv with 10 people
+ Every body leave except 2 people
# Current result
+ Big lag on video
# Expected
+ No lagBackloghttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/515Alsa: underrun issue2021-07-16T18:08:17ZSébastien BlinAlsa: underrun issuehttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/504Unable to record more than once per call.2021-04-15T22:05:59ZPierre LespagnolUnable to record more than once per call.# Scenario
- Start a call
- Start the recording
- Stop the recording
- Start a new recording
# Expected result
- Two record files created
# Current result
- Only first one record created# Scenario
- Start a call
- Start the recording
- Stop the recording
- Start a new recording
# Expected result
- Two record files created
# Current result
- Only first one record createdPierre LespagnolAline Gondim SantosPierre Lespagnolhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/502Moderator not able to mute host in rendez-vous2021-04-13T13:38:16ZPierre LespagnolModerator not able to mute host in rendez-vous# Scenario
- Bob call Bob-RDV (2 accounts same device)
- Alice join Bod-RDV
- Alice mute Bob
# Current Result
- Bob is not muted# Scenario
- Bob call Bob-RDV (2 accounts same device)
- Alice join Bod-RDV
- Alice mute Bob
# Current Result
- Bob is not mutedPierre LespagnolPierre Lespagnolhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/486confOrder: add Participant2022-01-24T16:45:23ZSébastien BlinconfOrder: add ParticipantIn conferences we already have a confOrder for hangup a participant, we should be able to ask the conf to add a participant (instead of mixing from our side)In conferences we already have a confOrder for hangup a participant, we should be able to ask the conf to add a participant (instead of mixing from our side)https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/485Rework of the file streaming feature2023-11-09T20:43:58ZPierre LespagnolRework of the file streaming featureUse the media player to stream filesUse the media player to stream filesBacklogAline Gondim SantosAline Gondim Santoshttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/482Audio is un-muted when the video is muted2021-03-22T14:19:30ZMohamed ChibaniAudio is un-muted when the video is mutedMohamed ChibaniMohamed Chibanihttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/479Re-enable FEC!2021-03-19T17:44:58ZSébastien BlinRe-enable FEC!https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/468Prepare reception of the new conference info2021-03-17T17:39:39ZPierre LespagnolPrepare reception of the new conference infosee #467see #467Pierre LespagnolPierre Lespagnolhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/467Add frame size to conference info2021-04-13T13:38:05ZPierre LespagnolAdd frame size to conference infoPierre LespagnolPierre Lespagnolhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/465Video mixer: avoid black bands around video2021-03-19T17:47:03ZSébastien BlinVideo mixer: avoid black bands around videoPierre LespagnolPierre Lespagnolhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/461Audio artifacts (doesn't appear to be related to packet loss)2023-02-06T20:57:53ZPierre LespagnolAudio artifacts (doesn't appear to be related to packet loss)Backloghttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/415investigate bump ffmpeg on apple devices or apply Lbrr frames patch2021-03-10T15:49:23ZSébastien Blininvestigate bump ffmpeg on apple devices or apply Lbrr frames patchcf https://review.jami.net/c/ring-daemon/+/16892cf https://review.jami.net/c/ring-daemon/+/16892Kateryna KostiukKateryna Kostiukhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/414Rendezvous: mute other calls on new incoming calls2021-03-19T17:40:47ZSébastien BlinRendezvous: mute other calls on new incoming calls# Scenario
+ Alice is in a call with Bob and is hosting rendezvous-alice
+ Someone call rendezvous-alice
# Current Result
+ Alice and Bob got no sound
# Expected
+ Alice & Bob should hear eachother# Scenario
+ Alice is in a call with Bob and is hosting rendezvous-alice
+ Someone call rendezvous-alice
# Current Result
+ Alice and Bob got no sound
# Expected
+ Alice & Bob should hear eachotherPierre LespagnolPierre Lespagnolhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/404Plugins: can't enable video plugin when hosting a conference2021-03-19T17:44:08ZSébastien BlinPlugins: can't enable video plugin when hosting a conference# Scenario
+ Start a video conference
+ Enable greenscreen
# Current result
+ Greenscreen don't start
# Expected
+ GreenScreen should be started# Scenario
+ Start a video conference
+ Enable greenscreen
# Current result
+ Greenscreen don't start
# Expected
+ GreenScreen should be startedAline Gondim SantosAline Gondim Santoshttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/403ASAN crash in enterConference2021-02-15T20:05:59ZSébastien BlinASAN crash in enterConference```
Thread 2 "dring" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff24ff640 (LWP 229429)]
0x00007ffff76160c7 in __asan::QuickCheckForUnpoisonedRegion(unsigned long, unsigned long) () from /lib64/libasan.so.6
(gd...```
Thread 2 "dring" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff24ff640 (LWP 229429)]
0x00007ffff76160c7 in __asan::QuickCheckForUnpoisonedRegion(unsigned long, unsigned long) () from /lib64/libasan.so.6
(gdb) bt
#0 0x00007ffff76160c7 in __asan::QuickCheckForUnpoisonedRegion(unsigned long, unsigned long) () from /lib64/libasan.so.6
#1 0x00007ffff7616c74 in memcpy () from /lib64/libasan.so.6
#2 0x00007ffff6781d68 in std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long) () from /lib64/libstdc++.so.6
#3 0x00007ffff677467c in std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) () from /lib64/libstdc++.so.6
#4 0x000000000091041b in operator() (__closure=0x21ee0a0 <jami::video::ShmHolder::ShmHolder(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::shmFailedWithErrno>, what="shm_open") at sinkclient.cpp:125
#5 0x0000000000910bee in jami::video::ShmHolder::ShmHolder (this=0x607000202b40, name="") at sinkclient.cpp:141
#6 0x000000000091b03f in __gnu_cxx::new_allocator<jami::video::ShmHolder>::construct<jami::video::ShmHolder> (this=0x7ffff24fb440, __p=0x607000202b40) at /usr/include/c++/10/ext/new_allocator.h:150
#7 0x000000000091ab89 in std::allocator_traits<std::allocator<jami::video::ShmHolder> >::construct<jami::video::ShmHolder> (__a=..., __p=0x607000202b40) at /usr/include/c++/10/bits/alloc_traits.h:512
#8 0x000000000091a450 in std::_Sp_counted_ptr_inplace<jami::video::ShmHolder, std::allocator<jami::video::ShmHolder>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<>(std::allocator<jami::video::ShmHolder>) (this=0x607000202b30, __a=...) at /usr/include/c++/10/bits/shared_ptr_base.h:551
#9 0x0000000000919aee in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<jami::video::ShmHolder, std::allocator<jami::video::ShmHolder>>(jami::video::ShmHolder*&, std::_Sp_alloc_shared_tag<std::allocator<jami::video::ShmHolder> >) (this=0x7ffff24fb6b8, __p=@0x7ffff24fb6b0: 0x0, __a=...)
at /usr/include/c++/10/bits/shared_ptr_base.h:682
#10 0x0000000000919121 in std::__shared_ptr<jami::video::ShmHolder, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<jami::video::ShmHolder>>(std::_Sp_alloc_shared_tag<std::allocator<jami::video::ShmHolder> >) (this=0x7ffff24fb6b0,
__tag=<error reading variable: Cannot access memory at address 0xffffffffffffffe5>) at /usr/include/c++/10/bits/shared_ptr_base.h:1371
#11 0x00000000009180d3 in std::shared_ptr<jami::video::ShmHolder>::shared_ptr<std::allocator<jami::video::ShmHolder>>(std::_Sp_alloc_shared_tag<std::allocator<jami::video::ShmHolder> >) (this=0x7ffff24fb6b0, __tag=<error reading variable: Cannot access memory at address 0xffffffffffffffe5>)
at /usr/include/c++/10/bits/shared_ptr.h:408
#12 0x0000000000916f3e in std::allocate_shared<jami::video::ShmHolder, std::allocator<jami::video::ShmHolder>>(std::allocator<jami::video::ShmHolder> const&) (__a=...) at /usr/include/c++/10/bits/shared_ptr.h:860
#13 0x0000000000915f57 in std::make_shared<jami::video::ShmHolder> () at /usr/include/c++/10/bits/shared_ptr.h:876
#14 0x00000000009120cb in jami::video::SinkClient::start (this=0x611000504510) at sinkclient.cpp:277
#15 0x0000000000e17e9c in jami::video::VideoMixer::start_sink (this=0x6170003e6d80) at video_mixer.cpp:451
#16 0x0000000000e17cba in jami::video::VideoMixer::setParameters (this=0x6170003e6d80, width=1280, height=720, format=AV_PIX_FMT_YUV422P) at video_mixer.cpp:436
#17 0x0000000000e2318b in jami::video::VideoRtpSession::enterConference (this=0x61c0005bf880, conference=0x61600151d790) at video_rtp_session.cpp:362
#18 0x0000000000970301 in jami::Conference::add (this=0x61600151d790, participant_id="3426407002363824") at conference.cpp:199
#19 0x00000000009b3d22 in jami::Manager::ManagerPimpl::bindCallToConference (this=0x620000000080, call=warning: RTTI symbol not found for class 'jami::CallFactory::newCall<jami::SIPCall, jami::JamiAccount>(std::shared_ptr<jami::JamiAccount>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, jami::Call::CallType, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&)::ConcreteCall'
..., conf=...) at manager.cpp:677
#20 0x00000000009c2fe0 in operator() (__closure=0x6040004f5b50) at manager.cpp:1928
#21 0x00000000009d8c62 in operator() (this=0x6040004f5b50) at manager.h:974
#22 0x00000000009dde88 in std::__invoke_impl<void, jami::runOnMainThread<jami::Manager::incomingCall(jami::Call&, const string&)::<lambda()> >::<lambda()>&>(std::__invoke_other, struct {...} &) (__f=...) at /usr/include/c++/10/bits/invoke.h:60
#23 0x00000000009dd2bd in std::__invoke_r<void, jami::runOnMainThread<jami::Manager::incomingCall(jami::Call&, const string&)::<lambda()> >::<lambda()>&>(struct {...} &) (__fn=...) at /usr/include/c++/10/bits/invoke.h:110
#24 0x00000000009dc198 in std::_Function_handler<void(), jami::runOnMainThread<jami::Manager::incomingCall(jami::Call&, const string&)::<lambda()> >::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=...) at /usr/include/c++/10/bits/std_function.h:291
#25 0x0000000000575ff4 in std::function<void ()>::operator()() const (this=0x6030004b5590) at /usr/include/c++/10/bits/std_function.h:622
#26 0x0000000000abcc43 in jami::ScheduledExecutor::loop (this=0x6200000000a0) at scheduled_executor.cpp:124
#27 0x0000000000abb3b3 in operator() (__closure=0x60200002d7b8) at scheduled_executor.cpp:28
#28 0x0000000000abf390 in std::__invoke_impl<void, jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> >(std::__invoke_other, struct {...} &&) (__f=...) at /usr/include/c++/10/bits/invoke.h:60
#29 0x0000000000abf345 in std::__invoke<jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> >(struct {...} &&) (__fn=...) at /usr/include/c++/10/bits/invoke.h:95
#30 0x0000000000abf2f2 in std::thread::_Invoker<std::tuple<jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> > >::_M_invoke<0>(std::_Index_tuple<0>) (this=0x60200002d7b8) at /usr/include/c++/10/thread:264
#31 0x0000000000abf2c6 in std::thread::_Invoker<std::tuple<jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> > >::operator()(void) (this=0x60200002d7b8) at /usr/include/c++/10/thread:271
#32 0x0000000000abf2aa in std::thread::_State_impl<std::thread::_Invoker<std::tuple<jami::ScheduledExecutor::ScheduledExecutor()::<lambda()> > > >::_M_run(void) (this=0x60200002d7b0) at /usr/include/c++/10/thread:215
#33 0x00007ffff67185f4 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#34 0x00007ffff70f83f9 in start_thread () from /lib64/libpthread.so.0
#35 0x00007ffff6417903 in clone () from /lib64/libc.so.6
(gdb)
```https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/402Alsa: crash ASAN on master2021-04-16T14:55:23ZSébastien BlinAlsa: crash ASAN on master[crash-alsa-master.log](/uploads/aa38ced88ff74f3e61835494928419a1/crash-alsa-master.log)
The patch I did to fix this : https://review.jami.net/c/ring-daemon/+/16215[crash-alsa-master.log](/uploads/aa38ced88ff74f3e61835494928419a1/crash-alsa-master.log)
The patch I did to fix this : https://review.jami.net/c/ring-daemon/+/16215Adrien BéraudAdrien Béraudhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/385code smell: some cleanup is necessary in alsalayer2021-07-09T20:55:58ZSébastien Blincode smell: some cleanup is necessary in alsalayerIn src/media/audio/alsa/alsalayer.*
+ std::vector<AudioSample> playbackIBuff_; and captureIBuff_; are unused
+ status_ = AudioLayer::Status::Started; is locked but is atomic so shouldn't be necessaryIn src/media/audio/alsa/alsalayer.*
+ std::vector<AudioSample> playbackIBuff_; and captureIBuff_; are unused
+ status_ = AudioLayer::Status::Started; is locked but is atomic so shouldn't be necessaryhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/368Handle peerMuted information for call2021-05-04T21:57:54ZPierre LespagnolHandle peerMuted information for callPierre LespagnolPierre Lespagnol