diff --git a/flake.nix b/flake.nix index 3cd86d8..42bebd4 100644 --- a/flake.nix +++ b/flake.nix @@ -39,10 +39,10 @@ Some utility commands: openssl gst_all_1.gstreamer gst_all_1.gst-plugins-base - gst_all_1.gst-plugins-good + # gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad # contains gst-webrtc - gst_all_1.gst-plugins-ugly - gst_all_1.gst-plugins-rs + gst_all_1.gst-plugins-ugly # contains x264enc + # gst_all_1.gst-plugins-rs #contains whipclientsink mediamtx ]; cargoHash = nixpkgs.lib.fakeHash; diff --git a/src/main.rs b/src/main.rs index 3dd6b84..24fc879 100644 --- a/src/main.rs +++ b/src/main.rs @@ -2,7 +2,6 @@ use std::sync::{atomic::AtomicBool, Arc}; use anyhow::Error; use gstreamer::{prelude::*, Element, ElementFactory, Pipeline, State}; -use tracing::info; use gstrswebrtc::{signaller::Signallable, webrtcsink::WhipWebRTCSink}; @@ -22,6 +21,7 @@ fn main() -> Result<(), Error> { })?; gstreamer::init()?; + gstrswebrtc::plugin_register_static()?; let pipeline = Pipeline::with_name("rstp-pipeline"); @@ -36,13 +36,12 @@ fn main() -> Result<(), Error> { .name("whip-sink_123059") .build()?; - // THIS IS THE LINE CAUSING THE ERROR - if let Some(whipsink) = whipsink.dynamic_cast_ref::() { - //let signaller = whipsink.property::("signaller"); - //signaller.set_property_from_str( - // "whip-endpoint", - // &format!("http://localhost:{}/whip_sink/{}", 8889, "mystream"), - //); + if let Some(whipsink) = whipsink.dynamic_cast_ref::() { + let signaller = whipsink.property::("signaller"); + signaller.set_property_from_str( + "whip-endpoint", + &format!("http://localhost:{}/{}/whip", 8889, "mystream"), + ); } pipeline.add_many([&source, &convert, &whipsink]).unwrap();