Hi folks,
I am currently building an application using a EZSDK 5.05 on a DM8148 platform. The application uses Gstreamer/OMX. It creates 4 omx_mdeiscaler components and each instance of the omx_mdeiscaler performs a cropping function on a 1920x1080 image.
Everything seems to function fine and it is possible to delete and re-create pipelines as required containing the omx_mdeiscaler component.
However, periodically, the pipeline hangs when deleting the omx_deiscaler component.
Looking at the VPSS log, I can see that the MX.TI.VPSSM3.VFPC.DEIMDUALOUT component is reporting the following debug:
N:VPSS P:2 #:35057 T:0000005a4a6975d1 M:xdc.runtime.Main S:Module<OMX.TI.VPSSM3.VFPC.DEIMDUALOUT> Leaving<OMX_BASE_SendCommand> @line<669> with error<0:ErrorNone>
N:VPSS P:2 #:35058 T:0000005a4a6babfd M:xdc.runtime.Main S:Module<OMX.TI.VPSSM3.VFPC.DEIMDUALOUT> Entering<OMX_BASE_CmdEventHandler> @line<434>
N:VPSS P:2 #:35059 T:0000005a4a6caff3 M:xdc.runtime.Main S:Module<OMX.TI.VPSSM3.VFPC.DEIMDUALOUT> Entering<OMX_BASE_PROCESS_CmdEvent> @line<526>
N:VPSS P:2 #:35060 T:0000005a4a6d5a5b M:xdc.runtime.Main S:Module<OMX.TI.VPSSM3.VFPC.DEIMDUALOUT> @<OMX_BASE_PROCESS_CmdEvent> @line<538> msg<Processing OMX_CommandStateSet>
N:VPSS P:2 #:35062 T:0000005a4a706d11 M:xdc.runtime.Main S:Entered Function :omxrpc_skel_freebuffer
N:VPSS P:2 #:35061 T:0000005a4a6e0877 M:xdc.runtime.Main S:Module<OMX.TI.VPSSM3.VFPC.DEIMDUALOUT> Entering<_OMX_BASE_HandleStateTransition> @line<316>
N:VPSS P:2 #:35063 T:0000005a4a7474ab M:xdc.runtime.Main S:Module<OMX.TI.VPSSM3.VFPC.DEIMDUALOUT> @<_OMX_BASE_HandleStateTransition> @line<367> msg<Idle to Loaded Transition>
N:VPSS P:2 #:35065 T:0000005a4a76c783 M:xdc.runtime.Main S:VFPC:DEI- Release the context fields
N:VPSS P:2 #:35066 T:0000005a4a7998c5 M:xdc.runtime.Main S:Entered Function :omxrpc_skel_freebuffer
N:VPSS P:2 #:35067 T:0000005a4a7d314b M:xdc.runtime.Main S:VFPC:DEI- Dequeue all the request from driver
N:VPSS P:2 #:35068 T:0000005a4a7e3819 M:xdc.runtime.Main S:1. Nothing to dequeue. Try again!! pending requests=2
N:VPSS P:2 #:35069 T:0000005a4a7ec95d M:xdc.runtime.Main S:VFPC:DEI- Still request pending with driver. Try after sometime.
N:VPSS P:2 #:35070 T:0000005a4a8149b7 M:xdc.runtime.Main S:Entered Function :omxrpc_skel_freebuffer
N:VPSS P:2 #:35071 T:0000005a4a877c2b M:xdc.runtime.Main S:Entered Function :omxrpc_skel_freebuffer
N:VPSS P:2 #:35072 T:0000005a4a8ddd25 M:xdc.runtime.Main S:Entered Function :omxrpc_skel_freebuffer
N:VPSS P:2 #:35073 T:0000005a4a963653 M:xdc.runtime.Main S:Entered Function :omxrpc_skel_freebuffer
N:VPSS P:2 #:35074 T:0000005a4a9d5419 M:xdc.runtime.Main S:Entered Function :omxrpc_skel_freebuffer
N:VPSS P:2 #:35075 T:0000005a4aa5235d M:xdc.runtime.Main S:Entered Function :omxrpc_skel_freebuffer
N:VPSS P:2 #:35076 T:0000005a4aa862e1 M:xdc.runtime.Main S:1. Nothing to dequeue. Try again!! pending requests=2
N:VPSS P:2 #:35077 T:0000005a4aa8f061 M:xdc.runtime.Main S:VFPC:DEI- Still request pending with driver. Try after sometime.
N:VPSS P:2 #:35078 T:0000005a4aa9f8c5 M:xdc.runtime.Main S:VIP-0 PORT-A Dropped Frame Count :1155 Total Capture Frame Count 2680
N:VPSS P:2 #:35079 T:0000005a4ab6dc1b M:xdc.runtime.Main S:Entered Function :omxrpc_skel_freebuffer
N:VPSS P:2 #:35080 T:0000005a4abc8419 M:xdc.runtime.Main S:Entered Function :omxrpc_skel_freebuffer
N:VPSS P:2 #:35081 T:0000005a4ac18563 M:xdc.runtime.Main S:Entered Function :omxrpc_skel_freebuffer
N:VPSS P:2 #:35082 T:0000005a4ac677b9 M:xdc.runtime.Main S:Entered Function :omxrpc_skel_freebuffer
N:VPSS P:2 #:35083 T:0000005a4acb4583 M:xdc.runtime.Main S:Entered Function :omxrpc_skel_freebuffer
N:VPSS P:2 #:35084 T:0000005a4acf13e7 M:xdc.runtime.Main S:VFPC:DEI- Dequeue 1 buffer from driver
N:VPSS P:2 #:35085 T:0000005a4acff66d M:xdc.runtime.Main S:1. Nothing to dequeue. Try again!! pending requests=1
N:VPSS P:2 #:35087 T:0000005a4ad19f31 M:xdc.runtime.Main S:Entered Function :omxrpc_skel_freebuffer
N:VPSS P:2 #:35086 T:0000005a4ad07129 M:xdc.runtime.Main S:VFPC:DEI- Still request pending with driver. Try after sometime.
The driver sits in a loop waiting for the final pending request to be processed before it can stop, but the request never gets processed.
Has anyone ever come across this type of behaviour before?
Is there a way for force any pending requests to be processed/freed immediately?
Is there a way to check that the hardware is functioning correctly?
The HDVPSS version that I am using is version 1.0.1.37.
Any help would be appreciated?
Regards,
Terry