0

I'm facing an issue with my gstreamer pipeline application on a iMX6Q based board. When I start to record the video input into a file, after a randomly duration, the pipeline freezes a few seconds on the main display before to play again. This phenomenon can occur several times for the same pipeline. The recorded video contain as many "jumps" as freezes that occur.

I have the same issue with a gst-launch build pipeline :

gst-launch-1.0 imxv4l2videosrc ! imxvideoconvert_ipu ! tee name=t t. ! queue ! imxipuvideosink t. ! queue ! vpuenc_h264 bitrate=20000 quant=0 ! matroskamux ! filesink  async=true location=/home/root/exam/noname.mp4

Please, see below the dynamically build pipeline

I have tried with imxvpuenc_h264 with same result.

So I have tried to add DEBUG outputs and add an timeoverlay to catch timestamp, so the issue has occured at 14, 24, and 44.077 second and below the associated log file : enter gst log

Here is another output that occurs only once but I've never catched it again, but I have noticed that a each "freed block" occurence, the pipeline unfreezes...

0:02:21.136883684 696 0x1fc7d80 INFO imxphysmemallocator phys_mem_allocator.c:190:gst_imx_phys_mem_allocator_free: freed block 0x69203548 at phys addr 0x3c9c0000 with size: 235200 0:02:21.137171351 696 0x1fc7d80 INFO imxphysmemallocator phys_mem_allocator.c:190:gst_imx_phys_mem_allocator_free: freed block 0x69203688 at phys addr 0x3c5c0000 with size: 235200 0:02:21.139984017 696 0x1fc7c30 INFO imxphysmemallocator phys_mem_allocator.c:174:gst_imx_phys_mem_allocator_alloc: allocated memory block 0x6a611ad8 at phys addr 0x3ce40000 with 235200 bytes 0:02:21.478791684 696 0x1fc7c30 INFO imxphysmemallocator phys_mem_allocator.c:174:gst_imx_phys_mem_allocator_alloc: allocated memory block 0x6a611a88 at phys addr 0x3c5c0000 with 235200 bytes 0:02:21.487979017 696 0x1fc7c30 INFO imxphysmemallocator phys_mem_allocator.c:174:gst_imx_phys_mem_allocator_alloc: allocated memory block 0x69202d40 at phys addr 0x3c9c0000 with 235200 bytes 0:02:35.688026352 696 0x1fc7c30 INFO imxphysmemallocator phys_mem_allocator.c:174:gst_imx_phys_mem_allocator_alloc: allocated memory block 0x6a6058a8 at phys addr 0x3ce80000 with 235200 bytes 0:02:35.718750019 696 0x1fc7c30 INFO imxphysmemallocator phys_mem_allocator.c:174:gst_imx_phys_mem_allocator_alloc: allocated memory block 0x69202f70 at phys addr 0x3cec0000 with 235200 bytes 0:02:35.751753019 696 0x1fc7c30 INFO imxphysmemallocator phys_mem_allocator.c:174:gst_imx_phys_mem_allocator_alloc: allocated memory block 0x6a611948 at phys addr 0x3cf00000 with 235200 bytes 0:02:35.785059352 696 0x1fc7c30 INFO imxphysmemallocator phys_mem_allocator.c:174:gst_imx_phys_mem_allocator_alloc: allocated memory block 0x6a6118a8 at phys addr 0x3cf40000 with 235200 bytes 0:02:35.819149686 696 0x1fc7c30 INFO imxphysmemallocator phys_mem_allocator.c:174:gst_imx_phys_mem_allocator_alloc: allocated memory block 0x69203728 at phys addr 0x3cf80000 with 235200 bytes 0:02:35.851361352 696 0x1fc7c30 INFO imxphysmemallocator phys_mem_allocator.c:174:gst_imx_phys_mem_allocator_alloc: allocated memory block 0x6a6119e8 at phys addr 0x3cfc0000 with 235200 bytes 0:02:35.886579019 696 0x1fc7c30 INFO imxphysmemallocator phys_mem_allocator.c:174:gst_imx_phys_mem_allocator_alloc: allocated memory block 0x6a611a38 at phys addr 0x3d000000 with 235200 bytes 0:02:35.918826019 696 0x1fc7c30 INFO imxphysmemallocator phys_mem_allocator.c:174:gst_imx_phys_mem_allocator_alloc: allocated memory block 0x69209da8 at phys addr 0x3d040000 with 235200 bytes 0:02:35.949963686 696 0x1fc7c30 INFO imxphysmemallocator phys_mem_allocator.c:174:gst_imx_phys_mem_allocator_alloc: allocated memory block 0x69209e48 at phys addr 0x3d080000 with 235200 bytes 0:02:35.984716352 696 0x1fc7c30 INFO imxphysmemallocator phys_mem_allocator.c:174:gst_imx_phys_mem_allocator_alloc: allocated memory block 0x69209ee8 at phys addr 0x3d0c0000 with 235200 bytes 0:02:36.018140019 696 0x1fc7c30 INFO imxphysmemallocator phys_mem_allocator.c:174:gst_imx_phys_mem_allocator_alloc: allocated memory block 0x69209f88 at phys addr 0x3d100000 with 235200 bytes 0:02:36.051139686 696 0x1fc7c30 INFO imxphysmemallocator phys_mem_allocator.c:174:gst_imx_phys_mem_allocator_alloc: allocated memory block 0x6a613470 at phys addr 0x3d140000 with 235200 bytes 0:02:36.084571352 696 0x1fc7c30 INFO imxphysmemallocator phys_mem_allocator.c:174:gst_imx_phys_mem_allocator_alloc: allocated memory block 0x6a613510 at phys addr 0x3d180000 with 235200 bytes 0:02:36.117948019 696 0x1fc7c30 INFO imxphysmemallocator phys_mem_allocator.c:174:gst_imx_phys_mem_allocator_alloc: allocated memory block 0x6a6135b0 at phys addr 0x3d1c0000 with 235200 bytes 0:02:36.151357352 696 0x1fc7c30 INFO imxphysmemallocator phys_mem_allocator.c:174:gst_imx_phys_mem_allocator_alloc: allocated memory block 0x6a613650 at phys addr 0x3d200000 with 235200 bytes 0:02:36.184409686 696 0x1fc7c30 INFO imxphysmemallocator phys_mem_allocator.c:174:gst_imx_phys_mem_allocator_alloc: allocated memory block 0x6a6136f0 at phys addr 0x3d240000 with 235200 bytes 0:02:36.217806686 696 0x1fc7c30 INFO imxphysmemallocator phys_mem_allocator.c:174:gst_imx_phys_mem_allocator_alloc: allocated memory block 0x6a613790 at phys addr 0x3d280000 with 235200 bytes 0:02:36.250990019 696 0x1fc7c30 INFO imxphysmemallocator phys_mem_allocator.c:174:gst_imx_phys_mem_allocator_alloc: allocated memory block 0x6a613420 at phys addr 0x3d2c0000 with 235200 bytes 0:02:36.283248686 696 0x1fc7c30 INFO imxphysmemallocator phys_mem_allocator.c:174:gst_imx_phys_mem_allocator_alloc: allocated memory block 0x69209e98 at phys addr 0x466c0000 with 235200 bytes 0:02:36.316750019 696 0x1fc7c30 INFO imxphysmemallocator phys_mem_allocator.c:174:gst_imx_phys_mem_allocator_alloc: allocated memory block 0x6a605b28 at phys addr 0x46700000 with 235200 bytes 0:02:36.349774019 696 0x1fc7c30 INFO imxphysmemallocator phys_mem_allocator.c:174:gst_imx_phys_mem_allocator_alloc: allocated memory block 0x69202de0 at phys addr 0x46740000 with 235200 bytes 0:02:36.383089019 696 0x1fc7c30 INFO imxphysmemallocator phys_mem_allocator.c:174:gst_imx_phys_mem_allocator_alloc: allocated memory block 0x6a611808 at phys addr 0x46780000 with 235200 bytes 0:02:36.416394686 696 0x1fc7c30 INFO imxphysmemallocator phys_mem_allocator.c:174:gst_imx_phys_mem_allocator_alloc: allocated memory block 0x6a613740 at phys addr 0x467c0000 with 235200 bytes 0:02:36.452180686 696 0x1fc7c30 INFO imxphysmemallocator phys_mem_allocator.c:174:gst_imx_phys_mem_allocator_alloc: allocated memory block 0x6a613600 at phys addr 0x46800000 with 235200 bytes 0:02:36.481756019 696 0x1fc7c30 INFO imxphysmemallocator phys_mem_allocator.c:174:gst_imx_phys_mem_allocator_alloc: allocated memory block 0x6a6134c0 at phys addr 0x46840000 with 235200 bytes 0:02:36.516267686 696 0x1fc7c30 INFO imxphysmemallocator phys_mem_allocator.c:174:gst_imx_phys_mem_allocator_alloc: allocated memory block 0x69209f38 at phys addr 0x46880000 with 235200 bytes 0:02:54.977848021 696 0x1fc7c30 INFO imxphysmemallocator phys_mem_allocator.c:174:gst_imx_phys_mem_allocator_alloc: allocated memory block 0x6a613560 at phys addr 0x468c0000 with 235200 bytes 0:02:54.984635355 696 0x1fc7c30 INFO imxphysmemallocator phys_mem_allocator.c:174:gst_imx_phys_mem_allocator_alloc: allocated memory block 0x69209d58 at phys addr 0x46900000 with 235200 bytes 0:02:55.271305021 696 0x1fc7c30 INFO imxphysmemallocator phys_mem_allocator.c:174:gst_imx_phys_mem_allocator_alloc: allocated memory block 0x69209cb8 at phys addr 0x46940000 with 235200 bytes 0:02:55.623891021 696 0x1fc7d80 INFO imxphysmemallocator phys_mem_allocator.c:190:gst_imx_phys_mem_allocator_free: freed block 0x6a6118a8 at phys addr 0x3cf40000 with size: 235200

I hope that someone could help me. Have a nice day.

EDIT 1 : On the bus, there is no message related to state changed when freeze happens, neither other message...

deletMe
  • 65
  • 2
  • 9

1 Answers1

0

As per your command running on board, you are doing 2 works parallelly one is sink to display and one encoding then saving to a file. So have tested separately both pipelines will work if you do them one by one?

I just remember when I was using NXP-based imx6Q there is some memory-related size allocation in dtsi file inside VPU or in uboot we are setting. Please check their mem_size and try to increase the size then check. Maybe that will help you.

Thanks

Ritesh
  • 1
  • 2
  • Hi @Ritesh, Thank you for this input, I was about to check as you suggested separated pipeline. – deletMe Jun 13 '22 at 08:52