To support audio/video calls in a pulseaudio environment gst-plugins-pulse is a must Reproducible: Always
Created attachment 715008 [details, diff] fix
and media-plugins/gst-plugins-v4l2 is necessary for video support
Hi wkg, Sorry for my lack of responsiveness. I am yet to test this myself, and I expect various issues with that, not related to Dino. Have you achieved working videocalls with Dino by now? Did it need just gst-plugins-pulse and media-plugins/gst-plugins-v4l2, or something else in addition to that?
(In reply to Andrey Utkin from comment #3) > Hi wkg, > > Sorry for my lack of responsiveness. > > I am yet to test this myself, and I expect various issues with that, not > related to Dino. > > Have you achieved working videocalls with Dino by now? > Did it need just gst-plugins-pulse and media-plugins/gst-plugins-v4l2, or > something else in addition to that? gst-plugins-pulse,media-plugins/gst-plugins-v4l2 definitely needed(for buttons calls). I didn’t have a working video call, maybe it’s something else for me, I don’t know.
In addition to gst-plugins-pulse and gst-plugins-v4l2, it seems these are important: Transport level security: Haven't tested whether both are strictly required, but I have seen associated GTK warnings on both and those seem to be highly relevant and desirable. - gst-plugins-srtp - gst-plugins-dtls Video codec: At least one codec is needed in common with the other end of the call, as the codecs are negotiated. - gst-plugins-x264 - gst-plugins-vpx I did not install any specific audio codec deliberately Video output into a window: - gst-plugins-gtk Currently I have this set of GStreamer plugin packages, and video calls with Conversations app have just started to work well: # equery list 'gst-plugins*' * Searching for gst-plugins* ... [IP-] [ ] media-libs/gst-plugins-bad-1.18.4-r1:1.0 [IP-] [ ] media-libs/gst-plugins-base-1.18.4:1.0 [IP-] [ ] media-libs/gst-plugins-good-1.18.4:1.0 [IP-] [ ] media-libs/gst-plugins-ugly-1.18.4:1.0 [IP-] [ ] media-plugins/gst-plugins-dtls-1.18.4:1.0 [IP-] [ ] media-plugins/gst-plugins-gtk-1.18.4:1.0 [IP-] [ ] media-plugins/gst-plugins-pulse-1.18.4:1.0 [IP-] [ ] media-plugins/gst-plugins-srtp-1.18.4:1.0 [IP-] [ ] media-plugins/gst-plugins-v4l2-1.18.4:1.0 [IP-] [ ] media-plugins/gst-plugins-vpx-1.18.4:1.0 [IP-] [ ] media-plugins/gst-plugins-x264-1.18.4:1.0 There still were the following warnings. Most of them due to missing codecs which could otherwise potentially be used - installing gst-plugins-speex and gst-plugins-opus should improve on that. "SRTP decrypt failed" is a bit disturbing but that is something evidently not fatal. (dino:28053): rtp-WARNING **: 16:49:44.681: codec_util.vala:224: opusenc is not supported on this platform (dino:28053): rtp-WARNING **: 16:49:44.682: codec_util.vala:224: opusdec is not supported on this platform (dino:28053): rtp-WARNING **: 16:49:44.682: module.vala:75: No suitable encoder or decoder found for opus (dino:28053): rtp-WARNING **: 16:49:44.682: codec_util.vala:224: speexenc is not supported on this platform (dino:28053): rtp-WARNING **: 16:49:44.682: codec_util.vala:224: speexdec is not supported on this platform (dino:28053): rtp-WARNING **: 16:49:44.682: module.vala:75: No suitable encoder or decoder found for speex (dino:28053): rtp-WARNING **: 16:49:45.431: codec_util.vala:224: vaapih264enc is not supported on this platform (dino:28053): rtp-WARNING **: 16:49:45.433: codec_util.vala:224: vaapih264dec is not supported on this platform (dino:28053): rtp-WARNING **: 16:49:45.433: module.vala:75: No suitable encoder or decoder found for h264 (dino:28053): rtp-WARNING **: 16:49:45.434: codec_util.vala:224: vaapivp9enc is not supported on this platform (dino:28053): rtp-WARNING **: 16:49:45.434: codec_util.vala:224: vaapivp9dec is not supported on this platform (dino:28053): rtp-WARNING **: 16:49:45.435: module.vala:75: No suitable encoder or decoder found for vp9 (dino:28053): rtp-WARNING **: 16:49:45.436: codec_util.vala:224: vaapivp8enc is not supported on this platform (dino:28053): rtp-WARNING **: 16:49:45.436: codec_util.vala:224: vaapivp8dec is not supported on this platform (dino:28053): ice-WARNING **: 16:50:50.162: dtls_srtp.vala:51: SRTP decrypt failed: srtp_err_status_bad_param (3) (dino:28053): ice-WARNING **: 16:50:50.163: dtls_srtp.vala:51: SRTP decrypt failed: srtp_err_status_bad_param (3) (dino:28053): rtp-WARNING **: 16:50:53.687: device.vala:263: v4l2device0-tee still has 1 src pads while being destroyed
Strangely, my test video calls terminate after a few minutes with > (dino:5824): xmpp-vala-WARNING **: 17:11:37.713: session.vala:299: Jingle session terminated: connectivity-error : > Odd for a call between devices on the same LAN. wkg, do you get the same results?
I installed gst-plugins-libnice and the call didn't terminate after a few minutes. Testing more.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ba37afa4406e0cf14e9fb5af84d528f2980ff065 commit ba37afa4406e0cf14e9fb5af84d528f2980ff065 Author: Andrey Utkin <andrey_utkin@gentoo.org> AuthorDate: 2021-10-22 10:39:20 +0000 Commit: Andrey Utkin <andrey_utkin@gentoo.org> CommitDate: 2021-10-22 11:45:15 +0000 net-im/dino: document how to enable video calls Video calls need some runtime dependencies. Video calls are not going to be used by everyone (at least not immediately) so these dependencies are optional. So they go to post-installation notice and not RDEPEND for now. Bug: https://bugs.gentoo.org/795129 Package-Manager: Portage-3.0.20, Repoman-3.0.3 Signed-off-by: Andrey Utkin <andrey_utkin@gentoo.org> net-im/dino/dino-9999.ebuild | 12 +++++++++++- net-im/dino/files/README.gentoo | 23 +++++++++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-)
The linked commit sorts this out for 9999. I am not certain enough yet about the status of videocalls functionality in 0.2.2, if it's in, I might copy 9999 into 0.2.2-r1 a bit later.
I decided to not port the above change to 0.2.2 ebuild. Because 0.2 branch has been branched off master a year ago and doesn't have many important changes related to video calls. I think it's fair to not experiment with enabling video calls in 0.2.2 as there are surely going to be bugs and the advice is going to be "use current master". Closing this ticket.