Hello guys,
we are having a problem with nvarguscamerasrc when running from GStreamer C++. (gst-launch-1.0 works good)
I have my camera src pipeline which is connected with interpipes to other pipelines which display and save to file. Anyway, setting my pipeline to NULL_STATE atfer playing and then to PLAYING_STATE again gives me the following error:
GST_ARGUS: Running with following settings:
Camera index = 1
Camera mode = 0
Output Stream W = 3872 H = 2192
seconds to Run = 0
Frame Rate = 25.999999
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Producer has connected; continuing.
nvbuf_utils: dmabuf_fd -1 mapped entry NOT found
nvbuf_utils: Can not get HW buffer from FD… Exiting…
I can rerun the program and everything is working fine again, but I cannot stop and play the pipeline while running.
My pipeline creation:
nvarguscamerasrc = gst_element_factory_make(“nvarguscamerasrc”, “nvarguscamerasrc”);
cam_src = gst_element_factory_make(“interpipesink”, “cam_src”);
vid_xraw = gst_element_factory_make(“capsfilter”, “vid_xraw”);
pipeline = gst_pipeline_new(“pipeline”);if (!pipeline || !cam_src || !nvarguscamerasrc || !vid_xraw ) { g_printerr ("Not all elements could be created.\n"); return; } gst_bin_add_many (GST_BIN (pipeline), nvarguscamerasrc, vid_xraw, cam_src, NULL); if(gst_element_link_many(nvarguscamerasrc, vid_xraw, cam_src, NULL) != TRUE){ g_printerr ("Elements could not be linked.\n"); gst_object_unref (pipeline); return; } g_object_set(nvarguscamerasrc, "saturation", 2.0, "aeantibanding", 0, "sensor-id", 1, NULL); g_object_set(cam_src, "sync", FALSE, "async", FALSE, NULL); filtercaps = gst_caps_from_string("video/x-raw(memory:NVMM), width=(int)3840, height=(int)2160, format=(string)NV12, framerate=(fraction)26/1"); g_object_set(G_OBJECT (vid_xraw), "caps", filtercaps, NULL); gst_caps_unref(filtercaps);
Can you help me with that?
Best regards,
jb