diff --git a/gstreamer/src/sample.rs b/gstreamer/src/sample.rs index 35d39da6e..cf45d7508 100644 --- a/gstreamer/src/sample.rs +++ b/gstreamer/src/sample.rs @@ -50,6 +50,20 @@ impl GstRc { )) } } + + pub fn with_buffer_list( + buffer_list: Option<&BufferList>, + caps: Option<&Caps>, + segment: Option<&FormattedSegment>, + info: Option<&StructureRef>, + ) -> Self { + assert_initialized_main_thread!(); + let sample = Self::new(None, caps, segment, info); + unsafe { + ffi::gst_sample_set_buffer_list(sample.to_glib_none().0, buffer_list.to_glib_none().0); + } + sample + } } impl SampleRef {