Encoding issue Wave5
The snippet can be accessed without any authentication.
Authored by
Sebastian Fricke
A non-deterministic issue was discovered with the Wave5 encoder.
Tested on V9 + necessary changes (DT entry, Kconfig adjustment and get irq change) https://gitlab.collabora.com/chipsnmedia/kernel/-/commits/wave5_V9_base/
TEST COMMAND
for i in 1 2 3 4 5; do echo -e "\nRun $i\n"; gst-launch-1.0 videotestsrc num-buffers=300 ! v4l2h264enc ! h264parse ! qtmux ! filesink location=test.mp4; if [ $? -eq 1 ]; then echo "FAIL"; else echo "CORRECT"; fi; done
So far, I have found three different issues:
- Internal data stream error in gstbasesrc
ERROR: from element /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0: Internal data stream error.
Additional debug info:
../gstreamer-1.16.3/libs/gst/base/gstbasesrc.c(3072): gst_base_src_loop (): /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0:
streaming stopped, reason error (-5)
- Buffer has no PTS
ERROR: from element /GstPipeline:pipeline0/GstQTMux:qtmux0: Could not multiplex stream.
Additional debug info:
../gst-plugins-good-1.16.3/gst/isomp4/gstqtmux.c(4832): gst_qt_mux_add_buffer (): /GstPipeline:pipeline0/GstQTMux:qtmux0:
Buffer has no PTS.
- unsorted double linked list corrupted
(gst-launch-1.0:1541): GStreamer-WARNING **: 19:42:59.748: gst_mini_object_remove_parent: couldn't find parent 0xffff78056000 (object:0x268935a0)
(gst-launch-1.0:1541): GStreamer-CRITICAL **: 19:42:59.748: gst_buffer_unmap: assertion 'GST_IS_BUFFER (buffer)' failed
(gst-launch-1.0:1541): GStreamer-CRITICAL **: 19:42:59.748: gst_mini_object_unlock: assertion 'state >= SHARE_ONE' failed
(gst-launch-1.0:1541): GStreamer-CRITICAL **: 19:42:59.748: gst_pad_push: assertion 'GST_IS_BUFFER (buffer)' failed
malloc(): unsorted double linked list corrupted
Aborted (core dumped)
The issue is not determenistic:
RESULT
Run 1
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Redistribute latency...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Got EOS from element "pipeline0".
Execution ended after 0:00:00.266642819
Setting pipeline to NULL ...
Freeing pipeline ...
CORRECT
Run 2
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Redistribute latency...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
** (gst-launch-1.0:1416): CRITICAL **: 18:41:43.239: gst_video_frame_map_id: assertion 'GST_IS_BUFFER (buffer)' failed
(gst-launch-1.0:1416): GStreamer-CRITICAL **: 18:41:43.239: gst_pad_push: assertion 'GST_IS_BUFFER (buffer)' failed
ERROR: from element /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0: Internal data stream error.
Additional debug info:
../gstreamer-1.16.3/libs/gst/base/gstbasesrc.c(3072): gst_base_src_loop (): /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0:
streaming stopped, reason error (-5)
Execution ended after 0:00:00.013028300
Setting pipeline to NULL ...
Freeing pipeline ...
FAIL
Run 3
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Redistribute latency...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Got EOS from element "pipeline0".
Execution ended after 0:00:00.266707590
Setting pipeline to NULL ...
Freeing pipeline ...
CORRECT
Run 4
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Redistribute latency...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Got EOS from element "pipeline0".
Execution ended after 0:00:00.264410464
Setting pipeline to NULL ...
Freeing pipeline ...
CORRECT
Run 5
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Redistribute latency...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
** (gst-launch-1.0:1428): CRITICAL **: 18:41:44.139: gst_video_frame_map_id: assertion 'GST_IS_BUFFER (buffer)' failed
(gst-launch-1.0:1428): GStreamer-CRITICAL **: 18:41:44.139: gst_pad_push: assertion 'GST_IS_BUFFER (buffer)' failed
ERROR: from element /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0: Internal data stream error.
Additional debug info:
../gstreamer-1.16.3/libs/gst/base/gstbasesrc.c(3072): gst_base_src_loop (): /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0:
streaming stopped, reason error (-5)
Execution ended after 0:00:00.128638867
Setting pipeline to NULL ...
Freeing pipeline ...
FAIL
snippetfile1.txt 54.23 KiB
Please register or sign in to comment