jami-daemon issueshttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues2020-08-12T14:53:31Zhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/272Sound & Conference: Adding somebody cut the sound during 2/3 seconds2020-08-12T14:53:31ZSébastien BlinSound & Conference: Adding somebody cut the sound during 2/3 seconds# Reproduce steps
+ Add someone in the conference
# Expected result
The sound should continue
# Current result
Sometimes, during a few seconds the sound is cut# Reproduce steps
+ Add someone in the conference
# Expected result
The sound should continue
# Current result
Sometimes, during a few seconds the sound is cutItération 20Sébastien BlinMohamed ChibaniSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/200ffmpeg: add G726, iLBC codecs (SIP: no audio in call)2023-12-27T18:07:22ZLinus G.ffmpeg: add G726, iLBC codecs (SIP: no audio in call)I made an internal call via fritz.box and I called myself via the telephone by **600. I heared the ringtone but when I accepted the call, neither of us did hear anything. I'm using Kubuntu 18.04. I guess, these are the important lines in...I made an internal call via fritz.box and I called myself via the telephone by **600. I heared the ringtone but when I accepted the call, neither of us did hear anything. I'm using Kubuntu 18.04. I guess, these are the important lines in the log:
```
[1577674451.545|19511|sipcall.cpp :906 ] [call:3558973192781136] startAllMedia()
[1577674451.545|19511|sip_utils.cpp :203 ] Registered thread 0x7ff0bdff6dd0 (0x4C36)
[1577674451.546|19511|sdp.cpp :599 ] Could not find rtpmap attribute
[1577674451.546|19511|sdp.cpp :599 ] Could not find rtpmap attribute
[1577674451.546|19511|sdp.cpp :616 ] Could not find codec G726-32
[1577674451.546|19511|sdp.cpp :616 ] Could not find codec G726-32
[1577674451.546|19511|sdp.cpp :616 ] Could not find codec G726-40
[1577674451.546|19511|sdp.cpp :616 ] Could not find codec G726-24
[1577674451.546|19511|sdp.cpp :616 ] Could not find codec iLBC
[1577674451.546|19511|sdp.cpp :616 ] Could not find codec telephone-event
[1577674451.546|19511|sipcall.cpp :956 ] [call:3558973192781136] [SDP:slot#0] Missing remote codec
[1577674451.546|19511|video_rtp_session.cpp:91 ] No socket pair, keyframe request callback not possible
```
Full log: https://pastebin.com/RtTvcmBY
Kind regardsPierre LespagnolPierre Lespagnolhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/13Add PipeWire support on Linux2024-03-22T15:44:49ZannaAdd PipeWire support on LinuxTo quote the PipeWire website (https://pipewire.org/#about):
"PipeWire is a project that aims to greatly improve handling of audio and video under Linux. It aims to support the usecases currently handled by both PulseAudio and Jack and ...To quote the PipeWire website (https://pipewire.org/#about):
"PipeWire is a project that aims to greatly improve handling of audio and video under Linux. It aims to support the usecases currently handled by both PulseAudio and Jack and at the same time provide same level of powerful handling of Video input and output. It also introduces a security model that makes interacting with audio and video devices from containerized applications easy, with supporting Flatpak applications being the primary goal. Alongside Wayland and Flatpak we expect PipeWire to provide a core building block for the future of Linux application development.
Features include:
* Capture and playback of audio and video with minimal latency.
* Real-time Multimedia processing on audio and video.
* Multiprocess architecture to let applications share multimedia content.
* GStreamer plugins for easy use and integration in current applications.
* Sandboxed applications support.
See Flatpak for more info."
@pgorley What do you think?François-Simon Fauteux-ChapleauFrançois-Simon Fauteux-Chapleauhttps://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-daemon/-/issues/914Video bitrate adjustment improvements2023-11-09T13:45:43ZAlexander Lussier-CullenVideo bitrate adjustment improvementsCurrently, the video bitrate adjustment functionality doesn't perform optimally.
When losses are detected, the bitrate is reduced.
The problem is that it can then immediately be increased again, repeating the losses.
This means that i...Currently, the video bitrate adjustment functionality doesn't perform optimally.
When losses are detected, the bitrate is reduced.
The problem is that it can then immediately be increased again, repeating the losses.
This means that if losses are consistent due to some network limitation, they will repeatedly occur without end.https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/890Call-Swarm fix audio binding2023-09-14T17:39:14ZSébastien BlinCall-Swarm fix audio binding# Scenario
+ Alice hosts a call-swarm between Alice/Bob/Carla
# Expected result
+ Bob should hear carla
# Current result
+ Carla and Bob can't communicate by audio, but Alice got all audio# Scenario
+ Alice hosts a call-swarm between Alice/Bob/Carla
# Expected result
+ Bob should hear carla
# Current result
+ Carla and Bob can't communicate by audio, but Alice got all audioCapucine BerthetSébastien BlinCapucine Berthethttps://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/795Call in large groups - multi-host?2023-01-07T14:02:03ZSébastien BlinCall in large groups - multi-host?If we remove the limit for swarm, creating a call may have issue for the hosts as they will be able to receive and host thousands of calls.If we remove the limit for swarm, creating a call may have issue for the hosts as they will be able to receive and host thousands of calls.2023-12-31https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/752Windows: offer full fps range for video camera2022-12-23T20:29:35ZSébastien BlinWindows: offer full fps range for video cameraEg from https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/747
```
$ ffmpeg -f dshow -list_options true -i video="ManyCam Virtual Webcam"
[dshow @ 000001F46BD265C0] DirectShow video device options (from video devices)
[dsho...Eg from https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/747
```
$ ffmpeg -f dshow -list_options true -i video="ManyCam Virtual Webcam"
[dshow @ 000001F46BD265C0] DirectShow video device options (from video devices)
[dshow @ 000001F46BD265C0] Pin "Capture" (alternative pin name "0")
[dshow @ 000001F46BD265C0] pixel_format=yuyv422 min s=1920x1080 fps=0.015625 max s=1920x1080 fps=60.0002
[dshow @ 000001F46BD265C0] pixel_format=yuyv422 min s=1600x1200 fps=0.015625 max s=1600x1200 fps=60.0002
```
Jami only displays 60fps (max fps). However with some modification we can offer the range 1,5,10,15...60
I think it's not important as anyway the virtual camera will probably be encoded to 60fps by the original app anyway, and codec will already do optimize, so the data reduction will be minor.https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/723Mediademuxer: buffer can increase2022-02-16T21:47:04ZSébastien BlinMediademuxer: buffer can increaseIn MediaDemuxer::decode():
`av_read_frame` only return one frame of the video buffer. However, if the CPU is too slow to decode (should not happen, but still), frames can just be stored and the video buffer can increase with a big maxim...In MediaDemuxer::decode():
`av_read_frame` only return one frame of the video buffer. However, if the CPU is too slow to decode (should not happen, but still), frames can just be stored and the video buffer can increase with a big maximum.
This should never happen. If the video buffer gets too big, the video will have a big delay.
But we also should not hide other problems. So, potential solution:
Check the size of the internal video buffer and log if too big before flushing.https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/693Provide parameters for pulseaudio's echo-cancel-module2022-12-30T20:58:13ZAmin BandaliProvide parameters for pulseaudio's echo-cancel-moduleWe currently don't set any additional arguments for pulseaudio's echo canceller module:
https://git.jami.net/savoirfairelinux/ring-daemon/-/blob/504e54608267a257e14acc84daea236b1fd4f85a/src/media/audio/pulseaudio/audiostream.cpp#L59
V...We currently don't set any additional arguments for pulseaudio's echo canceller module:
https://git.jami.net/savoirfairelinux/ring-daemon/-/blob/504e54608267a257e14acc84daea236b1fd4f85a/src/media/audio/pulseaudio/audiostream.cpp#L59
Various GNU/Linux distributions such as Debian and its derivatives don't load the echo canceller module in `/etc/pulseaudio/default.pa` at all or with any additional parameters, so we can't rely on that.
We should look into providing additional arguments -- like the ones below -- ourselves when creating the pulseaudio stream.
For reference: example of loading the echo canceller module with additional arguments in a pulseaudio config file (thanks @atraczyk):
```
load-module module-echo-cancel use_volume_sharing=1 use_master_format=1 aec_method=webrtc aec_args="digital_gain_control=1 experimental_agc=1 analog_gain_control=0 noise_suppression=1 voice_detection=1 extended_filter=1" source_name=echoCancel_source sink_name=echoCancel_sink
```https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/626Mediademuxer: buffer can increase2021-12-23T21:58:11ZSébastien BlinMediademuxer: buffer can increaseIn MediaDemuxer::decode():
`av_read_frame` only return one frame of the video buffer. However, if the CPU is too slow to decode (should not happen, but still), frames can just be stored and the video buffer can increase with a big maxim...In MediaDemuxer::decode():
`av_read_frame` only return one frame of the video buffer. However, if the CPU is too slow to decode (should not happen, but still), frames can just be stored and the video buffer can increase with a big maximum.
This should never happen. If the video buffer gets too big, the video will have a big delay.
But we also should not hide other problems. So, potential solution:
Check the size of the internal video buffer and log if too big before flushing.https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/621Provide parameters for pulseaudio's echo-cancel-module2022-01-04T16:03:10ZAmin BandaliProvide parameters for pulseaudio's echo-cancel-moduleWe currently don't set any additional arguments for pulseaudio's echo canceller module:
https://git.jami.net/savoirfairelinux/ring-daemon/-/blob/504e54608267a257e14acc84daea236b1fd4f85a/src/media/audio/pulseaudio/audiostream.cpp#L59
V...We currently don't set any additional arguments for pulseaudio's echo canceller module:
https://git.jami.net/savoirfairelinux/ring-daemon/-/blob/504e54608267a257e14acc84daea236b1fd4f85a/src/media/audio/pulseaudio/audiostream.cpp#L59
Various GNU/Linux distributions such as Debian and its derivatives don't load the echo canceller module in `/etc/pulseaudio/default.pa` at all or with any additional parameters, so we can't rely on that.
We should look into providing additional arguments -- like the ones below -- ourselves when creating the pulseaudio stream.
For reference: example of loading the echo canceller module with additional arguments in a pulseaudio config file (thanks @atraczyk):
```
load-module module-echo-cancel use_volume_sharing=1 use_master_format=1 aec_method=webrtc aec_args="digital_gain_control=1 experimental_agc=1 analog_gain_control=0 noise_suppression=1 voice_detection=1 extended_filter=1" source_name=echoCancel_source sink_name=echoCancel_sink
```https://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/342Recording issues2021-02-03T20:42:51ZPierre LespagnolRecording issues* [x] Audio or video cut off too soon #40
* [ ] Client crashes #1218
* [ ] Recording stop after change of input #236
* [ ] Use acceleration for recording #237
* [ ] Jami daemon crash when streaming a recorded file #270* [x] Audio or video cut off too soon #40
* [ ] Client crashes #1218
* [ ] Recording stop after change of input #236
* [ ] Use acceleration for recording #237
* [ ] Jami daemon crash when streaming a recorded file #270Iteration 27Pierre LespagnolPierre Lespagnolhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/271Sound & Conference: jerky sound when mixing2020-07-29T18:06:13ZSébastien BlinSound & Conference: jerky sound when mixing**TODO** I am investigating this to understand what's the real problem**TODO** I am investigating this to understand what's the real problemItération 20Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/223Audio lost after 5min2020-08-14T17:10:41ZGuillaume HellerAudio lost after 5minIn some cases (not identified yet), the audio is lost exactly after 5min.
It can also happens that the video freezes, but the audio remains.In some cases (not identified yet), the audio is lost exactly after 5min.
It can also happens that the video freezes, but the audio remains.Iteration 18Mohamed ChibaniMohamed Chibanihttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/184add support for jack audio connection kit2021-07-16T18:10:57Zjoinlawadd support for jack audio connection kitadding support for jack audio connection kit
a low-latency audio server
http://www.jackaudio.org/adding support for jack audio connection kit
a low-latency audio server
http://www.jackaudio.org/https://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).