**• Hardware Platform Jetson **
• DeepStream Version 6.1.1
• JetPack Version 5.0.2
• Issue Type( questions)
My pipeline is a peoplenet pgie with tracker, nvdsanalytics.
I have a probe as follow,it tend to encode jpeg image every 10 frame.
I want to show detection line and boundingbox so I put this probe after nvosd.
The pipeline after nvdsanalytics is [ queue → nvvideoconvert → nvosd → fake_sink ]
However this pipeline will crash with Segmentation fault in Jetson. But in dGPU it work fine.
Additionally, If I put this before nvvideoconvert process data, everything work fine.
I also notice when this program run on jetson will repeatedly report this warning. Again, dGPU did not get this warning.
26462 0xfffeec019b00 WARN bufferpool gstbufferpool.c:1235:default_reset_buffer:<nvv4l2decoder0:pool:sink> Buffer 0xfffeec0357e0 without the memory tag has maxsize (0) that is smaller than the configured buffer pool size (4194304). The buffer will be not be reused. This is most likely a bug in this GstBufferPool subclass
Is this a software bug, or maybe hardware bug or broken hardware?
(This machine is running under around 78 Celsius degree GPU temperature for 7 days.)
static GstPadProbeReturn
snapshot_probe(GstPad * pad, GstPadProbeInfo * info,
gpointer ctx){
GstBuffer *buf = (GstBuffer *) info->data;
NvDsBatchMeta *batch_meta = gst_buffer_get_nvds_batch_meta (buf);
GstMapInfo inmap = GST_MAP_INFO_INIT;
if (!gst_buffer_map (buf, &inmap, GST_MAP_READ)) {
GST_ERROR ("input buffer mapinfo failed");
return GST_PAD_PROBE_DROP;
}
NvBufSurface *ip_surf = (NvBufSurface *) inmap.data;
gst_buffer_unmap (buf, &inmap);
guint vehicle_count = 0;
guint person_count = 0;
NvDsMetaList *l_frame = NULL;
NvDsObjectMeta *obj_meta = nvds_acquire_obj_meta_from_pool (batch_meta);
NvDsMetaList * l_obj = NULL;
for (l_frame = batch_meta->frame_meta_list; l_frame != NULL;
l_frame = l_frame->next) {
NvDsFrameMeta *frame_meta = (NvDsFrameMeta *) (l_frame->data);
if (frame_meta->frame_num % 10 != 0){
return GST_PAD_PROBE_OK;
}
//obj_meta = (NvDsObjectMeta *) (l_obj->data);
NvDsObjEncUsrArgs frameData = { 0 };
/* To be set by user */
frameData.saveImg = true;
frameData.attachUsrMeta = true;
/* Set if Image scaling Required */
frameData.scaleImg = FALSE;
frameData.scaledWidth = 0;
frameData.scaledHeight = 0;
/* Quality */
frameData.quality = 80;
/* Main Function Call */
sprintf(frameData.fileNameImg, "snapshot/%s/source_%d.jpg", snapshot_folder, frame_meta->source_id);
obj_meta->rect_params.width = 1920;
obj_meta->rect_params.height = 1080;
obj_meta->rect_params.top = 0.0f;
obj_meta->rect_params.left = 0.0f;
//g_print ("encode image %d\n", frame_meta->frame_num);
nvds_obj_enc_process (ctx, &frameData, ip_surf, obj_meta, frame_meta);
///save image
nvds_obj_enc_finish (ctx);
}
return GST_PAD_PROBE_OK;
}