New Nv* Data Structures in custom plugin to be pushed downstream

Hi,
Sorry for a late response,
Here are some points you need to implement:

// Create NvBufSurface
NvBufSurface *surf;
NvBufSurfaceCreate(&surf, …);
//Create a GstBuf wrapper over the NvBufSurface
gst_buffer_new_wrapped_full (0, *surf, sizeof(NvBufSurface), 0, sizeof(NvBufSurface), NULL, NULL);
// Create batch meta
batch_meta = nvds_create_batch_meta(mux->batch_size);
meta = gst_buffer_add_nvds_meta (out_buf, batch_meta, NULL,
nvds_batch_meta_copy_func, nvds_batch_meta_release_func);
meta->meta_type = NVDS_BATCH_GST_META;
batch_meta->base_meta.batch_meta = batch_meta;
batch_meta->base_meta.copy_func = nvds_batch_meta_copy_func;
batch_meta->base_meta.release_func = nvds_batch_meta_release_func;
batch_meta->max_frames_in_batch = batch_size;
// Create and add frame meta
NvDsFrameMeta *frame_meta = nvds_acquire_frame_meta_from_pool(batch_meta);
nvds_add_frame_meta_to_batch(batch_meta, frame_meta);
// Some important parameters to fill
frame_meta->pad_index
frame_meta->source_id
frame_meta->buf_pts
frame_meta->ntp_timestamp
frame_meta->frame_num
frame_meta->batch_id
frame_meta->source_frame_width
frame_meta->source_frame_height
frame_meta->num_surfaces_per_frame
// members for dewarper like elements
frame_meta->surface_type
frame_meta->surface_index