Important: Please read the Qt Code of Conduct -

Qt 5.4.0 - QtMultimedia Camera Example not working on BeagleBone Black

  • Hi all,

    I have a BeagleBone Black I am running Linux 3.8.13 with gstreamer-0.10.36 and Qt 5.4.0. I am trying to get the sample camera application from qt-everywhere-opensource-src/5.4.0/qtmultimedia/examples running. I had no errors cross-building but when I run the application on the board I get the following errors:

    beaglebone:~# ./camera -platform linuxfb -plugin evdevtouch:/dev/input/touchscreen0
    ** (camera:239): CRITICAL **: gst_photography_set_focus_mode: assertion 'photo != NULL' failed
    This plugin does not support setParent!
    (camera:239): GStreamer-CRITICAL **: gst_caps_unref: assertion 'caps != NULL' failed
    ** (camera:239): CRITICAL **: gst_missing_encoder_message_new: assertion '!gst_caps_is_any (encode_caps)' failed
    (camera:239): GStreamer-CRITICAL **: gst_element_post_message: assertion 'message != NULL' failed
    CameraBin error: "Your GStreamer installation is missing a plug-in."

    I have validated the camera using Gstreamer pipelines (using v4l2src and fbdevsink to sink to the display). So I know the camera is working.

    I have built in almost all plugins from Gstreamer base/good/bad:

    beaglebone:~# gst-inspect-0.10
    Total count: 181 plugins (1 blacklist entry not shown), 1028 features

    And validated the camerabin plugins are there from plugins-bad:

    beaglebone:~# gst-inspect-0.10 | grep camera
    camerabin2:  viewfinderbin: Viewfinder Bin
    camerabin2:  wrappercamerabinsrc: V4l2 camera src element for camerabin
    camerabin2:  camerabin2: CameraBin2
    camerabin:  camerabin: Camera Bin
    bayer:  bayer2rgb: Bayer to RGB decoder for cameras

    The only blacklist plugin is the vorbisdec plugin due to a conflict in the GstVorbisDec class set by the vorbis and tremor plugins ( That should not be relevant to this error though.

    I have also validated that the photography library exists and there are no missing dependencies:

    beaglebone:/usr/lib# ll libgstphoto*
    -rwxr-xr-x 1 root root  1383 Mar 12 19:42
    lrwxrwxrwx 1 root root    32 Mar 12 19:42 ->
    lrwxrwxrwx 1 root root    32 Mar 12 19:42 ->
    -rwxr-xr-x 1 root root 20028 Mar 12 19:42
    beaglebone:/usr/lib# ldd => /usr/lib/ (0xb6e29000) => /usr/lib/ (0xb6ddc000) => /usr/lib/ (0xb6dcf000) => /usr/lib/ (0xb6dc3000) => /usr/lib/ (0xb6dba000) => /usr/lib/ (0xb6ca4000) => /lib/ (0xb6c84000) => /usr/lib/ (0xb6bb0000) => /lib/ (0xb6ba4000) => /lib/ (0xb6b8d000) => /lib/ (0xb6b1b000) => /lib/ (0xb69e3000) => /lib/ (0xb69ca000)
        /lib/ (0xb6ee6000)

    Any ideas?