Hi,
Thanks for the release of DeepStream 4.0!
I just gave it a try with some of my test pipelines on Xavier.
The following worked on EA, but not on GA.
NO CAPS
nvstreammux width=1920 height=1080 batch-size=1 batched-push-timeout=33000000 name=nvmux ! nvinfer config-file-path=dstest1_pgie_config.txt ! nvvideoconvert ! nvdsosd ! nvegltransform ! nveglglessink sync=False \
videotestsrc num-buffers=9000 is-live=true ! "video/x-raw,width=1920,height=1080,framerate=30/1,format=NV12" ! nvvideoconvert ! nvmux.sink_0
Log
deepstream_sdk_v4.0_jetson/sources/apps/sample_apps/deepstream-test1$ gst-launch-1.0 nvstreammux width=1920 height=1080 batch-size=1 batched-push-timeout=33000000 name=nvmux ! nvinfer config-file-path=dstest1_pgie_config.txt ! nvvideoconvert ! nvdsosd ! nvegltransform ! nveglglessink sync=False videotestsrc num-buffers=9000 is-live=true ! "video/x-raw,width=1920,height=1080,framerate=30/1,format=NV12" ! nvvideoconvert ! nvmux.sink_0
Setting pipeline to PAUSED ...
Using winsys: x11
Creating LL OSD context new
0:00:01.040580871 26708 0x558de7e630 INFO nvinfer gstnvinfer.cpp:519:gst_nvinfer_logger:<nvinfer0> NvDsInferContext[UID 1]:initialize(): Trying to create engine from model files
0:00:38.079952770 26708 0x558de7e630 INFO nvinfer gstnvinfer.cpp:519:gst_nvinfer_logger:<nvinfer0> NvDsInferContext[UID 1]:generateTRTModel(): Storing the serialized cuda engine to file at /home/emi/projects/deepstream_sdk_v4.0_jetson/samples/models/Primary_Detector/resnet10.caffemodel_b1_int8.engine
Pipeline is live and does not need PREROLL ...
Got context from element 'eglglessink0': gst.egl.EGLDisplay=context, display=(GstEGLDisplay)NULL;
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Creating LL OSD context new
ERROR: from element /GstPipeline:pipeline0/GstNvStreamMux:nvmux: Input buffer number of surfaces (-336860181) must be equal to mux->num_surfaces_per_frame (1)
Set nvstreammux property num-surfaces-per-frame appropriately
Additional debug info:
/dvs/git/dirty/git-master_linux/deepstream/sdk/src/gst-plugins/gst-nvmultistream/gstnvstreammux.c(308): gst_nvstreammux_chain (): /GstPipeline:pipeline0/GstNvStreamMux:nvmux
Execution ended after 0:00:00.138949701
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
This is simply a NOCAPS version of the followings that work fine.
RGBA
nvstreammux width=1920 height=1080 batch-size=1 batched-push-timeout=33000000 name=nvmux ! nvinfer config-file-path=dstest1_pgie_config.txt ! nvvideoconvert ! nvdsosd ! nvegltransform ! nveglglessink sync=False \
videotestsrc num-buffers=9000 is-live=true ! "video/x-raw,width=1920,height=1080,framerate=30/1,format=NV12" ! nvvideoconvert ! "video/x-raw(memory:NVMM),width=(int)1920,height=(int)1080,format=RGBA" ! nvmux.sink_0
NV12
nvstreammux width=1920 height=1080 batch-size=1 batched-push-timeout=33000000 name=nvmux ! nvinfer config-file-path=dstest1_pgie_config.txt ! nvvideoconvert ! nvdsosd ! nvegltransform ! nveglglessink sync=False \
videotestsrc num-buffers=9000 is-live=true ! "video/x-raw,width=1920,height=1080,framerate=30/1,format=NV12" ! nvvideoconvert ! "video/x-raw(memory:NVMM),width=(int)1920,height=(int)1080,format=NV12" ! nvmux.sink_0
The error message suggests to set num-surfaces-per-frame, but does it make such a difference between WITH and WITHOUT cap?
Thanks.