<div dir="ltr">Hi,<br><div><br></div>Have you tried to use gst_bus_set_sync_handler?<div><br><div>Thanks,</div><div>Ilya</div></div><div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Mar 31, 2021 at 1:30 PM Townsheriff <<a href="mailto:arturs.valenieks@gmail.com">arturs.valenieks@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hey,<br>
<br>
I'm writing a small application where I want to start a pipeline when a<br>
device is connected. To detect device I'm using DeviceMonitor api. I'm<br>
having trouble receiving an event from `gst_bus_add_watch_full`, but it<br>
works fine if I do it with timed iteration `gst_bus_timed_pop`. I was<br>
following  this<br>
<http://(<a href="https://gstreamer.freedesktop.org/documentation/gstreamer/gstdevicemonitor.html?gi-language=c" rel="noreferrer" target="_blank">https://gstreamer.freedesktop.org/documentation/gstreamer/gstdevicemonitor.html?gi-language=c</a>>  <br>
tutorial. <br>
<br>
What I'm doing wrong here?<br>
<br>
<br>
fn main() -> Result<(), Error> {<br>
    gst::init();<br>
<br>
    let monitor = gst::DeviceMonitor::new();<br>
    monitor.set_show_all_devices(true);<br>
<br>
    let bus = monitor.get_bus();<br>
<br>
    let r = bus.add_watch(|bus, msg| { // never called<br>
        println!("WATCH Message {:?}", &msg);<br>
<br>
        Continue(true)<br>
    });<br>
<br>
    println!("result {:?}", r);<br>
<br>
<br>
    let caps = gst::Caps::new_any();<br>
    monitor.add_filter(None, Some(&caps));<br>
<br>
    monitor.start();<br>
<br>
    monitor.get_providers()<br>
        .into_iter().for_each(|provider| println!("provider {:?}",<br>
String::from(provider)));<br>
<br>
    let devices =monitor.get_devices();<br>
    println!("devices {:?}", &devices);<br>
<br>
    for msg in bus.iter_timed(gst::CLOCK_TIME_NONE) { // works fine<br>
        println!("Message iter {:?}", &msg);<br>
    }<br>
<br>
    Ok(())<br>
}<br>
<br>
<br>
Cheers!<br>
<br>
<br>
<br>
<br>
--<br>
Sent from: <a href="http://gstreamer-devel.966125.n4.nabble.com/" rel="noreferrer" target="_blank">http://gstreamer-devel.966125.n4.nabble.com/</a><br>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
</blockquote></div>