How to: test GStreamer-droid based camera support in Ubuntu Touch (for Halium 7.1 based port)
-
@peat_psuwit here is the log, I redirected it to a file with
&>
: https://paste.ubuntu.com/p/8Sy4gkzrDD/
I have to say that I still have the manually patched Halium, if that is something we have to take into account. -
@peat_psuwit but it's still needed to compile halium manually, right ? This is not going in the next OTA I mean ?
-
@peat_psuwit Following a hint from ernesst on github I tried the steps at the beginning of this thread and I'm happy to report that camera is now mostly working on my OP3T. Hooray and thanks for that!
I have only just done this and there are some problems, but at the moment...
Camera takes pictures and I can view them in gallery, on photoroll.
No video recording. On pressing the record button the timer comes up and freezes on 0.00
Here is the output from the debugging command you provided at the top.
https://paste.ubuntu.com/p/nBkqmQCSpR/ -
@peat_psuwit Camera didn't survive the latest system update; is this the expected behaviour?
Here is the log just in case it's useful https://paste.ubuntu.com/p/DMn8FfBWXz/
Running through the steps to Install GStreamer-droid restored the situation to yesterday's state -
@ziggutas I reckon that's because the patch is installed through apt - as long as it won't be added to the system image, every system update might roll back the changes...
-
@Emphrath Unfortunately this won't go into the next OTA. This still needs some refining for stability and I want to make sure it won't affect the existing ports.
@ziggutas The trouble with video on OP3T (and devices using 64-bit rootfs) is known. However, my only 64-bit device is not working right now and is in the repair shop. And, yes, system image upgrade will wipe this out. I suggested using
apt
to update the phone. Make sure you have another phone before doing that. -
@Emphrath @peat_psuwit Thank you both very much for your replies, I understand a bit more now! It's one long and gentle learning curve!
For now though, it is very useful to have access to the camera should need it.
-
@peat_psuwit Thanks for the explanations ! Good luck !
-
@Luksus Turns out the log doesn't tell much. Please try again, but increase the log level to 5 i.e.
GST_DEBUG=5
. -
Hello, first I would like to thanks everyone involved on this fix. Great work!!
Second, I would like to know if this fix will eventually land on the Nexus 5 also? It's possible now to test it?
Thank you in advance -
@malditobastardo I will try to get it into my Halium 7.1 port for hammerhead, which is already shaping up nicely. SO yes ^^
-
@Flohack said in How to: test GStreamer-droid based camera support in Ubuntu Touch (for Halium 7.1 based port):
@malditobastardo I will try to get it into my Halium 7.1 port for hammerhead, which is already shaping up nicely. SO yes ^^
Thanks a lot Flo.
If there is anything we (I can do) to help you with your hard work. You can count with me as always -
I've just updated the camera app to fix the issue with the rotation of the front camera. Grab the new binaries at the same link in the first post.
-
@peat_psuwit I think there something wrong with the arm64 version it is only 85k and it dont install, i have see previous version and that was 485k... ?
-
@peat_psuwit : sadly with debuglevel 5 the log files get very big (>50MB) and I cannot extract useful data out of it.
But meanwhile I am pretty sure, that it has something to do with active rotation-lock. With 1080p video, the app freezes reproducible within the first 5 to 8 seconds.Without rotation lock I can record longer videos, most of the time. In this case, after stopping the recording, sometimes the app can't get access to the camera again, the camera-view stays black and I cannot start the next recording.
Switching to the front-camera and recording with it works though. -
@peat_psuwit said in How to: test GStreamer-droid based camera support in Ubuntu Touch (for Halium 7.1 based port):
UPDATED: This is no longer required. The correct fix is now in the GStreamer.
So it mean we can come back on the std droid-media and the GStreamer update should be in the latest rootfs ?
-
@Xray2000 Yes it was. I have a problem with my server setup which causes files to be randomly truncated. The file is now fixed and should be 475k (or so) in size.
@Luksus I know why the file gets that large and I still want to look into it (a large amount of that size is a binary file gets hex-printed). Maybe you could compress it and upload it somewhere (if not here)?
@ernest The update is in the
xenial_-_gst-droid
repo mentioned in the instruction. You should get it automatically viaapt
. -
@peat_psuwit Thanks!
-
Yes there is an issue with your arm64
Erreur fatale: /home/phablet/com.ubuntu.camera_3.1.2+gstdroid3_arm64.click failed to install. WARNING:root:Signature check failed, but installing anyway as requested Traceback (most recent call last): File "/usr/bin/click", line 110, in <module> sys.exit(main()) File "/usr/bin/click", line 106, in main return mod.run(args) File "/usr/lib/python3/dist-packages/click_package/commands/install.py", line 66, in run quiet=not options.verbose) File "/usr/lib/python3/dist-packages/click_package/install.py", line 463, in install path, user=user, all_users=all_users, quiet=quiet) File "/usr/lib/python3/dist-packages/click_package/install.py", line 357, in _unpack package_name, package_version = self.audit(path, check_arch=True) File "/usr/lib/python3/dist-packages/click_package/install.py", line 279, in audit for data_name in package.data: File "/usr/lib/python3/dist-packages/debian/debfile.py", line 181, in __iter__ return iter(self.tgz().getnames()) File "/usr/lib/python3.5/tarfile.py", line 1755, in getnames return [tarinfo.name for tarinfo in self.getmembers()] File "/usr/lib/python3.5/tarfile.py", line 1747, in getmembers self._load() # all members, we first have to File "/usr/lib/python3.5/tarfile.py", line 2340, in _load tarinfo = self.next() File "/usr/lib/python3.5/tarfile.py", line 2271, in next self.fileobj.seek(self.offset - 1) File "/usr/lib/python3.5/gzip.py", line 366, in seek return self._buffer.seek(offset, whence) File "/usr/lib/python3.5/_compression.py", line 143, in seek data = self.read(min(io.DEFAULT_BUFFER_SIZE, offset)) File "/usr/lib/python3.5/gzip.py", line 480, in read raise EOFError("Compressed file ended before the " EOFError: Compressed file ended before the end-of-stream marker was reached
-
I've create a bug report to highlight a long boot after the installation of your modification :
https://github.com/ubports/ubuntu-touch/issues/1396On OP3T both cameras works, with your latest setup, thanks !
I'm using this click : https://gitlab.com/peat-psuwit/camera-app/-/jobs/464890160Still pending the video recording.