savoirfairelinux issueshttps://git.jami.net/groups/savoirfairelinux/-/issues2023-11-20T14:13:18Zhttps://git.jami.net/savoirfairelinux/jami-project/-/issues/1429[Meta]Multistream support in conferences (multiple active videos) (Android/iOS)2023-11-20T14:13:18ZSébastien Blin[Meta]Multistream support in conferences (multiple active videos) (Android/iOS)The goal of this issue is to group information/observations to support multi-stream in video conferences. This means to have a conference with several participants active and/or one participant with multiple videos as the active particip...The goal of this issue is to group information/observations to support multi-stream in video conferences. This means to have a conference with several participants active and/or one participant with multiple videos as the active participant.
# Stack
https://review.jami.net/q/topic:multistream-conf-protocol
# iOS
1. TODO support video split
1. TODO design UX to support multistream
# Android
1. TODO design UX to support multistream
# TODO cleanup API:
+ getConferenceDetails return conf->getVideoInput() which should be unused
+ switchInput() is deprecatedJami for education(2)2024-03-31https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/712Windows: Black screen of the interlocutor if he/she rotates the screen of the...2024-02-14T14:06:57ZElysWindows: Black screen of the interlocutor if he/she rotates the screen of the phonePerson A using Jami Windows 10, Person B using Jami Android 11 (Mate 20 Pro)
issue: especially if Person B rotates the screen to portrait
Steps: you get a video call (android, Person B):
persons A and B see each other
Person B rotates...Person A using Jami Windows 10, Person B using Jami Android 11 (Mate 20 Pro)
issue: especially if Person B rotates the screen to portrait
Steps: you get a video call (android, Person B):
persons A and B see each other
Person B rotates the screen to portrait, then rotates the screen to upside-down landscape. If person B rotates the screen to portrait again, Person A (using Windows 10) only sees a black screen (with a preview of Person A). Sometimes person B has to rotate the screen many times but after a random number of attempts this issue occurs.
same thing happens (sometimes) if Person A shares screen and wants to return to webcam - Person B is now absent - Person A only sees black screen (with a preview of Person A)
Example:
![fail2](/uploads/dd557fd8978885fb470b3116fa4bfed2/fail2.png)Backloghttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/220Explore WebRTC support2023-11-20T14:19:22ZAdrien BéraudExplore WebRTC supportBacklogLarbi GharibLarbi Gharibhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/970Video camera stream is black when hardware acceleration is enabled2024-03-08T13:26:13ZPaul Le Guen de KerneizonVideo camera stream is black when hardware acceleration is enabled## How to report a bug
## One bug = one bug report
If you have multiple issues, please file separate bug reports. It will be much easier to track bugs that way.
## Avoid duplicates
Search for similar problem - update existing issue i...## How to report a bug
## One bug = one bug report
If you have multiple issues, please file separate bug reports. It will be much easier to track bugs that way.
## Avoid duplicates
Search for similar problem - update existing issue instead of creating new one.
## Bug report form
## Describe your environment
Please specify the following:
- OS: Ubuntu 22.04.4 LTS
- Jami version: 202402141827
- What build you are using: jami.net
## Steps to reproduce
1. Enable hardware acceleration in parameters with 960x540 resolution
2. Start a video call
- Actual result: My video camera stream is black on the Jami screen of other contacts in the meeting. However, I can see myself on my Jami screen. Must disable hardware acceleration to solve the problem or change the video resolution to 1280x720
- Expected result: Other people can see my camera video stream instead of a black screen.
## Additional information
- With Jami enable with `--debug`, this log appeared:
```
[1709890977.592|52761|accel.cpp :298 ] Failed to push frame to GPU: Invalid argument
[1709890977.593|52761|media_encoder.cpp :438 ] Fail to get frame
[1709890977.593|52761|video_sender.cpp :87 ] encoding failed
```
- The issue appears whatever camera I use
- My laptop is a Lenovo P14S with AMD GPU and same hardware
- We achieve to reproduce the same bug with Fedora 39
On contact side:
![Screenshot_from_2024-03-08_11-29-49](/uploads/f93d51095c449899708f64255c9f4850/Screenshot_from_2024-03-08_11-29-49.png)
On my side:
![Screenshot_from_2024-03-08_11-29-48](/uploads/f5672232032c2ce2a9671ebf44825c2e/Screenshot_from_2024-03-08_11-29-48.png)
For retrieving logs, cf [this page](https://git.jami.net/savoirfairelinux/ring-project/wikis/tutorials/Bug-report-guide#logs).https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/959Call-Swarm/Rdv: wrong audio is attached2024-03-28T00:05:08ZSébastien BlinCall-Swarm/Rdv: wrong audio is attached# Scenario
+ In a call swarm (alice is the host), bob calls
+ Alice is detached, but audio is playing
# Expected
Alice should not ear anything, Bob should not ear alice# Scenario
+ In a call swarm (alice is the host), bob calls
+ Alice is detached, but audio is playing
# Expected
Alice should not ear anything, Bob should not ear alicehttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/958Call-swarm: Joining in audio make the host join2024-03-25T18:36:16ZSébastien BlinCall-swarm: Joining in audio make the host join# Scenario
* Alice, Bob in a swarm
* Alice is default host
* Bob joins in audio
# Expected
Alice doesn't join the call
# Current
Alice is attached# Scenario
* Alice, Bob in a swarm
* Alice is default host
* Bob joins in audio
# Expected
Alice doesn't join the call
# Current
Alice is attachedSébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/957Call-swarm: join in audio fails2024-02-26T20:30:19ZSébastien BlinCall-swarm: join in audio fails# Scenario
* Alice, Bob, Carla in a swarm
* Alice is default host
* Bob call in audio
* Carla calls (audio or video)
# Expected result
Carla should ear Bob
# Current result
No sound# Scenario
* Alice, Bob, Carla in a swarm
* Alice is default host
* Bob call in audio
* Carla calls (audio or video)
# Expected result
Carla should ear Bob
# Current result
No soundhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/953Call Swarm: full pass2024-03-28T00:05:08ZSébastien BlinCall Swarm: full pass# TODO
+ Check performance
+ Check call ending announcement
+ Check support on all platforms
+ Fallback
+ ask for hosts
+ audio binding
+ test with 8 devices
+ Performance# TODO
+ Check performance
+ Check call ending announcement
+ Check support on all platforms
+ Fallback
+ ask for hosts
+ audio binding
+ test with 8 devices
+ PerformanceSébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1558Muting local video leaves camera on2024-02-19T22:16:09ZAndreas TraczykMuting local video leaves camera on- OS: Ubuntu 22.04.3
- What build you are using: 24edba9a
## Steps to reproduce
- Steps:
1. start a video call
2. mute local video
- Actual result: camera should stop streaming AND peer(s) should not receive video
- Expected r...- OS: Ubuntu 22.04.3
- What build you are using: 24edba9a
## Steps to reproduce
- Steps:
1. start a video call
2. mute local video
- Actual result: camera should stop streaming AND peer(s) should not receive video
- Expected result: camera keeps streaming AND peer(s) do not receive videoAndreas TraczykAndreas Traczykhttps://git.jami.net/savoirfairelinux/jami-client-android/-/issues/1499New image layout2024-02-07T22:07:58ZEmma FalkiewitzNew image layoutWhat we currently have:
![image](/uploads/048789e958e8e0ef38565903bb179e68/image.png)
And after clicking on it:
![image](/uploads/a4bf5cf977fcd8a41670b283a4222fe9/image.png)
![image](/uploads/450c1f157e1c4f9d00d5d9878386d93e/image.pn...What we currently have:
![image](/uploads/048789e958e8e0ef38565903bb179e68/image.png)
And after clicking on it:
![image](/uploads/a4bf5cf977fcd8a41670b283a4222fe9/image.png)
![image](/uploads/450c1f157e1c4f9d00d5d9878386d93e/image.png)
What we want :
![image](/uploads/819e63b2f3dfe2c8c9a0223106500818/image.png)Emma FalkiewitzEmma Falkiewitzhttps://git.jami.net/savoirfairelinux/jami-client-android/-/issues/1498New video layout2024-02-07T22:08:15ZEmma FalkiewitzNew video layoutWhat we currently have:
![Screen_recording_20231220_110616](/uploads/4671911011d6646e3215993b7c8660c2/Screen_recording_20231220_110616.mp4)
What we want:
![image](/uploads/96b2d611b93e911d53c884afdc724b2e/image.png)
We still need to...What we currently have:
![Screen_recording_20231220_110616](/uploads/4671911011d6646e3215993b7c8660c2/Screen_recording_20231220_110616.mp4)
What we want:
![image](/uploads/96b2d611b93e911d53c884afdc724b2e/image.png)
We still need to discuss the click function.Emma FalkiewitzEmma Falkiewitzhttps://git.jami.net/savoirfairelinux/jami-client-android/-/issues/1492Plugin installed but not working/enabled (GreenScreen & Whisper)2024-03-28T00:05:08ZSébastien BlinPlugin installed but not working/enabled (GreenScreen & Whisper)# Scenario
+ Install GreenScreen or Whisper (settings by default are correct, also plugins is enabled by default)
+ Start a call
# Current result
+ GreenScreen or Whisper is not working & seems disabled (from the checkbox) in the plug...# Scenario
+ Install GreenScreen or Whisper (settings by default are correct, also plugins is enabled by default)
+ Start a call
# Current result
+ GreenScreen or Whisper is not working & seems disabled (from the checkbox) in the plugin list
# Expected
Greenscreen or Whisper must workhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/909Record: flickering video if inputs have different fps2023-10-20T11:12:08ZAline Gondim SantosRecord: flickering video if inputs have different fpsHow to reproduce: share a file that is 60fps and have another stream with 30 fps
With https://review.jami.net/c/jami-daemon/+/26036 the fps are fixed to 30, but we should support the bigger one.How to reproduce: share a file that is 60fps and have another stream with 30 fps
With https://review.jami.net/c/jami-daemon/+/26036 the fps are fixed to 30, but we should support the bigger one.https://git.jami.net/savoirfairelinux/jami-client-android/-/issues/1374Incorrect preview in conference2023-09-15T14:09:37ZSébastien BlinIncorrect preview in conference# Scenario
+ Alice (Desktop) calls Bob (Desktop)
+ Carla (Android) is added to the conference by Alice
# Expected result
Carla's video tile should show Carla
# Current result
Carla's video tile is empty.# Scenario
+ Alice (Desktop) calls Bob (Desktop)
+ Carla (Android) is added to the conference by Alice
# Expected result
Carla's video tile should show Carla
# Current result
Carla's video tile is empty.https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/872[SIP-Account] (Audio-)Call recording doesn't work2024-01-26T17:09:13ZElys[SIP-Account] (Audio-)Call recording doesn't workusing Jami (Beta): 202401121257 on Windows
- Make a call (SIM-call -\> SIP-Account (Jami))
- Now record the call
- After the call you view the recordings: However if you want to listen to the audio recording - even if the file should ha...using Jami (Beta): 202401121257 on Windows
- Make a call (SIM-call -\> SIP-Account (Jami))
- Now record the call
- After the call you view the recordings: However if you want to listen to the audio recording - even if the file should have a duration of 20 seconds - every music player can only "play" the file 0:00 seconds.
Note:
- NO Issues if I recorded a Jami call (Jami account 1 (Android) -\> Jami account 2(Windows 10)) - and it does NOT matter if I record an audio call or a video call
EDIT: Not sure if SIP-video call recording works (with / without sound) or combined with Jami accounts.
Maybe if you or other peers enable / disable your/their camera and/or enable/disable your/their own microphones during the call you also get recording issues? https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/872#note_44414https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1242Share window, in video call, application unresponsive2024-01-30T21:01:42ZØystein HansenShare window, in video call, application unresponsiveBug report form
---------------
## Environment
- OS: Windows 11 Home 22621.1848 (also Ubuntu 22.04.2 LTS)
- Jami version: On Windows, Version (Beta): 202306191617 (On Ubuntu, Version:202306191842)
- What build you are using: On Window...Bug report form
---------------
## Environment
- OS: Windows 11 Home 22621.1848 (also Ubuntu 22.04.2 LTS)
- Jami version: On Windows, Version (Beta): 202306191617 (On Ubuntu, Version:202306191842)
- What build you are using: On Windows, jami.net (On Ubuntu Snap Store (snapcraft.io latest/stable 20230619.1)
## Steps to reproduce
- Can you reproduce the bug: at will
- Steps:
1. Start Jami
2. Open Chat with other contact
3. Place video call
4. Video call is Accepted
5. Select sharing method
6. Share window
- Actual result: The "Select a window to share" window opens. Then the application becomes unresponsive.
- Expected result: Be able to select a window to share. Application beeing responsive to use.
## Additional information
- Screenshot Windows: https://github.com/oeysteinhansen/files/blob/main/issue/20230705_jami/Screenshot%202023-07-05%20105619.png
- Screenshot Ubuntu: https://github.com/oeysteinhansen/files/blob/main/issue/20230705_jami/Screenshot%202023-07-05%20110803.png
- Relevant Log Entries Windows:
[1688551745.480|7508|media_decoder.cpp :551 ] Using raw video (rawvideo) decoder for video
[1688551745.480|7508|media_decoder.cpp :559 ] Not using hardware decoding for rawvideo
[1688551745.568|7508|media_decoder.cpp :551 ] Using raw video (rawvideo) decoder for video
[1688551745.568|7508|media_decoder.cpp :559 ] Not using hardware decoding for rawvideo
[1688551745.578|11848|media_decoder.cpp :551 ] Using raw video (rawvideo) decoder for video
[1688551745.579|11848|media_decoder.cpp :559 ] Not using hardware decoding for rawvideo
[1688551745.593|11848|media_decoder.cpp :551 ] Using raw video (rawvideo) decoder for video
[1688551745.593|11848|media_decoder.cpp :559 ] Not using hardware decoding for rawvideo
[1688551745.614|7508|media_decoder.cpp :551 ] Using raw video (rawvideo) decoder for video
[1688551745.614|7508|media_decoder.cpp :559 ] Not using hardware decoding for rawvideo
[1688551745.621|7036|media_decoder.cpp :551 ] Using raw video (rawvideo) decoder for video
[1688551745.621|7036|media_decoder.cpp :559 ] Not using hardware decoding for rawvideo
[1688551745.647|11848|media_decoder.cpp :551 ] Using raw video (rawvideo) decoder for video
[1688551745.647|11848|media_decoder.cpp :559 ] Not using hardware decoding for rawvideo
[1688551745.666|11848|media_decoder.cpp :551 ] Using raw video (rawvideo) decoder for video
[1688551745.666|11848|media_decoder.cpp :559 ] Not using hardware decoding for rawvideo
[1688551745.673|7508|media_decoder.cpp :551 ] Using raw video (rawvideo) decoder for video
[1688551745.673|7508|media_decoder.cpp :559 ] Not using hardware decoding for rawvideo
[1688551745.675|16292|media_decoder.cpp :551 ] Using raw video (rawvideo) decoder for video
[1688551745.675|16292|media_decoder.cpp :559 ] Not using hardware decoding for rawvideo
[1688551745.723|11848|media_decoder.cpp :551 ] Using raw video (rawvideo) decoder for video
[1688551745.723|11848|media_decoder.cpp :559 ] Not using hardware decoding for rawvideo
[1688551745.732|11848|media_decoder.cpp :551 ] Using raw video (rawvideo) decoder for video
[1688551745.733|11848|media_decoder.cpp :559 ] Not using hardware decoding for rawvideo
[1688551745.734|19356|media_decoder.cpp :551 ] Using raw video (rawvideo) decoder for video
[1688551745.736|19356|media_decoder.cpp :559 ] Not using hardware decoding for rawvideo
[1688551745.742|7508|media_decoder.cpp :551 ] Using raw video (rawvideo) decoder for video
[1688551745.742|7508|media_decoder.cpp :559 ] Not using hardware decoding for rawvideo
[1688551745.805|4284|media_decoder.cpp :551 ] Using raw video (rawvideo) decoder for video
[1688551745.805|4284|media_decoder.cpp :559 ] Not using hardware decoding for rawvideo
[1688551745.807|7508|media_decoder.cpp :551 ] Using raw video (rawvideo) decoder for video
[1688551745.807|7508|media_decoder.cpp :559 ] Not using hardware decoding for rawvideo
[1688551745.889|4900|media_decoder.cpp :551 ] Using raw video (rawvideo) decoder for video
[1688551745.890|7508|media_decoder.cpp :551 ] Using raw video (rawvideo) decoder for video
[1688551745.890|4900|media_decoder.cpp :559 ] Not using hardware decoding for rawvideo
[1688551745.891|7508|media_decoder.cpp :559 ] Not using hardware decoding for rawvideo
[1688551746.380|7244|media_decoder.cpp :551 ] Using raw video (rawvideo) decoder for video
[1688551746.390|7244|media_decoder.cpp :559 ] Not using hardware decoding for rawvideoAline Gondim SantosAline Gondim Santoshttps://git.jami.net/savoirfairelinux/jami-client-android/-/issues/1212Call: Peer's camera preview is disabled for few seconds when changing your ca...2023-07-20T16:04:02ZPierre NicolasCall: Peer's camera preview is disabled for few seconds when changing your camera side## Describe your environment
- Device model: Samsung Galaxy Tab S5e SM-T720
- Android version: 11
- What build you are using: your own, commit 5be1de17c790bddfb30dde74c8a1364e213f9847
## Steps to reproduce
- Can you reproduce ...## Describe your environment
- Device model: Samsung Galaxy Tab S5e SM-T720
- Android version: 11
- What build you are using: your own, commit 5be1de17c790bddfb30dde74c8a1364e213f9847
## Steps to reproduce
- Can you reproduce the bug: at will
- Steps:
1. Start a call (with camera).
2. Change your camera's side.
- Actual result: Your camera side changes, but your peer's camera preview is also disabled for a few seconds.
## Additional information
![why_does_change_camera_also_change_peer](/uploads/aa167dd8492ec6058e65b88253aebda8/why_does_change_camera_also_change_peer.mp4)https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/829Homogeneize features in video-conferences and 1:1 calls2024-03-04T18:51:02ZovariHomogeneize features in video-conferences and 1:1 calls(sblin):
+ Add voice-activity, multi-stream, raiseHand and other features for video-conferences in 1:1 calls
---
Original post:
Leon: Linux Mint 20.3 Cinnamon jami-client-qt deb edition from jami.net<br>
Pat: iPad jami 3.28 from app...(sblin):
+ Add voice-activity, multi-stream, raiseHand and other features for video-conferences in 1:1 calls
---
Original post:
Leon: Linux Mint 20.3 Cinnamon jami-client-qt deb edition from jami.net<br>
Pat: iPad jami 3.28 from apple store<br>
Merv: macOS jami 2.10 from apple store
Leon, Pat and Merv all delete each other and afterwards add each other as a contact. This is to make each conversion a Swarm as advised in [Taranis, a major release of Jami](https://jami.net/taranis-a-major-release-of-jami/).
1. Leon makes an audio call with Pat (no raise/lower hand button)
1. Leon adds Merv to audio call so there is a 3-way audio conversation (still no raise/lower hand button)
1. Enable video and the raise/lower hand button appears for Leon and Pat; however there is no raise/lower hand button for Merv and Merv can not see when Leon or Pat raise their hand.
Thank youSébastien BlinSébastien Blin2024-03-04https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/828Multiple host video is broken2023-03-28T14:54:49ZSébastien BlinMultiple host video is broken# Scenario
+ Alice got a conference with Bob and Carla
+ Carla adds David to the conference (Alice and Carla are now a host)
# Current result
+ Video & maximize is broken
# Expected
We should be able to maximize and see the 4 videos# Scenario
+ Alice got a conference with Bob and Carla
+ Carla adds David to the conference (Alice and Carla are now a host)
# Current result
+ Video & maximize is broken
# Expected
We should be able to maximize and see the 4 videoshttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/827Segv when stopping screen-sharing in a video conference2023-04-14T15:06:21ZSébastien BlinSegv when stopping screen-sharing in a video conference# Scenario
+ Call a rdv
+ Start screen sharing
+ Stop screen sharing
# Bug 1
+ Crash from sender
```
(gdb) bt
#0 0x00007fffe84c63f4 in std::_Rb_tree_increment(std::_Rb_tree_node_base const*) () at /lib64/libstdc++.so.6
#1 0x00007fff...# Scenario
+ Call a rdv
+ Start screen sharing
+ Stop screen sharing
# Bug 1
+ Crash from sender
```
(gdb) bt
#0 0x00007fffe84c63f4 in std::_Rb_tree_increment(std::_Rb_tree_node_base const*) () at /lib64/libstdc++.so.6
#1 0x00007fffe90f4ce3 in std::_Rb_tree_const_iterator<jami::Observable<std::shared_ptr<libjami::MediaFrame> >*>::operator++() (this=0x7fffffff6c98) at /usr/include/c++/12/bits/stl_tree.h:368
#2 0x00007fffe90f3f7c in jami::MediaRecorder::StreamObserver::~StreamObserver() (this=0x7ffec8cb8660, __in_chrg=<optimized out>) at media/media_recorder.cpp:74
#3 0x00007fffe90f3ffc in jami::MediaRecorder::StreamObserver::~StreamObserver() (this=0x7ffec8cb8660, __in_chrg=<optimized out>) at media/media_recorder.cpp:77
#4 0x00007fffe90f67f0 in std::default_delete<jami::MediaRecorder::StreamObserver>::operator()(jami::MediaRecorder::StreamObserver*) const (this=0x7ffec8cbbf30, __ptr=0x7ffec8cb8660) at /usr/include/c++/12/bits/unique_ptr.h:95
#5 0x00007fffe90f5584 in std::unique_ptr<jami::MediaRecorder::StreamObserver, std::default_delete<jami::MediaRecorder::StreamObserver> >::~unique_ptr() (this=0x7ffec8cbbf30, __in_chrg=<optimized out>)
at /usr/include/c++/12/bits/unique_ptr.h:396
#6 0x00007fffe90f98f2 in std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::unique_ptr<jami::MediaRecorder::StreamObserver, std::default_delete<jami::MediaRecorder::StreamObserver> > >::~pair() (this=0x7ffec8cbbf10, __in_chrg=<optimized out>) at /usr/include/c++/12/bits/stl_pair.h:185
#7 0x00007fffe90f991e in std::__new_allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::unique_ptr<jami::MediaRecorder::StreamObserver, std::default_delete<jami::MediaRecorder::StreamObserver> > > > >::destroy<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::unique_ptr<jami::MediaRecorder::StreamObserver, std::default_delete<jami::MediaRecorder::StreamObserver> > > >(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::unique_ptr<jami::MediaRecorder::StreamObserver, std::default_delete<jami::MediaRecorder::StreamObserver> > >*) (this=0x5410250, __p=0x7ffec8cbbf10) at /usr/include/c++/12/bits/new_allocator.h:181
#8 0x00007fffe90f938f in std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::unique_ptr<jami::MediaRecorder::StreamObserver, std::default_delete<jami::MediaRecorder::StreamObserver> > > > > >::destroy<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::unique_ptr<jami::MediaRecorder::StreamObserver, std::default_delete<jami::MediaRecorder::StreamObserver> > > >(std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::unique_ptr<jami::MediaRecorder::StreamObserver, std::default_delete<jami::MediaRecorder::StreamObserver> > > > >&, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::unique_ptr<jami::MediaRecorder::StreamObserver, std::default_delete<jami::MediaRecorder::StreamObserver> > >*) (__a=..., __p=0x7ffec8cbbf10) at /usr/include/c++/12/bits/alloc_traits.h:535
#9 0x00007fffe90f8b7d in std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::unique_ptr<jami::MediaRecorder::StreamObserver, std::default_delete<jami::MediaRecorder::StreamObserver> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::unique_ptr<jami::MediaRecorder::StreamObserver, std::default_delete<jami::MediaRecorder::StreamObserver> > > >, 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::unique_ptr<jami::MediaRecorder::StreamObserver, std::default_delete<jami::MediaRecorder::StreamObserver> > > > >::_M_destroy_node(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::unique_ptr<jami::MediaRecorder::StreamObserver, std::default_delete<jami::MediaRecorder::StreamObserver> > > >*) (this=0x5410250, __p=0x7ffec8cbbef0)
at /usr/include/c++/12/bits/stl_tree.h:623
#10 0x00007fffe90f771d in std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::unique_ptr<jami::MediaRecorder::StreamObserver, std::default_delete<jami::MediaRecorder::StreamObserver> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::unique_ptr<jami::MediaRecorder::StreamObserver, std::default_delete<jami::MediaRecorder::StreamObserver> > > >, 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::unique_ptr<jami::MediaRecorder::StreamObserver, std::default_delete<jami::MediaRecorder::StreamObserver> > > > >::_M_drop_node(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::unique_ptr<jami::MediaRecorder::StreamObserver, std::default_delete<jami::MediaRecorder::StreamObserver> > > >*) (this=0x5410250, __p=0x7ffec8cbbef0)
at /usr/include/c++/12/bits/stl_tree.h:631
#11 0x00007fffe90f805c in std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::unique_ptr<jami::MediaRecorder::StreamObserver, std::default_delete<jami::MediaRecorder::StreamObserver> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::unique_ptr<jami::MediaRecorder::StreamObserver, std::default_delete<jami::MediaRecorder::StreamObserver> > > >, 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::unique_ptr<jami::MediaRecorder::StreamObserver, std::default_delete<jami::MediaRecorder::StreamObserver> > > > >::_M_erase_aux(std::_Rb_tree_const_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::unique_ptr<jami::MediaRecorder::StreamObserver, std::default_delete<jami::MediaRecorder::StreamObserver> > > >)
(this=0x5410250, __position={first = "v:remote", second = std::unique_ptr<jami::MediaRecorder::StreamObserver> = {get() = 0x7ffec8cb8660}}) at /usr/include/c++/12/bits/stl_tree.h:2495
#12 0x00007fffe90f6aab in std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::unique_ptr<jami::MediaRecorder::StreamObserver, std::default_delete<jami::MediaRecorder::StreamObserver> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::unique_ptr<jami::MediaRecorder::StreamObserver, std::default_delete<jami::MediaRecorder::StreamObserver> > > >, 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::unique_ptr<jami::MediaRecorder::StreamObserver, std::default_delete<jami::MediaRecorder::StreamObserver> > > > >::erase[abi:cxx11](std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::unique_ptr<jami::MediaRecorder::StreamObserver, std::default_delete<jami::MediaRecorder::StreamObserver> > > >)
(this=0x5410250, __position={first = "v:remote", second = std::unique_ptr<jami::MediaRecorder::StreamObserver> = {get() = 0x7ffec8cb8660}}) at /usr/include/c++/12/bits/stl_tree.h:1209
#13 0x00007fffe90f57a7 in std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::unique_ptr<jami::MediaRecorder::StreamObserver, std::default_delete<jami::MediaRecorder::StreamObserver> >, 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::unique_ptr<jami::MediaRecorder::StreamObserver, std::default_delete<jami::MediaRecorder::StreamObserver> > > > >::erase[abi:cxx11](std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::unique_ptr<jami::MediaRecorder::StreamObserver, std::default_delete<jami::MediaRecorder::StreamObserver> > > >) (this=0x5410250, __position={first = "v:remote", second = std::unique_ptr<jami::MediaRecorder::StreamObserver> = {get() = 0x7ffec8cb8660}})
at /usr/include/c++/12/bits/stl_map.h:1086
#14 0x00007fffe90ee5e1 in jami::MediaRecorder::removeStream(jami::MediaStream const&) (this=0x54101a0, ms=...) at media/media_recorder.cpp:294
#15 0x00007fffe917c30b in jami::video::VideoRtpSession::deinitRecorder() (this=0xa2b12e0) at ./media/video/video_rtp_session.cpp:779
#16 0x00007fffe917844e in jami::video::VideoRtpSession::~VideoRtpSession() (this=0xa2b12e0, __in_chrg=<optimized out>) at ./media/video/video_rtp_session.cpp:80
#17 0x00007fffe9219a18 in std::_Destroy<jami::video::VideoRtpSession>(jami::video::VideoRtpSession*) (__pointer=0xa2b12e0) at /usr/include/c++/12/bits/stl_construct.h:151
#18 0x00007fffe92199bc in std::allocator_traits<std::allocator<void> >::destroy<jami::video::VideoRtpSession>(std::allocator<void>&, jami::video::VideoRtpSession*) (__p=0xa2b12e0) at /usr/include/c++/12/bits/alloc_traits.h:648
#19 0x00007fffe9219715 in std::_Sp_counted_ptr_inplace<jami::video::VideoRtpSession, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>::_M_dispose() (this=0xa2b12d0) at /usr/include/c++/12/bits/shared_ptr_base.h:613
#20 0x00007fffe8ca8f87 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() (this=0xa2b12d0) at /usr/include/c++/12/bits/shared_ptr_base.h:346
#21 0x00007fffe8cac3e5 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count() (this=0x88f1b38, __in_chrg=<optimized out>) at /usr/include/c++/12/bits/shared_ptr_base.h:1071
--Type <RET> for more, q to quit, c to continue without paging--
#22 0x00007fffe91be4b2 in std::__shared_ptr<jami::RtpSession, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() (this=0x88f1b30, __in_chrg=<optimized out>) at /usr/include/c++/12/bits/shared_ptr_base.h:1524
#23 0x00007fffe91c3f4c in std::shared_ptr<jami::RtpSession>::~shared_ptr() (this=0x88f1b30, __in_chrg=<optimized out>) at /usr/include/c++/12/bits/shared_ptr.h:175
#24 0x00007fffe920e3d6 in jami::SIPCall::RtpStream::~RtpStream() (this=0x88f1b30, __in_chrg=<optimized out>) at ./sip/sipcall.h:88
#25 0x00007fffe9216931 in std::_Destroy<jami::SIPCall::RtpStream>(jami::SIPCall::RtpStream*) (__pointer=0x88f1b30) at /usr/include/c++/12/bits/stl_construct.h:151
#26 0x00007fffe921597c in std::_Destroy_aux<false>::__destroy<jami::SIPCall::RtpStream*>(jami::SIPCall::RtpStream*, jami::SIPCall::RtpStream*) (__first=0x88f1b30, __last=0x88f1b70) at /usr/include/c++/12/bits/stl_construct.h:163
#27 0x00007fffe9213d02 in std::_Destroy<jami::SIPCall::RtpStream*>(jami::SIPCall::RtpStream*, jami::SIPCall::RtpStream*) (__first=0x88f1b30, __last=0x88f1b70) at /usr/include/c++/12/bits/stl_construct.h:196
#28 0x00007fffe9211533 in std::_Destroy<jami::SIPCall::RtpStream*, jami::SIPCall::RtpStream>(jami::SIPCall::RtpStream*, jami::SIPCall::RtpStream*, std::allocator<jami::SIPCall::RtpStream>&) (__first=0x88f1b30, __last=0x88f1b70)
at /usr/include/c++/12/bits/alloc_traits.h:850
#29 0x00007fffe92122d1 in std::vector<jami::SIPCall::RtpStream, std::allocator<jami::SIPCall::RtpStream> >::_M_erase_at_end(jami::SIPCall::RtpStream*) (this=0x5612378, __pos=0x88f1b30) at /usr/include/c++/12/bits/stl_vector.h:1932
#30 0x00007fffe920fc31 in std::vector<jami::SIPCall::RtpStream, std::allocator<jami::SIPCall::RtpStream> >::resize(unsigned long) (this=0x5612378, __new_size=2) at /usr/include/c++/12/bits/stl_vector.h:1013
#31 0x00007fffe91fca76 in jami::SIPCall::updateAllMediaStreams(std::vector<jami::MediaAttribute, std::allocator<jami::MediaAttribute> > const&, bool)
(this=0x5611fa0, mediaAttrList=std::vector of length 2, capacity 2 = {...}, isRemote=false) at ./sip/sipcall.cpp:2446
#32 0x00007fffe91fd4fc in jami::SIPCall::requestMediaChange(std::vector<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> > > > >, std::allocator<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&) (this=0x5611fa0, mediaList=std::vector of length 2, capacity 2 = {...}) at ./sip/sipcall.cpp:2591
#33 0x00007fffe8dad0e8 in libjami::requestMediaChange(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&, std::vector<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> > > > >, std::allocator<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&) (accountId="8205d13d4d847ca4", callId="5271111606844474", mediaList=std::vector of length 2, capacity 2 = {...}) at client/callmanager.cpp:77
#34 0x000000000055f78f in CallManagerInterface::requestMediaChange(QString const&, QString const&, QList<QMap<QString, QString> > const&) (accountId=..., callId=..., mediaList=<optimized out>, this=<optimized out>)
at /home/amarok/Projects/jami/client-qt/src/libclient/dbus/../qtwrapper/callmanager_wrap.h:426
#35 0x0000000000569a12 in lrc::api::CallModel::removeMedia(QString const&, QString const&, QString const&, bool) (this=this@entry=0x247e070, callId=..., mediaType=..., type=..., muteCamera=muteCamera@entry=false)
at /home/amarok/Projects/jami/client-qt/src/libclient/callmodel.cpp:658
#36 0x00000000004bda4a in AvAdapter::stopSharing(QString const&) (this=<optimized out>, source=<optimized out>) at /home/amarok/Projects/jami/client-qt/src/app/avadapter.cpp:299
#37 0x0000000000469bc0 in AvAdapter::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=_o@entry=0x24fc8e0, _c=_c@entry=QMetaObject::InvokeMetaMethod, _id=_id@entry=25, _a=_a@entry=0x7fffffff7d48)
at /home/amarok/Projects/jami/client-qt/build/jami_autogen/ISMKEKEPX5/moc_avadapter.cpp:268
#38 0x0000000000472c60 in AvAdapter::qt_metacall(QMetaObject::Call, int, void**) (this=0x24fc8e0, _c=QMetaObject::InvokeMetaMethod, _id=25, _a=0x7fffffff7d48)
at /home/amarok/Projects/jami/client-qt/build/jami_autogen/ISMKEKEPX5/moc_avadapter.cpp:395
#39 0x00007fffec538fc3 in QQmlObjectOrGadget::metacall(QMetaObject::Call, int, void**) const () at /usr/lib64/qt-jami/lib/libQt6Qml.so.6
#40 0x00007fffec42404c in CallPrecise(QQmlObjectOrGadget const&, QQmlPropertyData const&, QV4::ExecutionEngine*, QV4::CallData*, QMetaObject::Call) () at /usr/lib64/qt-jami/lib/libQt6Qml.so.6
#41 0x00007fffec42506d in QV4::QObjectMethod::callInternal(QV4::Value const*, QV4::Value const*, int) const () at /usr/lib64/qt-jami/lib/libQt6Qml.so.6
#42 0x00007fffec478bbc in QV4::Moth::VME::interpret(QV4::JSTypesStackFrame*, QV4::ExecutionEngine*, char const*) () at /usr/lib64/qt-jami/lib/libQt6Qml.so.6
#43 0x00007fffec47ebbf in QV4::Moth::VME::exec(QV4::JSTypesStackFrame*, QV4::ExecutionEngine*) () at /usr/lib64/qt-jami/lib/libQt6Qml.so.6
#44 0x00007fffec3d5fda in QV4::Function::call(QV4::Value const*, QV4::Value const*, int, QV4::ExecutionContext const*) () at /usr/lib64/qt-jami/lib/libQt6Qml.so.6
#45 0x00007fffec3d61b1 in QV4::Function::call(QV4::Value const*, void**, QMetaType const*, int, QV4::ExecutionContext const*) () at /usr/lib64/qt-jami/lib/libQt6Qml.so.6
#46 0x00007fffec500933 in QQmlJavaScriptExpression::evaluate(void**, QMetaType const*, int) () at /usr/lib64/qt-jami/lib/libQt6Qml.so.6
#47 0x00007fffec4b9587 in QQmlBoundSignalExpression::evaluate(void**) () at /usr/lib64/qt-jami/lib/libQt6Qml.so.6
#48 0x00007fffec4ba028 in QQmlBoundSignal_callback(QQmlNotifierEndpoint*, void**) () at /usr/lib64/qt-jami/lib/libQt6Qml.so.6
#49 0x00007fffec52468a in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) () at /usr/lib64/qt-jami/lib/libQt6Qml.so.6
#50 0x00007fffea9c1074 in void doActivate<false>(QObject*, int, void**) () at /usr/lib64/qt-jami/lib/libQt6Core.so.6
#51 0x00007fffec5c91f6 in QQmlVMEMetaObject::metaCall(QObject*, QMetaObject::Call, int, void**) () at /usr/lib64/qt-jami/lib/libQt6Qml.so.6
#52 0x00007fffec538fc3 in QQmlObjectOrGadget::metacall(QMetaObject::Call, int, void**) const () at /usr/lib64/qt-jami/lib/libQt6Qml.so.6
#53 0x00007fffec422b31 in CallPrecise(QQmlObjectOrGadget const&, QQmlPropertyData const&, QV4::ExecutionEngine*, QV4::CallData*, QMetaObject::Call) () at /usr/lib64/qt-jami/lib/libQt6Qml.so.6
#54 0x00007fffec42506d in QV4::QObjectMethod::callInternal(QV4::Value const*, QV4::Value const*, int) const () at /usr/lib64/qt-jami/lib/libQt6Qml.so.6
#55 0x00007fffec478bbc in QV4::Moth::VME::interpret(QV4::JSTypesStackFrame*, QV4::ExecutionEngine*, char const*) () at /usr/lib64/qt-jami/lib/libQt6Qml.so.6
#56 0x00007fffec47ebbf in QV4::Moth::VME::exec(QV4::JSTypesStackFrame*, QV4::ExecutionEngine*) () at /usr/lib64/qt-jami/lib/libQt6Qml.so.6
#57 0x00007fffec3d5fda in QV4::Function::call(QV4::Value const*, QV4::Value const*, int, QV4::ExecutionContext const*) () at /usr/lib64/qt-jami/lib/libQt6Qml.so.6
#58 0x00007fffec3d61b1 in QV4::Function::call(QV4::Value const*, void**, QMetaType const*, int, QV4::ExecutionContext const*) () at /usr/lib64/qt-jami/lib/libQt6Qml.so.6
#59 0x00007fffec500933 in QQmlJavaScriptExpression::evaluate(void**, QMetaType const*, int) () at /usr/lib64/qt-jami/lib/libQt6Qml.so.6
#60 0x00007fffec4b9587 in QQmlBoundSignalExpression::evaluate(void**) () at /usr/lib64/qt-jami/lib/libQt6Qml.so.6
#61 0x00007fffec4ba028 in QQmlBoundSignal_callback(QQmlNotifierEndpoint*, void**) () at /usr/lib64/qt-jami/lib/libQt6Qml.so.6
```
# Bug 2
+ Conference show 2 rdv-***
# Observation
https://review.jami.net/c/jami-daemon/+/23689 seems to be a regression fromKateryna KostiukKateryna Kostiuk