This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
I am using Jacinto 6 ES 1.0 (DRA7xx) in order to stream Android Auto video from USB connection, for the purpose I simply read the payload and write it to a video buffer, this runs smoothly on many platforms including Raspberry Pi. However, when run on Jacinto 6 ES 1.0, with SDK 5.0.0.01, I am having diffculties with its poor performance as the video is a lot of the time frozen. I think this is because of the fact that ducati gstreamer plugins somehow do not work in my case. To my understanding gstreamer's playbin is optimized in such embedded boards so I only have to make sure gst pipes and plugins are working correctly.
Here is the log:
GST_DEBUG=3 /usr/bin/app -platform eglfs
Unable to query physical screen size, defaulting to 100 dpi.
To override, set QT_QPA_EGLFS_PHYSICAL_WIDTH and QT_QPA_EGLFS_PHYSICAL_HEIGHT (in millimeters).
**0:00:12.856281568 24255 0x4e7320 ERROR 8680.085113] omap-iommu 55082000.mmu: 55082000.mmu: version 2.1
0m ducati gstducatividdec.c:138:engine_open:<decoder> dce_init() failed
0:00:12.856391855 24255 0x4e7320 ERROR ducati gstducatividdec.c:1633:gst_ducati_viddec_change_state:<decoder> could not open
0:00:12.856493195 24255 0x4e7320 WARN decodebin gstdecodebin2.c:2304:connect_pad:<decodebin0> Couldn't set ducatih264decvpe0 to READY
0:00:12.901142151 24255 0x4e7320 ERROR ducati gstducatividdec.c:147:engine_open:<ducatih264dec0> could not create engine
0:00:12.901199084 24255 0x4e7320 ERROR ducati gstducatividdec.c:1633:gst_ducati_viddec_change_state:<ducatih264dec0> could not open
0:00:12.901240075 24255 0x4e7320 WARN decodebin gstdecodebin2.c:2304:connect_pad:<decodebin0> Couldn't set ducatih264dec0 to READY
../git/libdce_linux.c:70: dce_init ERROR: Failed OmapDrm_FD > 0 error val -7../git/libdce.c:485: Engine_open ERROR: Failed engine_open_msg != NULL er1
[2020-01-02 16:32:27.344979] [0xaedff380] [info] [OpenAuto] [AndroidAutoEntity] audio focus state: 1
0:00:13.121756474 24255 0x5d90e0 FIXME bin gstbin.c:4323:gst_bin_query: implement duration caching in GstBin again**
[2020-01-02 16:32:27.527224] [0xaedff380] [info] [OpenAuto] [AudioService] start indication, channel: MEDIA_AUDIO, session: 0
I do not get the above errors when playing an mp4 file:
root@dra7xx-evm:~# GST_DEBUG=3 gst-play-1.0 1.720.mp4
Press 'k' to see a list of keyboard shortcuts.
Now playing /home/root/1.720.mp4
0:00:00.064528407 26028 0x167a60 WARN basesrc gstbasesrc.c:3480:gst_base_src_start_complete:<source> pad not activated yet
0:00:00.065758154 26028 0x167a60 WARN basesrc gstbasesrc.c:3480:gst_base_src_start_complete:<source> pad not activated yet
0:00:00.117791283 26028 0xb5dd0380 WARN qtdemux qtdemux.c:3008:qtdemux_parse_trex:<qtdemux0> failed to find fragment defaults for stream 1
0:00:00.118968490 26028 0xb5dd0380 WARN qtdemux qtdemux.c:3008:qtdemux_parse_trex:<qtdemux0> failed to find fragment defaults for stream 2
0:00:00.120738123 26028 0xb5dd0380 WARN basesrc gstbasesrc.c:2389:gst_base_src_update_length:<source> processing at or past EOS
0:00:00.149919580 26028 0xb5dd0380 WARN pulse pulsesink.c:615:gst_pulseringbuffer_open_device:<pulsesink0> error: Failed to connect: Connection refused
0:00:00.150325592 26028 0xb5dd0380 WARN playbin gstplaybin2.c:4660:autoplug_select_cb:<playbin> Could not activate sink pulsesink
0:00:00.159834177 26028 0xb5dd0380 WARN alsa conf.c:4857:parse_args: alsalib error: Unknown parameter AES0
0:00:00.159875656 26028 0xb5dd0380 WARN alsa conf.c:5017:snd_config_expand: alsalib error: Parse arguments error: No such file or directory
0:00:00.159906562 26028 0xb5dd0380 WARN alsa pcm.c:2501:snd_pcm_open_noupdate: alsalib error: Unknown PCM default:{AES0 0x02 AES1 0x82 AES2 0x00 AES3}
0:00:00.161440982 26028 0x167a60 FIXME bin gstbin.c:4323:gst_bin_query: implement duration caching in GstBin again
[ 8950.610865] omap-iommu 55082000.mmu: 55082000.mmu: version 2.1
0:00:00.619190804 26028 0xb5dd0950 WARN ducati gstducatih264dec.c:415:gst_ducati_h264dec_set_sink_caps:<decoder> num-reorder-frames not found on caps, 5
0:00:00.619280595 26028 0xb5dd0950 WARN ducati gstducatih264dec.c:423:gst_ducati_h264dec_set_sink_caps:<decoder> Using 0 frames for reordering
0:00:00.722923273 26028 0xb5dd0950 WARN ducati gstducatividdec.c:590:codec_process:<decoder> changing max-ref-frames in caps to 13
0:00:00.725435147 26028 0xb40019b0 WARN audio-resampler audio-resampler.c:275:convert_taps_gint32_c: can't find exact taps
I should also add that I have customized tisdk-rootfs-image.bb to have the following. But I think it's only enough to have the "packagegroup-arago-tisdk-multimedia
" package for ducati plugins.
IMAGE_INSTALL += "\
packagegroup-arago-base \
packagegroup-arago-console \
packagegroup-arago-base-tisdk \
packagegroup-arago-test \
packagegroup-arago-test-addons \
${@bb.utils.contains('MACHINE_FEATURES','sgx','packagegroup-arago-tisdk-graphics','',d)} \
${@bb.utils.contains('MACHINE_FEATURES','sgx','packagegroup-arago-tisdk-gtk','',d)} \
packagegroup-arago-tisdk-qte \
packagegroup-arago-tisdk-connectivity \
packagegroup-arago-tisdk-crypto \
packagegroup-arago-tisdk-multimedia \
packagegroup-arago-tisdk-amsdk \
"
I would appreciate if anybody could give me ideas how to fix this problem. May it be patching or appending to yocto packageconfigs for ducati-gst.
Thank you in advance.
Hi Mustafa,
I didn't get what the issue is.
I do not get the above errors when playing an mp4 file: says MP4 playback works.
What is the eglfs does here? We don't support this with linux SDK on dra7xx.
ERROR: Failed OmapDrm_FD > 0
This error means omapdrm is not available .
Thanks
RamPrasad
Hi Mr. Prasad,
Let me explain in detail.
We have a Jacinto 6 ES 1.0 board with SDK 05.00, we use it with Qt-EGLFS applications, as Matrix GUI does, which is supported by TI.
When I try to play mp4 file using gstreamer directly, I do not have a problem.
However, when I try to play a stream from a USB file descriptor in Qt-EGLFS, I do get the aforementioned errors.
GST_DEBUG=3 /usr/bin/app -platform eglfs
Unable to query physical screen size, defaulting to 100 dpi.
To override, set QT_QPA_EGLFS_PHYSICAL_WIDTH and QT_QPA_EGLFS_PHYSICAL_HEIGHT (in millimeters).
**0:00:12.856281568 24255 0x4e7320 ERROR 8680.085113] omap-iommu 55082000.mmu: 55082000.mmu: version 2.1
0m ducati gstducatividdec.c:138:engine_open:<decoder> dce_init() failed
0:00:12.856391855 24255 0x4e7320 ERROR ducati gstducatividdec.c:1633:gst_ducati_viddec_change_state:<decoder> could not open
0:00:12.856493195 24255 0x4e7320 WARN decodebin gstdecodebin2.c:2304:connect_pad:<decodebin0> Couldn't set ducatih264decvpe0 to READY
0:00:12.901142151 24255 0x4e7320 ERROR ducati gstducatividdec.c:147:engine_open:<ducatih264dec0> could not create engine
0:00:12.901199084 24255 0x4e7320 ERROR ducati gstducatividdec.c:1633:gst_ducati_viddec_change_state:<ducatih264dec0> could not open
0:00:12.901240075 24255 0x4e7320 WARN decodebin gstdecodebin2.c:2304:connect_pad:<decodebin0> Couldn't set ducatih264dec0 to READY
../git/libdce_linux.c:70: dce_init ERROR: Failed OmapDrm_FD > 0 error val -7../git/libdce.c:485: Engine_open ERROR: Failed engine_open_msg != NULL er1
[2020-01-02 16:32:27.344979] [0xaedff380] [info] [OpenAuto] [AndroidAutoEntity] audio focus state: 1
0:00:13.121756474 24255 0x5d90e0 FIXME bin gstbin.c:4323:gst_bin_query: implement duration caching in GstBin again**
[2020-01-02 16:32:27.527224] [0xaedff380] [info] [OpenAuto] [AudioService] start indication, channel: MEDIA_AUDIO, session: 0
You suggested that the error I get means that OmapDrm is not available. Then how come I enable it or why it is available when mp4 file is played?
What might be the possible causes? Could you help us or please redirect us to someone who is knowledgeable about the issue ?
Thank you in advance.
Hi Mustafa,
SDK 5.x provided for DRA7x doesn't support EGLFS platform support, this platform support seems available on AM57x SDK.
I am not aware of what underlying driver EGLFS uses.
TI has tested gstreamer with waylandsink and QT with WAYLAND window system only should work without any issue.
Did you add eglfs support on SDK5.x?
dce_init is the first API invoked with libdce userspace to start video playback with ipumm.
Thanks
RamPrasad