Hello,
I have write a pipeline in c++ that connects to camera and write image. I want to update resolution and framerate during pipeline in running state.
gst-launch-1.0 nvarguscamerasrc sensor-id=1 sensor-mode=3 \
! 'video/x-raw(memory:NVMM), width=3840, height=2160, format=(string)NV12, framerate=(fraction)30/1' \
! nvvidconv ! nvjpegenc ! multifilesink location=test%d.jpg
I tried to add filter object, between src and nvvidconv but it gave an error.
caps = gst_caps_from_string(“video/x-raw(memory:NVMM) , width=1920, height=1080, format=(string)NV12, framerate=(fraction)10/1”);
g_object_set(G_OBJECT(filter), “caps”, caps, NULL);
gst_caps_unref(caps);
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, execute:543
I have also tried to stop pipeline with this command.
gst_element_send_event(pipeline, gst_event_new_eos())
then succesfult restart same pipeline with new framerate value but when I tried to update frame rate again, this time it didn’t stopped.
What is the proper way of updating frame rate and width height values?
By the way, I can update all nvarguscamerasrc parameters on the fly without any problem.