omxh264enc encoded stream doesn't work in all cases (on Zynq UltraScale ZU4EV-VCU)
I'm working on a XILINX ZYNQ Ultrascale+ XCZU4EV with a video acceleration core for H264-encoded udp streams (this core should be used for both directions: encoding and decoding) that can be utilized
by the gstreamer omx-plugins (similar to a Raspberry PI3). On this device I'm using upstream gstreamer 1.16.0, mainline Linux 5.4.0 (+ some cherry picked xilinx patches to make the video acceleration
The h264 udp-stream decoding works perfectly, but the h264 udp encoding doesn't work in all cases:
When I use the following pipeline
With this pipeline, the stream always shows up, independent if the client command is executed before or after the stream is provided.
What's also interesting: When I execute the stream provider pipeline with 'omxh264enc' on the Raspberry PI3 (which also supports omxh264enc) everything is working. Independent, if the client command
is executed before or after the stream started.
I also tried to stream a h264-encoded video:
When I create it with the video acceleration core I get the same behavior (i.e. it depends when the client connects to the stream):
`gst-launch-1.0 videotestsrc background-color=12345 num-buffers=500 pattern=ball ! video/x-raw,width=100,height=50 ! omxh264enc ! h264parse ! matroskamux ! filesink location=omxh264.mkv`
`gst-launch-1.0 filesrc location=omxh264.mkv ! matroskademux ! h264parse config-interval=1 ! rtph264pay ! udpsink host=22.214.171.124 port=50000`
But when I create the matroska-file with x264enc instead of omxh264enc everything works and the stream shows up on the client independent of command order.
Do you have any ideas, how I can fix or further debug this issue?