Hi,
I’m trying to add following appsink into gstreamer pipeline and get the video out from the gst-meet. But pull_sample method not get frames. Could you please tell me what’s wrong in this code?
let bin = gstreamer::Bin::new(None);
let sink_video = gstreamer::ElementFactory::make("appsink", None)?;
bin.add(&sink_video)?;
conference.add_bin(&bin).await?;
let appsink_video: gstreamer_app::AppSink = sink_video
.dynamic_cast::<gstreamer_app::AppSink>()
.expect("Sink element is expected to be an appsink!");
if let Some(video_element) = bin.by_name("video") {
println!("Add remote sink element");
conference
.set_remote_participant_video_sink_element(Some(video_element))
.await;
}
thread::spawn(move || {
loop {
if let sample = appsink_video.pull_sample().map_err(|_| gstreamer::FlowError::Eos) {
println!("appsink => {:?}",sample);
}
}
});