apps/camera-gstreamer.git
2 months agoAdd gitlab issue/merge request templates master 17.90.0 ricefish/17.90.0 ricefish_17.90.0
Jan-Simon Moeller [Tue, 13 Feb 2024 21:47:29 +0000 (22:47 +0100)]
Add gitlab issue/merge request templates

Add template files for gitlab

Bug-AGL: SPEC-4474
Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
Change-Id: I1be20ad31cbc03e75e98e70aeb70e7147fc31521

3 months agomain: Remove fullscreen option from waylandsink 59/29559/1
Marius Vlad [Fri, 22 Dec 2023 08:48:39 +0000 (10:48 +0200)]
main: Remove fullscreen option from waylandsink

There's no need for adding that option as we're providing our own
window, and not relying on gst-launch.

Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Iaa8891cabbf1d32f94355fc5c453cba2647d547d

3 months agomain: Remove raw video media types caps 55/29555/2
Marius Vlad [Thu, 21 Dec 2023 20:38:14 +0000 (22:38 +0200)]
main: Remove raw video media types caps

And let pipewiresrc figure on its own. Tested out with an uvcvideo
driver (USB camera).

Bug-AGL: SPEC-5025
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I360f5494a1801fc22802ecf5089195f55e8d19db

4 months agoapp: Fix resizing to window/float and set it up if user requests it 82/29482/2
Marius Vlad [Mon, 27 Nov 2023 14:37:09 +0000 (16:37 +0200)]
app: Fix resizing to window/float and set it up if user requests it

Make use of the gRPC API and allow the user to start the camera as
floating/dialog type of window.

This has the side effect requiring  an initial resize values.  We didn't
need to do that because we always had to be resized to a maximum but now
we need to have an initial value as well.

Bug-AGL: SPEC-4987
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I3df8f0887425d461b6d812a429da6ce10fa1e00d

4 months agoapp: Remove width/height from filesrc fallback sink 81/29481/2
Marius Vlad [Fri, 24 Nov 2023 13:56:38 +0000 (15:56 +0200)]
app: Remove width/height from filesrc fallback sink

This assumes we pass more arguments but there's no other arguments
passed for this pipeline.

Bug-AGL: SPEC-4987
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I610cb8ecf01e8a15fcffa6c1b94564937b4e9b70

4 months agoapp: Convert to meson build system and use gRPC 80/29480/1
Marius Vlad [Fri, 24 Nov 2023 12:59:17 +0000 (14:59 +0200)]
app: Convert to meson build system and use gRPC

This converts to using newer meson build system, and makes use of gRPC
API rather using native agl-shell-desktop protocol. We still need to use
wayland for window set-up so xdg-shell is still there and supported.

Bug-AGL: SPEC-4987
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I81eefe103c67b8d490fd33c14cc8f4b04feceaed

5 months agoPort to gst-wayland changes in gst 1.22, maintaining backwards compatibility 91/29391/1
George Kiagiadakis [Wed, 8 Nov 2023 14:54:05 +0000 (16:54 +0200)]
Port to gst-wayland changes in gst 1.22, maintaining backwards compatibility

This will be relevant when AGL switches to a more recent yocto.

Bug-AGL: SPEC-4881
Change-Id: I8a1ae6dcf3099914c961a5b4c0fe702a5ab7cd12
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
5 months agocamera-gstreamer: Add fallback sink 76/29276/6
Ashok Sidipotu [Thu, 12 Oct 2023 06:26:21 +0000 (11:56 +0530)]
camera-gstreamer: Add fallback sink

Add a still image fallback sink when the intended camera's are not available.
Still image indicates that the camera devices are not available.

This should help towards the better user experience of the app.

