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.

AM5728: Gstreamer with Waylandsink and IVI shell error

Expert 6380 points
Part Number: AM5728

Team

We are still stuck with AM57XX and the video windows positioning - Trying to do this with IVI shell and launching Gstreamer with Waylandsink, it ends with a Segmentation fault.

- Do you have any guidelines how to solve that?

Also, please note that we don't see a possibility to do video positioning from script in Weston with default desktop shell backend.

In case we would not be able to position windows with HW accelerated video, we cannot use AM57XX in our application. 

We would appreciate a prompt reaction.

Thank you.

//Previous post: 

  • The software team have been notified. They will respond here.
  • Hi Bartosz,

    Please share complete pipeline that is causing segmentation fault with waylandsink along with ivi shell configuration tried.

    Default Desktop shell doesn't have the ability to fix the position of the window, so it won't help the use case.

    Regards,

    Manisha

  • Hi Manisha,

    we are not able to run neither Gstreamer with Waylandsink nor IMG PowerVR Demos (/usr/bin/SGX/demos/Wayland/*) within IVI shell. Both applications end with Segmentation fault after launching. Below you can find workflow:

    root@am57xx-evm:~# cat /etc/weston.ini
    [core]
    shell=ivi-shell.so

    [ivi-shell]
    ivi-module=ivi-controller.so
    ivi-input-module=ivi-input-controller.so

    [shell]
    locking=false
    animation=zoom
    panel-location=top
    startup-animation=fade

    [screensaver]
    # Uncomment path to disable screensaver
    #path=@libexecdir@/weston-screensaver

    root@am57xx-evm:~#
    root@am57xx-evm:~#
    root@am57xx-evm:~# layer-add-surfaces 1 1000 4 &
    [1] 1189
    GetPropertiesOfScreen: screen ID (1), Width (1280), Height (1024)
    layerid=1000 is already used.
    CreateWithDimension: layer ID (1000), Width (1280), Height (1024)
    SetVisibility : layer ID (1000), ILM_TRUE
    layer: 1000 created
    root@am57xx-evm:~#
    root@am57xx-evm:~# export QT_WAYLAND_SHELL_INTEGRATION=ivi-shell
    root@am57xx-evm:~# /usr/share/qt5/examples/widgets/effects/blurpicker/blurpicker &
    [2] 1191
    Using Wayland-EGL
    wlpvr: PVR Services Initialised
    Using the 'ivi-shell' shell integration
    surface : 1191 created
    SetDestinationRectangle: surface ID (1191), Width (406), Height (333)
    SetSourceRectangle : surface ID (1191), Width (406), Height (333)
    SetVisibility : surface ID (1191), ILM_TRUE
    layerAddSurface : surface ID (1191) is added to layer ID (1000)

    root@am57xx-evm:~#
    root@am57xx-evm:~#
    root@am57xx-evm:~# gst-launch-1.0 videotestsrc ! 'video/x-raw, format=BGRA' ! waylandsink
    Setting pipeline to PAUSED ...
    Caught SIGSEGV
    #0 __libc_do_syscall () at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:46
    #1 0xb6b7d212 in __waitpid (pid=1193, stat_loc=0xbe89d2cc, options=0)
    #2 0xb6bfdb0c in g_on_error_stack_trace () from /usr/lib/libglib-2.0.so.0
    #3 0x000132e0 in ?? ()
    Spinning. Please run 'gdb gst-launch-1.0 1192' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core.

    root@am57xx-evm:~#
    root@am57xx-evm:~#
    root@am57xx-evm:~# gst-launch-1.0 rtspsrc location="rtsp://192.168.35.212/axis-media/media.amp?videocodec=h264&h264profile=main&resolution=1024x768&fps=25" ! rtph264depay ! h264parse ! ducatih264dec ! vpe ! 'video/x-raw, width=1024, height=768' ! waylandsink
    Setting pipeline to PAUSED ...
    Caught SIGSEGV
    #0 __libc_do_syscall () at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:46
    #1 0xb6c0a212 in __waitpid (pid=1200, stat_loc=0xbeb7b1fc, options=0)
    #2 0xb6c8ab0c in g_on_error_stack_trace () from /usr/lib/libglib-2.0.so.0
    #3 0x000132e0 in ?? ()
    Spinning. Please run 'gdb gst-launch-1.0 1199' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core.

    root@am57xx-evm:~#
    root@am57xx-evm:~#
    root@am57xx-evm:~# /usr/bin/SGX/demos/Wayland/OGLES2ChameleonMan
    Segmentation fault (core dumped)
    root@am57xx-evm:~#

    Thanks
  • Hi Bartosz,

    We are able to replicate the issue and consulting the experts. Let you know our analysis soon.

    Regards,
    Manisha
  • Hi Bartosz,

    As mentioned in the wiki page -

    "With ivi-shell configured for weston, wayland client applications use ivi-application protocol to be managed by a central HMI window management. The wayland-ivi-extension provides ivi-controller.so to manage properties of surfaces/layers/screens and it also provides the ivi-input-controller.so to manage the input focus on a surface.

    Applications must support the ivi-application protocol to be managed by the HMI central controller with an unique numeric ID. "

    Waylandsink client application is opensource gstreamer plugin not supported by TI. To be able to use ivi shell with gstreamer framework, customer will need to add the ivi-application protocol to the the waylandsink. They can refer to other weston client application on how to add the support. The weston client example application can be found in Arago build package. Look for any weston application in Arago build   (can be found under build\arago-tmp-external-linaro-toolchain\work\armv7ahf-neon-linux-gnueabi\weston\1.11.0-r0.arago22\weston-1.11.0\clients)  and grep for ivi in that file. Changes doesn't seems much.

    Waylandsink plugin code can be found under build\arago-tmp-external-linaro-toolchain\work\am57xx_evm-linux-gnueabi\gstreamer1.0-plugins-bad\1.8.3-r5\gst-plugins-bad-1.8.3\ext\wayland.

    There's another approach of using ivi-controller which will also requires modification in waylandsink plugin.  Please refer to this link -

  • Hi Manisha,

    Thanks for your feedback. From the customer:

    "So the Waylandsink gstreamer plugin from your reference system does not support IVI-application protocol extension and there is no other way how to achieve positioning of video windows from command line, even though you have several similar Use cases described in TI promotional materials.
    -Am I right?
    If so, I am a little bit surprised and I will need to discuss further steps with my colleagues because we thought that your reference system would be enough for evaluation of our requirements. Unfortunately, it does not and we are not able to build Arago system tuned for this purpose from scratch right now. Anyway, thank you for your support and I will contact you in case we would continue with AM57XX."

    This doesn't sound well, can you please share any guidelines how to move on with the video positioning?

    Regards
    Bartosz
  • I am not sure which promotional material is being referred which says all these are possible through command line. Window positioning is possible at low level framework using DRM APIs or weston manager can enable it using ivi shell. Customer can refer to dual camera demo out of box application which demonstrates window positioning using DRM APIs.

    To work with ivi shell, it is up to the client application to support the protocol. There can be many different client applications and onus is on customers to support the ivi-shell protocol on the application referring to examples available in arago build. 

    The trouble with customer is they are staying with gstreamer framework for advance display/graphics usage and the client application for ivi shell with gstreamer is open source waylandsink. 

    Gstreamer framework is more of a multimedia framework and not much applicable for advance display and graphics functionality usage. Typically most of the customers chooses to use to work outside gstreamer framework for advance display and graphics need.

  • Manisha, Thanks for your clear comments.

    Bartozs, I am not sure what kind of promotion material he is talking about...it would be good to know, because in case we are misleading customers, we need to correct our material...

  • Hi Manisha, Rogerio,

    From the customer: "I do not consider setting of video window position on a screen as advance display/graphics usage. We just supposed that TI reference system is able to demostrace feaures described in the document out-of-the-box. As I wrote before, thank you very much for you support and now we must consider next steps."

    I shared the mentioned promotion material per e-mail.

    Thanks for your help and looking forward for any further guidelines on this.
    Bartosz
  • Bartosz,
    I will let Manisha add more here if any other comment. As I have explained to you off line, the material you are referring to, was sent to field as examples of use cases we were looking for feedback from customers about interest, volume and needs, to be potentially developed by us, and not as solutions that we had already.