Correctly handle missing webrtc-audio-processing
This commit is contained in:
parent
23ffd37dde
commit
d388525fc6
2
.github/workflows/build.yml
vendored
2
.github/workflows/build.yml
vendored
|
@ -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
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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;
|
||||||
|
|
Loading…
Reference in a new issue