Bug-AGL: SPEC-4881
Change-Id: Id0e4689861fead763366eac4de506f298a0de5e2
Signed-off-by: Ashok Sidipotu <ashok.sidipotu@collabora.com>
6 months agocamera-gstreamer: Add pipewire source to capture video streams 19/29119/8
Ashok Sidipotu [Mon, 14 Aug 2023 03:52:54 +0000 (09:22 +0530)]
camera-gstreamer: Add pipewire source to capture video streams

Pipewire can be used for capturing camera video streams, add it as one of the
sources and make it the default source.

V4L2 path can be chosen with an env variable.

Enhance the README file with info that helps with the usage of the app.

Bug-AGL: SPEC-4881
Change-Id: Ia1d989da229304b1b514d6b25ebbc2530503d370
Signed-off-by: Ashok Sidipotu <ashok.sidipotu@collabora.com>
7 months agomain: Redo buffer handling in camera-gstreamer 73/29173/1
Marius Vlad [Mon, 28 Aug 2023 08:57:32 +0000 (11:57 +0300)]
main: Redo buffer handling in camera-gstreamer

Using this time a buffer list, similar to what simple-shm is doing to avoid
getting back that a buffer is busy, due to *not* prunning older buffers.
As such, double buffering seems to be sufficient so we don't need to
resort to having 3 buffers.

This should fix switching back and forth between other applications and
the camera application. Tested with vivid module.

Bug-AGL: SPEC-4884
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ia3987782b3e107a0055f9680fecfed0f9a96eec6

8 months agomain: Destroy the pipeline before window/display 11/29111/1
Marius Vlad [Wed, 9 Aug 2023 09:58:36 +0000 (12:58 +0300)]
main: Destroy the pipeline before window/display

Bug-AGL: SPEC-4878
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ided754172557d9c9f92fe7c0e27b08c11f9a81ac

8 months agomain: Allow to pass different devices and height/width 10/29110/1
Marius Vlad [Wed, 9 Aug 2023 09:58:17 +0000 (12:58 +0300)]
main: Allow to pass different devices and height/width

Bug-AGL: SPEC-4877
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ic35267e93a95589be6af0b3d2e0bb9839303b519

2 years agoUpdate for app framework removal 48/27248/1 12.93.0 13.93.0 marlin/12.93.0 marlin_12.93.0 needlefish/13.93.0 needlefish_13.93.0
Scott Murray [Mon, 7 Mar 2022 20:56:17 +0000 (15:56 -0500)]
Update for app framework removal

Changes:
- Remove the autobuild scripts and config.xml used by the app
  framework widget build.
- Update the CMake files to just build a "camera-gstreamer" binary
  and install it into /usr/bin by default.
- Remove the code in main.cpp that handled reading the WebSocket
  command-line arguments and passing them to binding related
  code.
- Added installation of a minimal .desktop file to work with the
  new applaunchd.

Bug-AGL: SPEC-4284

Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I87816800c117a243a107eecb8895f07d6c90f23a

2 years agoFix code review comments from https://gerrit.automotivelinux.org/gerrit/c/apps/camera... 89/27089/2 12.92.0 marlin/12.92.0 marlin_12.92.0
Vasyl Vavrychuk [Sun, 16 Jan 2022 07:50:03 +0000 (08:50 +0100)]
Fix code review comments from https://gerrit.automotivelinux.org/gerrit/c/apps/camera-gstreamer/+/26934.

Bug-AGL: SPEC-4148
Change-Id: I18b3029eb91d4c693f1848c0e7eeedcdaae14e7f
Signed-off-by: Vasyl Vavrychuk <vasyl.vavrychuk@opensynergy.com>
2 years agoExplain why need to check for buffer valid. 88/27088/1
Vasyl Vavrychuk [Sun, 16 Jan 2022 07:38:44 +0000 (08:38 +0100)]
Explain why need to check for buffer valid.

Fixes https://gerrit.automotivelinux.org/gerrit/c/apps/camera-gstreamer/+/26935/2//COMMIT_MSG#7

