12-22-2020 07:14 AM
We have a VCU design that having the below 8-channel VCU configuration in Xilinx Vivado design.
The design is working fine for the below two-channel GST pipeline. but the problem is when we are trying to run it for "multiple GST pipelines > 2" then the pipeline will stop with the following error log.
gst-launch-1.0 rtspsrc location=rtsp:udp/av0_0 latency=0 io-mode=4 ! rtph264depay ! h264parse ! video/x-h264, alignment=nal ! queue ! omxh264dec low-latency=1 ! queue ! videoscale method=0 ! video/x-raw,width=640,height=480 ! videoconvert ! fpsdisplaysink text-overlay=false sync=false async=false
New clock: GstSystemClock Progress: (request) Sending PLAY request 0:00:00.434043220 3031 0x7f980450f0 FIXME default gstutils.c:3981:gst_pad_create_stream_id_internal:<fakesrc0:src> Creating random stream-id, consider implementing a deterministic way od Progress: (request) Sending PLAY request 0:00:00.434787920 3031 0x7f980451e0 FIXME default gstutils.c:3981:gst_pad_create_stream_id_internal:<fakesrc1:src> Creating random stream-id, consider implementing a deterministic way od Progress: (request) Sent PLAY request 0:00:00.479091520 3031 0x55a18984a0 FIXME basesink gstbasesink.c:3156:gst_base_sink_default_event:<fps-display-video_sink-actual-sink-ximage> stream-start event without group-id. Consides 0:00:00.568349560 3031 0x7f7c0030f0 WARN basetransform gstbasetransform.c:1355:gst_base_transform_setcaps:<capsfilter0> transform could not transform video/x-h264, stream-format=(string)bytet 0:00:00.568563360 3031 0x7f7c0030f0 WARN basetransform gstbasetransform.c:1355:gst_base_transform_setcaps:<capsfilter0> transform could not transform video/x-h264, stream-format=(string)bytet 0:00:00.568628400 3031 0x7f7c0030f0 WARN GST_PADS gstpad.c:4226:gst_pad_peer_query:<h264parse0:src> could not send sticky events Redistribute latency... 0:00:00.626050980 3031 0x7f5c005b70 WARN video-info video-info.c:723:gst_video_info_to_caps: invalid matrix 3 for RGB format, using RGB 0:00:00.626682650 3031 0x55a18984a0 WARN basetransfor[ 321.442107] al5d a0020000.al5d: VCU: unavailable resources or wrong configuration m gstbasetransform.c:1355:gst_base_transform_setcaps:<videoscale[ 321.452606] al5d a0020000.al5d: Channel wasn't created. 0> transform could not transform video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)1280, height=(int)720, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(Gstt 0:00:00.627008330 3031 0x55a18984a0 WARN basetransform gstbasetransform.c:1355:gst_base_transform_setcaps:<videoscale0> transform could not transform video/x-raw(memory:GLMemory), format=(stt 0:00:00.627054150 3031 0x55a18984a0 WARN GST_PADS gstpad.c:4226:gst_pad_peer_query:<queue1:src> could not send sticky events 0:00:00.627154230 3031 0x7f5c005b70 WARN videodecoder gstvideodecoder.c:3900:gst_video_decoder_negotiate_pool:<omxh264dec-omxh264dec0> Subclass failed to decide allocation [2020-12-22 12:49:03.313354440] [module_dec.cpp:143] [EndDecoding] decoder: hardware doesn't have enough resources (142) 0:00:00.686795770 3031 0x7f5c005b70 WARN omxvideo gstomxvideo.c:227:gst_omx_video_find_nearest_frame:<omxh264dec-omxh264dec0> Difference between ts (0:00:00.000000000) and frame 0 (0:00) 0:00:00.686949660 3031 0x7f5c005b70 WARN omxvideo gstomxvideo.c:227:gst_omx_video_find_nearest_frame:<omxh264dec-omxh264dec0> Difference between ts (0:00:00.000000000) and frame 0 (0:00) 0:00:00.687062110 3031 0x7f5c005b70 WARN omxvideo gstomxvideo.c:227:gst_omx_video_find_nearest_frame:<omxh264dec-omxh264dec0> Difference between ts (0:00:00.000000000) and frame 0 (0:00) 0:00:00.687172070 3031 0x7f5c005b70 WARN omxvideo gstomxvideo.c:227:gst_omx_video_find_nearest_frame:<omxh264dec-omxh264dec0> Difference between ts (0:00:00.000000000) and frame 0 (0:00) 0:00:00.687271170 3031 0x7f5c005b70 WARN omxvideo gstomxvideo.c:227:gst_omx_video_find_nearest_frame:<omxh264dec-omxh264dec0> Difference between ts (0:00:00.000000000) and frame 0 (0:00) 0:00:00.687361630 3031 0x7f5c005b70 WARN omxvideo gstomxvideo.c:227:gst_omx_video_find_nearest_frame:<omxh264dec-omxh264dec0> Difference between ts (0:00:00.000000000) and frame 0 (0:00) 0:00:00.687439440 3031 0x7f5c005b70 WARN omxvideo gstomxvideo.c:227:gst_omx_video_find_nearest_frame:<omxh264dec-omxh264dec0> Difference between ts (0:00:00.000000000) and frame 0 (0:00) 0:00:00.687518910 3031 0x7f5c005b70 WARN omxvideo gstomxvideo.c:227:gst_omx_video_find_nearest_frame:<omxh264dec-omxh264dec0> Difference between ts (0:00:00.000000000) and frame 0 (0:00) 0:00:00.687597770 3031 0x7f5c005b70 WARN omxvideo gstomxvideo.c:227:gst_omx_video_find_nearest_frame:<omxh264dec-omxh264dec0> Difference between ts (0:00:00.000000000) and frame 0 (0:00) 0:00:00.687676930 3031 0x7f5c005b70 WARN omxvideo gstomxvideo.c:227:gst_omx_video_find_nearest_frame:<omxh264dec-omxh264dec0> Difference between ts (0:00:00.000000000) and frame 0 (0:00) 0:00:00.702678280 3031 0x7f5c001f60 ERROR omx gstomx.c:882:EventHandler:<omxh264dec-omxh264dec0> decoder got error: Component doesn't have enough hardware resources available to pro) 0:00:00.901783330 3031 0x7f98045140 WARN basesrc gstbasesrc.c:3055:gst_base_src_loop:<udpsrc3> error: Internal data stream error. 0:00:01.021281230 3031 0x7f5c005b70 ERROR omx gstomx.c:2499:gst_omx_port_release_buffer:<omxh264dec-omxh264dec0> Released buffer 0x7f4c010170 to decoder port 1: Invalid state (0x800) 0:00:01.021322690 3031 0x7f98045140 WARN basesrc gstbasesrc.c:3055:gst_base_src_loop:<udpsrc3> error: streaming stopped, reason not-linked (-1) [2020-12-22 12:49:03.331348000] [omx_component.cpp:1736] [TreatSetStateCommand] OMX_ALG_ErrorChannelResourceUnavailable [2020-12-22 12:49:03.649974820] [omx_component.cpp:1204] [FillThisBuffer] OMX_ErrorInvalidState 0:00:01.021337850 3031 0x7f5c005b70 ERROR omx gstomx.c:361:gst_omx_component_handle_messages:<omxh264dec-omxh264dec0> decoder got error: Component doesn't have enough hardware resou) 0:00:01.021517420 3031 0x7f5c005b70 WARN omxvideodec gstomxvideodec.c:2382:gst_omx_video_dec_loop:<omxh264dec-omxh264dec0> error: Failed to relase output buffer to component: Invalid state) 0:00:01.021585640 3031 0x55a18984f0 ERROR omx gstomx.c:2303:gst_omx_port_acquire_buffer:<omxh264dec-omxh264dec0> Component decoder is in error state: Component doesn't have enough hl 0:00:01.021677040 3031 0x55a18984f0 WARN omxvideodec gstomxvideodec.c:3694:gst_omx_video_dec_handle_input_buffer:<omxh264dec-omxh264dec0> error: OpenMAX component in error state Component ) ERROR: from element /GstPipeline:pipeline0/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0: Could not configure supporting library. Additional debug info: ../../git/omx/gstomxvideodec.c(2382): gst_omx_video_dec_loop (): /GstPipeline:pipeline0/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0: Failed to relase output buffer to component: Invalid state (0x8000100a) Execution ended after 0:00:00.588343810 Setting pipeline to PAUSED ... Setting pipeline to READY ... 0:00:01.023236710 3031 0x55a1881600 ERROR omx gstomx.c:2558:gst_omx_port_set_flushing:<omxh264dec-omxh264dec0> Component decoder is in error state: Component doesn't have enough har) 0:00:01.023382600 3031 0x55a1881600 ERROR omx gstomx.c:2059:gst_omx_component_get_parameter:<omxh264dec-omxh264dec0> Got decoder parameter at index 0x02000001: Invalid state (0x8000) 0:00:01.023430280 3031 0x55a1881600 ERROR omx gstomx.c:2645:gst_omx_port_set_flushing:<omxh264dec-omxh264dec0> Set decoder port 0 to flushing: Component doesn't have enough hardware) [2020-12-22 12:49:03.652095490] [omx_component.cpp:785] [GetParameter] OMX_IndexParamPortDefinition: OMX_ErrorInvalidState 0:00:01.023472800 3031 0x55a1881600 ERROR omx gstomx.c:2558:gst_omx_port_set_flushing:<omxh264dec-omxh264dec0> Component decoder is in error state: Component doesn't have enough har) 0:00:01.357043610 3031 0x55a1881600 ERROR omx gstomx.c:2059:gst_omx_component_get_parameter:<omxh264dec-omxh264dec0> Got decoder parameter at index 0x02000001: Invalid state (0x8000) [2020-12-22 12:49:03.985723320] [omx_component.cpp:785] [GetParameter] OMX_IndexParamPortDefinition: OMX_ErrorInvalidState 0:00:01.357106540 3031 0x55a1881600 ERROR omx gstomx.c:2645:gst_omx_port_set_flushing:<omxh264dec-omxh264dec0> Set decoder port 1 to flushing: Component doesn't have enough hardware) 0:00:01.357214390 3031 0x55a1881600 ERROR omx gstomx.c:2558:gst_omx_port_set_flushing:<omxh264dec-omxh264dec0> Component decoder is in error state: Component doesn't have enough har) 0:00:01.357317490 3031 0x55a1881600 ERROR omx gstomx.c:2059:gst_omx_component_get_parameter:<omxh264dec-omxh264dec0> Got decoder parameter at index 0x02000001: Invalid state (0x8000) 0:00:01.357362770 3031 0x55a1881600 ERROR omx gstomx.c:2645:gst_omx_port_set_flushing:<omxh264dec-omxh264dec0> Set decoder port 0 to flushing: Component doesn't have enough hardware) [2020-12-22 12:49:03.986036280] [omx_component.cpp:785] [GetParameter] OMX_IndexParamPortDefinition: OMX_ErrorInvalidState 0:00:01.357404250 3031 0x55a1881600 ERROR omx gstomx.c:2558:gst_omx_port_set_flushing:<omxh264dec-omxh264dec0> Component decoder is in error state: Component doesn't have enough har) 0:00:01.357501620 3031 0x55a1881600 ERROR omx gstomx.c:2059:gst_omx_component_get_parameter:<omxh264dec-omxh264dec0> Got decoder parameter at index 0x02000001: Invalid state (0x8000) 0:00:01.357557220 3031 0x55a1881600 ERROR omx gstomx.c:2645:gst_omx_port_set_flushing:<omxh264dec-omxh264dec0> Set decoder port 1 to flushing: Component doesn't have enough hardware) [2020-12-22 12:49:03.986220710] [omx_component.cpp:785] [GetParameter] OMX_IndexParamPortDefinition: OMX_ErrorInvalidState 0:00:01.357673100 3031 0x55a1881600 ERROR omx gstomx.c:1399:gst_omx_component_get_state:<omxh264dec-omxh264dec0> Component decoder in error state: Component doesn't have enough hard) 0:00:01.357717440 3031 0x55a1881600 ERROR omx gstomx.c:1399:gst_omx_component_get_state:<omxh264dec-omxh264dec0> Component decoder in error state: Component doesn't have enough hard) Setting pipeline to NULL ... 0:00:01.358862350 3031 0x55a1898590 WARN rtspsrc gstrtspsrc.c:5915:gst_rtsp_src_receive_response:<rtspsrc0> receive interrupted 0:00:01.358902430 3031 0x55a1898590 WARN rtspsrc gstrtspsrc.c:8242:gst_rtspsrc_pause:<rtspsrc0> PAUSE interrupted 0:00:01.398709150 3031 0x55a1881600 ERROR omx gstomx.c:1399:gst_omx_component_get_state:<omxh264dec-omxh264dec0> Component decoder in error state: Component doesn't have enough hard) 0:00:01.692509250 3031 0x55a1881600 ERROR omx gstomx.c:1376:gst_omx_component_set_state:<omxh264dec-omxh264dec0> Error setting decoder state from Executing to Loaded: Invalid state ) 0:00:01.692562640 3031 0x55a1881600 ERROR omx gstomx.c:3010:gst_omx_port_deallocate_buffers_unlocked:<omxh264dec-omxh264dec0> Component decoder in error state: Component doesn't hav) 0:00:01.692717230 3031 0x55a1881600 ERROR omx gstomx.c:2059:gst_omx_component_get_parameter:<omxh264dec-omxh264dec0> Got decoder parameter at index 0x02000001: Invalid state (0x8000) 0:00:01.692763620 3031 0x55a1881600 ERROR omx gstomx.c:3062:gst_omx_port_deallocate_buffers_unlocked:<omxh264dec-omxh264dec0> Deallocated buffers of decoder port 0: Component doesn') 0:00:01.695793050 3031 0x55a1881600 ERROR omx gstomx.c:3010:gst_omx_port_deallocate_buffers_unlocked:<omxh264dec-omxh264dec0> Component decoder in error state: Component doesn't hav) 0:00:01.696082960 3031 0x55a1881600 ERROR omx gstomx.c:3025:gst_omx_port_deallocate_buffers_unlocked:<omxh264dec-omxh264dec0> Trying to free used buffer 0x7f4c010170 of decoder port1 0:00:01.696268640 3031 0x55a1881600 ERROR omx gstomx.c:2059:gst_omx_component_get_parameter:<omxh264dec-omxh264dec0> Got decoder parameter at index 0x02000001: Invalid state (0x8000) 0:00:01.696315870 3031 0x55a1881600 ERROR omx gstomx.c:3062:gst_omx_port_deallocate_buffers_unlocked:<omxh264dec-omxh264dec0> Deallocated buffers of decoder port 1: Component doesn') 0:00:01.696510450 3031 0x55a1881600 ERROR omx gstomx.c:2059:gst_omx_component_get_parameter:<omxh264dec-omxh264dec0> Got decoder parameter at index 0x02000001: Invalid state (0x8000) 0:00:01.696608330 3031 0x55a1881600 ERROR omx gstomx.c:2059:gst_omx_component_get_parameter:<omxh264dec-omxh264dec0> Got decoder parameter at index 0x02000001: Invalid state (0x8000) [2020-12-22 12:49:04.321179820] [omx_component.cpp:419] [SendCommand] OMX_ErrorInvalidState [2020-12-22 12:49:04.321433780] [omx_component.cpp:785] [GetParameter] OMX_IndexParamPortDefinition: OMX_ErrorInvalidState [2020-12-22 12:49:04.324985600] [omx_component.cpp:785] [GetParameter] OMX_IndexParamPortDefinition: OMX_ErrorInvalidState [2020-12-22 12:49:04.325231050] [omx_component.cpp:785] [GetParameter] OMX_IndexParamPortDefinition: OMX_ErrorInvalidState [2020-12-22 12:49:04.325328700] [omx_component.cpp:785] [GetParameter] OMX_IndexParamPortDefinition: OMX_ErrorInvalidState 0:00:01.699902140 3031 0x55a1898590 WARN rtspsrc gstrtspsrc.c:5915:gst_rtsp_src_receive_response:<rtspsrc0> receive interrupted 0:00:01.699976110 3031 0x55a1898590 WARN rtspsrc gstrtspsrc.c:7669:gst_rtspsrc_close:<rtspsrc0> TEARDOWN interrupted Freeing pipeline ...
Could anyone can suggest what wrong is happening when trying to run multiple GST streams.
01-07-2021 02:05 AM
Hello @deepg799
In the VCU IP GUI, you should do configuration for the worst case bandwidth requirement. Can you configure the IP and resolution tab for 4K and FPS as 60?
IP avails resources as per the configuration you have done inside the IP GUI.
can you tell us what are the different resolution of pipeline you are running?
Can you confirm if
01-07-2021 09:14 PM
The vcu IP is configured for 1080p and the pipeline is also running on the same resolution.