examples: webrtc: Update to gstreamer-rs 0.19 release
[platform/upstream/gstreamer.git] / subprojects / gst-examples / webrtc / sendrecv / gst-rust / src / main.rs
index 65ac876..d935127 100644 (file)
@@ -4,7 +4,7 @@ use std::sync::{Arc, Mutex, Weak};
 
 use rand::prelude::*;
 
-use structopt::StructOpt;
+use clap::Parser;
 
 use async_std::prelude::*;
 use async_std::task;
@@ -40,11 +40,11 @@ macro_rules! upgrade_weak {
     };
 }
 
-#[derive(Debug, StructOpt)]
+#[derive(Debug, clap::Parser)]
 struct Args {
-    #[structopt(short, long, default_value = "wss://webrtc.nirbheek.in:8443")]
+    #[clap(short, long, default_value = "wss://webrtc.nirbheek.in:8443")]
     server: String,
-    #[structopt(short, long)]
+    #[clap(short, long)]
     peer_id: Option<u32>,
 }
 
@@ -466,7 +466,7 @@ impl App {
             return Ok(());
         }
 
-        let decodebin = gst::ElementFactory::make("decodebin", None).unwrap();
+        let decodebin = gst::ElementFactory::make("decodebin").build().unwrap();
         let app_clone = self.downgrade();
         decodebin.connect_pad_added(move |_decodebin, pad| {
             let app = upgrade_weak!(app_clone);
@@ -627,7 +627,7 @@ async fn async_main() -> Result<(), anyhow::Error> {
 
     check_plugins()?;
 
-    let args = Args::from_args();
+    let args = Args::parse();
 
     // Connect to the given server
     let (mut ws, _) = async_tungstenite::async_std::connect_async(&args.server).await?;