Bug-AGL: SPEC-4148
Signed-off-by: Vasyl Vavrychuk <vasyl.vavrychuk@opensynergy.com>
Change-Id: I99e5cfb31e24a95b5b9062999a46a962ee8ea9a7

2 years agoRearrange buffer valid and busy check. 87/27087/1
Vasyl Vavrychuk [Sun, 16 Jan 2022 07:33:14 +0000 (08:33 +0100)]
Rearrange buffer valid and busy check.

It is more natural to check buffer validity first before buffer
busyness.

Fixes https://gerrit.automotivelinux.org/gerrit/c/apps/camera-gstreamer/+/26935/2/app/main.cpp#161

Bug-AGL: SPEC-4148
Signed-off-by: Vasyl Vavrychuk <vasyl.vavrychuk@opensynergy.com>
Change-Id: I0df3dd48c183429b55f49915e6722342a97bd2c5

2 years agoFreeing main argv is not needed and must not be done. 36/26936/3 11.0.5 12.91.0 koi/11.0.5 koi_11.0.5 marlin/12.91.0 marlin_12.91.0
Vasyl Vavrychuk [Wed, 15 Sep 2021 07:50:29 +0000 (09:50 +0200)]
Freeing main argv is not needed and must not be done.

Was getting:

  free(): invalid pointer

Bug-AGL: SPEC-4148
Change-Id: I81bc58f647c0d4cb57a2d1bd7cecb80e943c05d2
Signed-off-by: Vasyl Vavrychuk <vasyl.vavrychuk@opensynergy.com>
2 years agoFix crash due to 'window->buffers[0].buffer' NULL pointer. 35/26935/3
Vasyl Vavrychuk [Tue, 14 Sep 2021 21:25:51 +0000 (23:25 +0200)]
Fix crash due to 'window->buffers[0].buffer' NULL pointer.

Bug-AGL: SPEC-4148
Change-Id: I353deeea5ef00c6b69f381becd720d517e5a51df
Signed-off-by: Vasyl Vavrychuk <vasyl.vavrychuk@opensynergy.com>
2 years agoAutomatically detect camera capable v4l2 device. 34/26934/3
Vasyl Vavrychuk [Tue, 14 Sep 2021 05:08:22 +0000 (07:08 +0200)]
Automatically detect camera capable v4l2 device.

Bug-AGL: SPEC-4148
Change-Id: I42cf0adf9e55679069992d73f079b916684f8e8b
Signed-off-by: Vasyl Vavrychuk <vasyl.vavrychuk@opensynergy.com>
2 years agoDisable buffering on stdout. 63/26963/1
Andriy Tryshnivskyy [Thu, 2 Dec 2021 11:07:58 +0000 (13:07 +0200)]
Disable buffering on stdout.

It fix a problem when prints to sdtout are not visible in journalctl.

Bug-AGL: SPEC-4166
Change-Id: I5652e84bdfd3307edf53d2d7d07c532f41faa909
Signed-off-by: Andriy Tryshnivskyy <andriy.tryshnivskyy@opensynergy.com>
3 years agoInit camera-gstreamer 15/26115/2 10.0.3 11.0.3 11.0.4 11.91.0 11.92.0 12.90.0 12.90.1 jellyfish/10.0.3 jellyfish_10.0.3 koi/11.0.3 koi/11.0.4 koi_11.0.3 koi_11.0.4 lamprey/11.91.0 lamprey/11.92.0 lamprey_11.91.0 lamprey_11.92.0 marlin/12.90.0 marlin/12.90.1 marlin_12.90.0 marlin_12.90.1
Marius Vlad [Tue, 2 Mar 2021 16:30:32 +0000 (18:30 +0200)]
Init camera-gstreamer

Bug-AGL: SPEC-3629

Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ib1a221f03dfac3114bbd3477dc488dd90c86ba35

3 years agoInitial empty repository
Jan-Simon Moeller [Fri, 26 Feb 2021 16:28:01 +0000 (16:28 +0000)]
Initial empty repository