diff --git a/server/src/video.rs b/server/src/video.rs index 4b600e9..152a8bf 100644 --- a/server/src/video.rs +++ b/server/src/video.rs @@ -324,17 +324,22 @@ impl WebcamSink { .field("width", width) .field("height", height) .field("framerate", gst::Fraction::new(fps, 1)) + .field("pixel-aspect-ratio", gst::Fraction::new(1, 1)) + .field("colorimetry", "2:4:7:1") .build(); src.set_caps(Some(&caps_mjpeg)); let queue = gst::ElementFactory::make("queue").build()?; + let capsfilter = gst::ElementFactory::make("capsfilter") + .property("caps", &caps_mjpeg) + .build()?; let sink = gst::ElementFactory::make("v4l2sink") .property("device", &uvc_dev) .property("sync", &false) .build()?; - pipeline.add_many(&[src.upcast_ref(), &queue, &sink])?; - gst::Element::link_many(&[src.upcast_ref(), &queue, &sink])?; + pipeline.add_many(&[src.upcast_ref(), &queue, &capsfilter, &sink])?; + gst::Element::link_many(&[src.upcast_ref(), &queue, &capsfilter, &sink])?; } else { let caps_h264 = gst::Caps::builder("video/x-h264") .field("stream-format", "byte-stream")