Correctly handle missing webrtc-audio-processing

This commit is contained in:
Marvin W 2021-05-01 16:00:37 +02:00
parent 23ffd37dde
commit d388525fc6
No known key found for this signature in database
GPG key ID: 072E9235DB996F2A
3 changed files with 7 additions and 4 deletions

View file

@ -6,7 +6,7 @@ jobs:
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- run: sudo apt-get update - run: sudo apt-get update
- run: sudo apt-get install -y build-essential gettext cmake valac libgee-0.8-dev libsqlite3-dev libgtk-3-dev libnotify-dev libgpgme-dev libsoup2.4-dev libgcrypt20-dev libqrencode-dev libgspell-1-dev libnice-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libsrtp2-dev - run: sudo apt-get install -y build-essential gettext cmake valac libgee-0.8-dev libsqlite3-dev libgtk-3-dev libnotify-dev libgpgme-dev libsoup2.4-dev libgcrypt20-dev libqrencode-dev libgspell-1-dev libnice-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libsrtp2-dev libwebrtc-audio-processing-dev
- run: ./configure --with-tests --with-libsignal-in-tree - run: ./configure --with-tests --with-libsignal-in-tree
- run: make - run: make
- run: build/xmpp-vala-test - run: build/xmpp-vala-test

View file

@ -132,12 +132,14 @@ public class Dino.Plugins.Rtp.Device : MediaDevice, Object {
filter.@set("caps", get_best_caps()); filter.@set("caps", get_best_caps());
pipe.add(filter); pipe.add(filter);
element.link(filter); element.link(filter);
#if WITH_VOICE_PROCESSOR
if (media == "audio" && plugin.echoprobe != null) { if (media == "audio" && plugin.echoprobe != null) {
dsp = new VoiceProcessor(plugin.echoprobe, element as Gst.Audio.StreamVolume); dsp = new VoiceProcessor(plugin.echoprobe as EchoProbe, element as Gst.Audio.StreamVolume);
dsp.name = @"dsp_$id"; dsp.name = @"dsp_$id";
pipe.add(dsp); pipe.add(dsp);
filter.link(dsp); filter.link(dsp);
} }
#endif
tee = Gst.ElementFactory.make("tee", @"tee_$id"); tee = Gst.ElementFactory.make("tee", @"tee_$id");
tee.@set("allow-not-linked", true); tee.@set("allow-not-linked", true);
pipe.add(tee); pipe.add(tee);

View file

@ -8,7 +8,7 @@ public class Dino.Plugins.Rtp.Plugin : RootInterface, VideoCallPlugin, Object {
public Gst.DeviceMonitor device_monitor { get; private set; } public Gst.DeviceMonitor device_monitor { get; private set; }
public Gst.Pipeline pipe { get; private set; } public Gst.Pipeline pipe { get; private set; }
public Gst.Bin rtpbin { get; private set; } public Gst.Bin rtpbin { get; private set; }
public EchoProbe echoprobe { get; private set; } public Gst.Element echoprobe { get; private set; }
private Gee.List<Stream> streams = new ArrayList<Stream>(); private Gee.List<Stream> streams = new ArrayList<Stream>();
private Gee.List<Device> devices = new ArrayList<Device>(); private Gee.List<Device> devices = new ArrayList<Device>();
@ -71,10 +71,11 @@ public class Dino.Plugins.Rtp.Plugin : RootInterface, VideoCallPlugin, Object {
rtpbin.connect("signal::request-pt-map", request_pt_map, this); rtpbin.connect("signal::request-pt-map", request_pt_map, this);
pipe.add(rtpbin); pipe.add(rtpbin);
#if WITH_VOICE_PROCESSOR
// Audio echo probe // Audio echo probe
// echoprobe = Gst.ElementFactory.make("webrtcechoprobe", "echo-probe");
echoprobe = new EchoProbe(); echoprobe = new EchoProbe();
if (echoprobe != null) pipe.add(echoprobe); if (echoprobe != null) pipe.add(echoprobe);
#endif
// Pipeline // Pipeline
pipe.auto_flush_bus = true; pipe.auto_flush_bus = true;