Part Number: AM62A7
Hi,
I am using an AM62A7 with TI Processor SDK 11.01 and have encountered an issue with the Wave5 hardware encoder for both H.264 and H.265 encoding.
Issue
Whenever v4l2h264enc or v4l2h265enc is used, the GStreamer EOS event does not propagate beyond the hardware encoder.
As a result, when stopping a recording pipeline, qtmux / mp4mux does not receive EOS and cannot finalize the MP4 file. The resulting MP4 file is therefore unplayable.
H.265 reproduction
The following pipeline reproduces the issue:
GST_DEBUG=3 gst-launch-1.0 -e \
videotestsrc ! \
video/x-raw,width=1920,height=1080,format=NV12,framerate=30/1 ! \
v4l2h265enc ! \
h265parse ! \
qtmux ! \
filesink location=test-hw.mp4
The pipeline starts and encodes normally.When I press Ctrl+C, I get:
Handling interrupt.
Interrupt: Stopping pipeline ...
EOS on shutdown enabled -- Forcing EOS on the pipeline
Waiting for EOS...
The pipeline remains indefinitely at:
Waiting for EOS...
A second Ctrl+C is required to terminate gst-launch-1.0.
The generated MP4 is not playable because the EOS/finalization sequence does not complete.
H.265 test without qtmux
I also removed qtmux completely to determine whether the problem was related to MP4 muxing. The same behavior occurs.
Therefore, the issue occurs even without qtmux. This suggests that the EOS/drain operation is getting stuck at or below v4l2h265enc.
H.264
I observe the same behavior with the H.264 hardware encoder.