Hi,
I have a SW application running on Boundary Devices Nitrogen6xQP_MAX board with embedded Linux system (Yocto project, Morty branch). GUI is created in Qt and there is a Gstreamer pipeline like this (very simplified):
-> live video sink (imxeglvivsink)
rtsp input -> tee -> I. recording bin (imxvpuenc_h264 -> splitmuxsink)
-> II. recording bin (imxvpuenc_h264 -> filesink)
I'm able to dynamically connect and disconnect all the bins right from the tee element in HD resolution with no freeze or crash. However, I have a setting screen (fullscreen size) and when I open this screen and close it, the live video sink freezes, Gst_Debug outputs
0:02:18.821705683 1639 0x67e0a350 ERROR imxvpuapi imxvpuapi_vpulib.c:514:default_dmabufalloc_allocate: allocating 1612801 bytes of physical memory failed
0:02:18.821983016 1639 0x67e0a350 WARN imxphysmemallocator phys_mem_allocator.c:154:gst_imx_phys_mem_allocator_alloc:<imxvpuallocator2> could not allocate memory block with 1612801 bytes
0:02:18.822171016 1639 0x67e0a350 ERROR imxvpuencoderbase encoder_base.c:466:gst_imx_vpu_encoder_base_set_format:<encRecPrest> could not create new framebuffer array
0:02:18.822334683 1639 0x67e0a350 WARN videoencoder gstvideoencoder.c:623:gst_video_encoder_setcaps:<encRecPrest> rejected caps video/x-raw, width=(int)1280, height=(int)720, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)25/1, format=(string)NV12
and I have to restart the application to make Gstreamer run again. This happens incidentally without any regularity.