cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
deepg799
Explorer
Explorer
381 Views
Registered: ‎01-20-2019

Xilinx VCU: unavailable resources or wrong configuration | Multiple Streams

We have a VCU design that having the below 8-channel VCU configuration in Xilinx Vivado design.

dec_conf.png


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.

Tags (3)
0 Kudos
2 Replies
kvasantr
Moderator
Moderator
284 Views
Registered: ‎04-12-2017

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 

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
deepg799
Explorer
Explorer
264 Views
Registered: ‎01-20-2019

The vcu IP is configured for 1080p and the pipeline is also running on the same resolution.

0 Kudos