diff --git a/video/gtk4/examples/gtksink.rs b/video/gtk4/examples/gtksink.rs index bf271dd8..867dc1ea 100644 --- a/video/gtk4/examples/gtksink.rs +++ b/video/gtk4/examples/gtksink.rs @@ -42,7 +42,21 @@ fn create_ui(app: >k::Application) { (src, sink) } else { let src = gst::ElementFactory::make("videotestsrc").build().unwrap(); - (src, gtksink) + + let sink = gst::Bin::default(); + let convert = gst::ElementFactory::make("videoconvert").build().unwrap(); + + sink.add(&convert).unwrap(); + sink.add(>ksink).unwrap(); + convert.link(>ksink).unwrap(); + + sink.add_pad( + &gst::GhostPad::with_target(Some("sink"), &convert.static_pad("sink").unwrap()) + .unwrap(), + ) + .unwrap(); + + (src, sink.upcast()) }; pipeline.add_many(&[&src, &overlay, &sink]).unwrap();