Skip to content

WIP: Detect x-h264 cameras

Ghost User requested to merge wip/albfan/x-h264 into master

Allow cheese to use x-h264 cameras.

This MR allows to detect that type of cameras.

The Gstreamer part is not working, gstreamer fails:

$ G_MESSAGES_DEBUG=all cheese -d "DEMO1"
(cheese:83651): GLib-GIO-DEBUG: 10:31:56.398: _g_io_module_get_default: Found default implementation dconf (DConfSettingsBackend) for ‘gsettings-backend’
(cheese:83651): dconf-DEBUG: 10:31:56.398: watch_fast: "/org/gnome/cheese/" (establishing: 0, active: 0)
(cheese:83651): dconf-DEBUG: 10:31:56.400: watch_established: "/org/gnome/cheese/" (establishing: 1)
(cheese:83651): dconf-DEBUG: 10:31:56.403: watch_fast: "/org/appmenu/gtk-module/" (establishing: 0, active: 0)
(cheese:83651): dconf-DEBUG: 10:31:56.403: unwatch_fast: "/org/appmenu/gtk-module/" (active: 0, establishing: 1)
(cheese:83651): dconf-DEBUG: 10:31:56.405: watch_established: "/org/appmenu/gtk-module/" (establishing: 0)
(cheese:83651): GLib-GIO-DEBUG: 10:31:56.411: _g_io_module_get_default: Found default implementation gvfs (GDaemonVfs) for ‘gio-vfs’
(cheese:83651): dconf-DEBUG: 10:31:56.444: watch_fast: "/org/appmenu/gtk-module/" (establishing: 0, active: 0)
(cheese:83651): dconf-DEBUG: 10:31:56.444: unwatch_fast: "/org/appmenu/gtk-module/" (active: 0, establishing: 1)
(cheese:83651): dconf-DEBUG: 10:31:56.444: watch_established: "/org/appmenu/gtk-module/" (establishing: 0)
(cheese:83651): GLib-DEBUG: 10:31:56.523: unsetenv() is not thread-safe and should not be used after threads are created
(cheese:83651): Gtk-DEBUG: 10:31:56.523: Connecting to session manager
(cheese:83651): dconf-DEBUG: 10:31:56.525: change_fast
(cheese:83651): dconf-DEBUG: 10:31:56.525: change_notify: /org/gnome/cheese/camera
(cheese:83651): GLib-DEBUG: 10:31:56.564: setenv()/putenv() are not thread-safe and should not be used after threads are created
(cheese:83651): dconf-DEBUG: 10:31:56.564: watch_fast: "/org/gnome/cheese/" (establishing: 0, active: 1)
(cheese:83651): dconf-DEBUG: 10:31:56.564: unwatch_fast: "/org/gnome/cheese/" (active: 2, establishing: 0)
(cheese:83651): dconf-DEBUG: 10:31:56.587: watch_fast: "/org/gnome/cheese/" (establishing: 0, active: 1)
(cheese:83651): GdkPixbuf-DEBUG: 10:31:56.589: gdk_pixbuf_from_pixdata() called on:
(cheese:83651): GdkPixbuf-DEBUG: 10:31:56.589: 	Encoding raw
(cheese:83651): GdkPixbuf-DEBUG: 10:31:56.589: 	Dimensions: 64 x 64
(cheese:83651): GdkPixbuf-DEBUG: 10:31:56.589: 	Rowstride: 256, Length: 16408
(cheese:83651): GdkPixbuf-DEBUG: 10:31:56.589: 	Copy pixels == false
(cheese:83651): dconf-DEBUG: 10:31:56.590: watch_fast: "/org/gnome/desktop/thumbnailers/" (establishing: 0, active: 0)
(cheese:83651): dconf-DEBUG: 10:31:56.590: watch_established: "/org/gnome/desktop/thumbnailers/" (establishing: 1)
(cheese:83651): dconf-DEBUG: 10:31:57.167: watch_fast: "/org/gnome/cheese/" (establishing: 0, active: 2)

(cheese:83651): GStreamer-WARNING **: 10:31:57.169: Name 'video-encodebin' is not unique in bin 'camerabin', not adding

(cheese:83651): GStreamer-WARNING **: 10:31:57.169: Name 'videobin-filesink' is not unique in bin 'camerabin', not adding

(cheese:83651): GStreamer-WARNING **: 10:31:57.169: Name 'image-encodebin' is not unique in bin 'camerabin', not adding

(cheese:83651): GStreamer-WARNING **: 10:31:57.169: Name 'imagebin-filesink' is not unique in bin 'camerabin', not adding

(cheese:83651): GStreamer-WARNING **: 10:31:57.169: Name 'viewfinderbin-queue' is not unique in bin 'camerabin', not adding

This gstreamer pipeline shows correctly the camera:

gst-launch-1.0 -e v4l2src device=/dev/video2 ! video/x-h264 ! avdec_h264 ! xvimagesink sync=false
Edited by Ghost User

Merge request reports