How to: test GStreamer-droid based camera support in Ubuntu Touch (for Halium 7.1 based port)
-
With the delays on OTA-13, can this maybe be included after all on the OnePlus3/3T image by default?
Since the images are device specific I don't see any disadvantage on enabling this on these devices like @kkeijzer was already saying, or am I missing something? -
@poVoq The problem is we only have one common rootfs, so this would need to be added specifically for only one device or 2. We can have a discussion about it how this can be solved, but no ETA on it, sorry.
-
out of curiosity, does this have any effect on the devices that are already supported?
-
@tigerpro yes, unfortunately we had some regressions with that, thats one of the reasons it takes so long to get into the main rootfs.
-
@peat_psuwit said in How to: test GStreamer-droid based camera support in Ubuntu Touch (for Halium 7.1 based port):
UPDATED: If you're running arm64 image, please also run apt install gstreamer1.0-droid nemo-qtmultimedia-plugins.
This seems to be unnecessary as of OTA-13.
I have installed this on my OnePlus3 and it seems to be working fine for photos.
Only that the orientation of the photo seems to be always stuck in landscape instead of how the picture was actually taken is a bit annoying.
Trying to record a video crashes the app, but that was expected according to the OnePlus3 device page. -
@poVoq Yes this is unnecessary meanwhile @peat_psuwit can you take out this sentence for arm64 devices in the first post? Thx!
-
Hello @peat_psuwit I'm porting BQ U Plus (tenshi) and camera is the last issue: with version 3.1.1 it worked smoothly (some months ago when I needed to
apt-mark hold nemo-qtmultimedia-plugins
), but recently it stopped to work.
I used your debug command and the output was:phablet@ubuntu-phablet:~$ (cd /opt/click.ubuntu.com/com.ubuntu.camera/current && GST_DEBUG=droidcamsrc:4 ./camera-app --desktop_file_hint=com.ubuntu.camera_camera) Loading module: 'libubuntu_application_api_touch_mirclient.so.3.0.0' library "libgui.so" wasn't loaded and RTLD_NOLOAD prevented it Creating a QMirClientScreen now Import path added "/opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/lib/arm-linux-gnueabihf" Camera app directory "/opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2" unity::action::ActionManager::ActionManager(QObject*): Could not determine application identifier. HUD will not work properly. Provide your application identifier in $APP_ID environment variable. QFSFileEngine::map: Mapping a file beyond its size is not portable (camera-app:8333): GLib-GObject-WARNING **: g_object_class_override_property: Can't find property to override for 'GstDroidCamSrc::exposure-mode' 0:00:00.353958385 8333 0x536600 WARN droidcamsrc gstdroidcamsrcquirks.c:238:gst_droidcamsrc_quirks_new: failed to load configuration file /etc/gst-droid/gstdroidcamsrcquirks.conf: No such file or directory 0:00:00.362872604 8333 0x536600 WARN droidcamsrc gstdroidcamsrcphotography.c:1287:gst_droidcamsrc_set_white_balance_mode:<camera_source> params for whitebalance not yet available. deferred applying value 0 0:00:00.363590364 8333 0x536600 WARN droidcamsrc gstdroidcamsrcquirks.c:238:gst_droidcamsrc_quirks_new: failed to load configuration file /etc/gst-droid/gstdroidcamsrcquirks.conf: No such file or directory 0:00:00.364567135 8333 0x536600 INFO droidcamsrc gstdroidcamsrc.c:363:gst_droidcamsrc_set_property:<droidcamsrc0> camera device set to 0 0:00:00.365497916 8333 0x536600 INFO droidcamsrc gstdroidcamsrc.c:572:gst_droidcamsrc_get_hw:<droidcamsrc0> Found 2 cameras 0:00:00.365795208 8333 0x536600 INFO droidcamsrc gstdroidcamsrc.c:550:gst_droidcamsrc_fill_info:<droidcamsrc0> camera 0 is facing 0 with orientation 0 0:00:00.366648958 8333 0x536600 INFO droidcamsrc gstdroidcamsrc.c:550:gst_droidcamsrc_fill_info:<droidcamsrc0> camera 1 is facing 1 with orientation 3 0:00:00.366790364 8333 0x536600 INFO droidcamsrc gstdroidcamsrc.c:363:gst_droidcamsrc_set_property:<droidcamsrc0> camera device set to 1 0:00:00.643576041 8333 0x536600 INFO droidcamsrc gstdroidcamsrc.c:363:gst_droidcamsrc_set_property:<camera_source> camera device set to 0 qq= QDeclarativeCamera_QML_31(0x592b68) 0x6d1d18 APP_ID isn't set, the handler can not be registered APP_ID isn't set, the handler ignored file:///opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/ViewFinderExportConfirmation.qml:75:17: QML Item: Binding loop detected for property "height" file:///opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/ViewFinderExportConfirmation.qml:75:17: QML Item: Binding loop detected for property "height" file:///opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/ViewFinderExportConfirmation.qml:75:17: QML Item: Binding loop detected for property "height" qml: updateViewfinderResolution: viewfinder resolutions is not known yet. qml: updateViewfinderResolution: viewfinder resolutions is not known yet. 0:00:01.573445416 8333 0x536600 INFO droidcamsrc gstdroidcamsrc.c:375:gst_droidcamsrc_set_property:<camera_source> setting capture mode to: 1 0:00:01.573573958 8333 0x536600 INFO droidcamsrc gstdroidcamsrc.c:378:gst_droidcamsrc_set_property:<camera_source> not resetting the same mode (camera-app:8333): GStreamer-CRITICAL **: gst_caps_is_equal: assertion 'GST_IS_CAPS (caps1)' failed 0:00:01.574062447 8333 0x536600 INFO droidcamsrc gstdroidcamsrcphotography.c:1524:gst_droidcamsrc_set_and_apply:<camera_source> setting zoom to 0 (camera-app:8333): GStreamer-WARNING **: Name 'video-encodebin' is not unique in bin 'camerabin', not adding (camera-app:8333): GStreamer-WARNING **: Name 'videobin-filesink' is not unique in bin 'camerabin', not adding (camera-app:8333): GStreamer-WARNING **: Name 'image-encodebin' is not unique in bin 'camerabin', not adding (camera-app:8333): GStreamer-WARNING **: Name 'imagebin-filesink' is not unique in bin 'camerabin', not adding (camera-app:8333): GStreamer-WARNING **: Name 'viewfinderbin-queue' is not unique in bin 'camerabin', not adding 0:00:01.645777968 8333 0x536600 WARN droidcamsrc gstdroidcamsrcquirks.c:238:gst_droidcamsrc_quirks_new: failed to load configuration file /etc/gst-droid/gstdroidcamsrcquirks.conf: No such file or directory 0:00:01.646809895 8333 0x536600 INFO droidcamsrc gstdroidcamsrc.c:363:gst_droidcamsrc_set_property:<droidcamsrc1> camera device set to 0 0:00:01.647172031 8333 0x536600 INFO droidcamsrc gstdroidcamsrc.c:572:gst_droidcamsrc_get_hw:<droidcamsrc1> Found 2 cameras 0:00:01.647382864 8333 0x536600 INFO droidcamsrc gstdroidcamsrc.c:550:gst_droidcamsrc_fill_info:<droidcamsrc1> camera 0 is facing 0 with orientation 0 0:00:01.648015624 8333 0x536600 INFO droidcamsrc gstdroidcamsrc.c:550:gst_droidcamsrc_fill_info:<droidcamsrc1> camera 1 is facing 1 with orientation 3 0:00:01.648139322 8333 0x536600 INFO droidcamsrc gstdroidcamsrc.c:363:gst_droidcamsrc_set_property:<droidcamsrc1> camera device set to 1 qq= ResponsiveGridView_QMLTYPE_121_QML_126(0xa944c8) 0xa96380 QFileSystemWatcher::removePaths: list is empty file:///opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/MediaInfoPopover.qml:30:5: QML Item: Binding loop detected for property "height" file:///usr/lib/arm-linux-gnueabihf/qt5/qml/Ubuntu/Components/Popups/1.3/Popover.qml:250:9: QML Item: Binding loop detected for property "height" QFileSystemWatcher::addPaths: list is empty file:///opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/MediaInfoPopover.qml:57: TypeError: Cannot read property 'Exif.Image.ImageWidth' of undefined file:///opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/MediaInfoPopover.qml:57: TypeError: Cannot read property 'Exif.Image.ImageLength' of undefined file:///opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/MediaInfoPopover.qml:57: TypeError: Cannot read property 'Exif.Image.DateTime' of undefined file:///opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/MediaInfoPopover.qml:57: TypeError: Cannot read property 'Exif.Image.Model' of undefined file:///opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/MediaInfoPopover.qml:57: TypeError: Cannot read property 'Exif.Image.Copyright' of undefined file:///opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/MediaInfoPopover.qml:57: TypeError: Cannot read property 'Exif.Image.ExposureTime' of undefined file:///opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/MediaInfoPopover.qml:57: TypeError: Cannot read property 'Exif.Image.FNumber' of undefined file:///opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/MediaInfoPopover.qml:57: TypeError: Cannot read property 'Exif.Image.NewSubfileType' of undefined file:///opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/SlideshowView.qml:47: TypeError: Cannot read property 'isSelected' of null file:///opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/MediaInfoPopover.qml:62: TypeError: Cannot read property 'Exif.Photo.Flash' of undefined file:///opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/MediaInfoPopover.qml:11: TypeError: Cannot read property 'url' of undefined file:///opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/SlideshowView.qml:388: TypeError: Cannot call method 'getMedia' of null file:///opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/SlideshowView.qml:422: TypeError: Cannot read property 'actions' of null file:///opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/OptionButton.qml:24:39: Unable to assign [undefined] to QString file:///opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/OptionButton.qml:33: TypeError: Cannot read property 'value' of undefined file:///opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/OptionButton.qml:24:39: Unable to assign [undefined] to QString file:///opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/ViewFinderOverlay.qml:241: TypeError: Cannot call method 'split' of undefined [PERFORMANCE]: Last frame took 38 ms to render. qml: optionsOverlayClose 0:00:27.347974833 8333 0x536600 WARN droidcamsrc gstdroidcamsrcquirks.c:238:gst_droidcamsrc_quirks_new: failed to load configuration file /etc/gst-droid/gstdroidcamsrcquirks.conf: No such file or directory 0:00:27.349571031 8333 0x536600 INFO droidcamsrc gstdroidcamsrc.c:363:gst_droidcamsrc_set_property:<droidcamsrc2> camera device set to 0 0:00:27.350257021 8333 0x536600 INFO droidcamsrc gstdroidcamsrc.c:572:gst_droidcamsrc_get_hw:<droidcamsrc2> Found 2 cameras 0:00:27.351440823 8333 0x536600 INFO droidcamsrc gstdroidcamsrc.c:550:gst_droidcamsrc_fill_info:<droidcamsrc2> camera 0 is facing 0 with orientation 0 0:00:27.352224156 8333 0x536600 INFO droidcamsrc gstdroidcamsrc.c:550:gst_droidcamsrc_fill_info:<droidcamsrc2> camera 1 is facing 1 with orientation 3 0:00:27.352695562 8333 0x536600 INFO droidcamsrc gstdroidcamsrc.c:363:gst_droidcamsrc_set_property:<droidcamsrc2> camera device set to 1 file:///opt/click.ubuntu.com/com.ubuntu.camera/3.1.3+gstdroid2/ViewFinderOverlay.qml:241: TypeError: Cannot call method 'split' of undefined 0:00:27.362486708 8333 0x536600 INFO droidcamsrc gstdroidcamsrc.c:363:gst_droidcamsrc_set_property:<camera_source> camera device set to 1 (camera-app:8333): GStreamer-WARNING **: Name 'video-encodebin' is not unique in bin 'camerabin', not adding (camera-app:8333): GStreamer-WARNING **: Name 'videobin-filesink' is not unique in bin 'camerabin', not adding (camera-app:8333): GStreamer-WARNING **: Name 'image-encodebin' is not unique in bin 'camerabin', not adding (camera-app:8333): GStreamer-WARNING **: Name 'imagebin-filesink' is not unique in bin 'camerabin', not adding (camera-app:8333): GStreamer-WARNING **: Name 'viewfinderbin-queue' is not unique in bin 'camerabin', not adding qml: optionsOverlayClose 0:00:35.957019934 8333 0x536600 INFO droidcamsrc gstdroidcamsrc.c:375:gst_droidcamsrc_set_property:<camera_source> setting capture mode to: 2 0:00:35.970346497 8333 0x536600 WARN droidcamsrc gstdroidcamsrcphotography.c:1310:gst_droidcamsrc_set_flash_mode:<camera_source> params for flash-mode not yet available. deferred applying value 1 qml: updateViewfinderResolution: viewfinder resolutions is not known yet. 0:00:35.975825351 8333 0x536600 INFO droidcamsrc gstdroidcamsrcphotography.c:1524:gst_droidcamsrc_set_and_apply:<camera_source> setting zoom to 0 0:00:37.759285715 8333 0x536600 INFO droidcamsrc gstdroidcamsrc.c:375:gst_droidcamsrc_set_property:<camera_source> setting capture mode to: 1 0:00:37.767823475 8333 0x536600 WARN droidcamsrc gstdroidcamsrcphotography.c:1310:gst_droidcamsrc_set_flash_mode:<camera_source> params for flash-mode not yet available. deferred applying value 0 qml: updateViewfinderResolution: viewfinder resolutions is not known yet. qml: optionsOverlayClose qml: optionsOverlayClose qml: optionsOverlayClose qml: optionsOverlayClose qt.qpa.mirclient: Attempted to deliver an event to a non-existent window, ignoring. qt.qpa.mirclient: Attempted to deliver an event to a non-existent window, ignoring. phablet@ubuntu-phablet:~$
The system is up to date (edge): screen is black when opening the app and during all the command/tap I tried.
Any guidance how to fix it? Thnx -
Is still dev required or does it now also work on stable/rc (oneplus 3t)?
-
It works on stable/rc on OP3t
-
Ok, I have now a fresh flashed Oneplus 3t dev and I installed the GStreamer-droid based camera. In the camera app I see always a 2:2 layout but the pictures I shoot are in the layout I set (16:9 in my example).
Screenshot:
Picture from the same position:
Anybody else with this problem? How could I fix this?
-
-