Daniel Brötzmann pushed to branch master at gajim / gajim
Commits:
fc988fe5 by wurstsalat at 2022-06-02T22:41:53+02:00
fix: JingleAudio: Check if webrtcdsp is available
Fixes #10938
- - - - -
1 changed file:
- gajim/common/jingle_rtp.py
Changes:
=====================================
gajim/common/jingle_rtp.py
=====================================
@@ -80,6 +80,11 @@ def __init__(self,
self.p2psession: Optional[Farstream.Session] = None
self.p2pstream: Optional[Farstream.Stream] = None
+ self.available_gst_plugins: list[str] = []
+ gst_plugin_registry = Gst.Registry.get()
+ for plugin in gst_plugin_registry.get_plugin_list():
+ self.available_gst_plugins.append(plugin.get_name())
+
self.callbacks['session-initiate'] += [self.__on_remote_codecs]
self.callbacks['content-add'] += [self.__on_remote_codecs]
self.callbacks['description-info'] += [self.__on_remote_codecs]
@@ -427,23 +432,35 @@ def setup_stream(self) -> None:
# the local parts
# TODO: Add queues?
- self.src_bin = self.make_bin_from_config(
- 'audio_input_device',
- '''%s
- ! webrtcdsp
- echo-suppression-level=high
- noise-suppression-level=very-high
- voice-detection=true
- ! audioconvert ''',
- _('audio input'))
+ if 'webrtcdsp' in self.available_gst_plugins:
+ self.src_bin = self.make_bin_from_config(
+ 'audio_input_device',
+ '''%s
+ ! webrtcdsp
+ echo-suppression-level=high
+ noise-suppression-level=very-high
+ voice-detection=true
+ ! audioconvert ''',
+ _('audio input'))
+ else:
+ self.src_bin = self.make_bin_from_config(
+ 'audio_input_device',
+ '%s ! audioconvert ',
+ _('audio input'))
# setting name=webrtcechoprobe0 is needed because lingering probes
# cause a bug in subsequent calls
- self.sink = self.make_bin_from_config(
- 'audio_output_device',
- 'audioconvert ! volume name=gajim_out_vol ! webrtcechoprobe
name=webrtcechoprobe0 ! %s',
- _('audio output'))
-
+ if 'webrtcdsp' in self.available_gst_plugins:
+ self.sink = self.make_bin_from_config(
+ 'audio_output_device',
+ '''audioconvert ! volume name=gajim_out_vol !
+ webrtcechoprobe name=webrtcechoprobe0 ! %s''',
+ _('audio output'))
+ else:
+ self.sink = self.make_bin_from_config(
+ 'audio_output_device',
+ 'audioconvert ! volume name=gajim_out_vol ! %s',
+ _('audio output'))
self.mic_volume = self.src_bin.get_by_name('gajim_vol')
self.out_volume = self.sink.get_by_name('gajim_out_vol')
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/commit/fc988fe51761a9cd48ec7835c7e287e812f797c1
--
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/commit/fc988fe51761a9cd48ec7835c7e287e812f797c1
You're receiving this email because of your account on dev.gajim.org.
_______________________________________________
Commits mailing list
[email protected]
https://lists.gajim.org/cgi-bin/listinfo/commits