Hi i am writing a plugin that is going ot receive a video/x-h264 and modify the sei data.
checking the documentation If found this method that is suppose to add data into the sei gst_buffer_add_video_sei_user_data_unregistered_meta and I am using it like this:
fn transform_ip(&self, buf: &mut BufferRef) -> Result<FlowSuccess, FlowError> {
//gst::debug!(CAT,"{:?},{:?}", "transforming Data",&buf.size());
if let Some(metadata) = buf.meta::<VideoSeiUserDataUnregisteredMeta>() {
let data = metadata.data();
gst::debug!(CAT,"Normal: {:?}:{:?}:{:?}", &data.len(),BigEndian::read_i64(&data[0..8]), BigEndian::read_i64(&data[8..16]));
}
let insert = b"Test".as_slice();
VideoSeiUserDataUnregisteredMeta::add(buf, &buf.meta::<VideoSeiUserDataUnregisteredMeta>().unwrap().uuid(), insert);
if let Some(metadata) = buf.meta::<VideoSeiUserDataUnregisteredMeta>() {
let data = metadata.data();
gst::debug!(CAT,"Transformed: {:?}:{:?}:{:?}", &data.len(),BigEndian::read_i64(&data[0..8]), BigEndian::read_i64(&data[8..16]));
}
Ok(FlowSuccess::Ok)
}
But after checking the buffer there is no modification in size or in data.Could you help me how to find the error or if i am miss understanding the function gst_buffer_add_video_sei_user_data_unregistered_meta