Package Base Details: droidcam

Git Clone URL: https://aur.archlinux.org/droidcam.git (read-only, click to copy)
Keywords: Android webcam
Submitter: marquicus
Maintainer: CodeXYZ (Levitating, lazerl0rd)
Last Packager: CodeXYZ
Votes: 127
Popularity: 2.39
First Submitted: 2011-06-29 20:31 (UTC)
Last Updated: 2022-02-22 20:02 (UTC)

Pinned Comments

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 8 9 10 11 12 .. 34 Next › Last »

ngoonee commented on 2020-10-15 09:16 (UTC)

Could you add snd-aloop to droidcam.conf so sound works a bit more OOTB?

invidian commented on 2020-10-07 20:58 (UTC)

@fourier No, as stated in https://wiki.archlinux.org/index.php/DKMS_package_guidelines#Dependencies.

fourier commented on 2020-10-07 20:56 (UTC)

@invidian thanks, that's what I did. But shouldn't the headers be installed as a dependency?

invidian commented on 2020-10-07 19:52 (UTC)

@fourier you must install kernel headers for the kernel you have installed in order to use DKMS, for example "linux-headers" if you use "linux" package for your kernel. See https://wiki.archlinux.org/index.php/Dynamic_Kernel_Module_Support#Installation for more details.

fourier commented on 2020-10-07 19:43 (UTC)

Tried to install, but failed with

==> Unable to install module v4l2loopback-dc/1.5 for kernel *: Missing kernel headers.

invidian commented on 2020-10-01 21:55 (UTC)

@klingt.net hmm, I don't know what could be the cause then. This repo contains a Dockerfile which I use to test builds on fresh machines, to make sure all dependencies are included. Maybe try manually cloning the repository and building from there?

klingt.net commented on 2020-10-01 15:48 (UTC)

@invidian

I have the latest available version installed:

$ yay -Qi libjpeg-turbo | grep Version
Version         : 2.0.5-2

invidian commented on 2020-10-01 10:26 (UTC)

@klingt.net maybe you have outdated version of "libjpeg-turbo"? It seems compiler picks the version, which do not have "tjGetErrorStr2" defined, which has been added in 1.5.3+: https://github.com/libjpeg-turbo/libjpeg-turbo/releases/tag/1.5.90.

klingt.net commented on 2020-10-01 06:47 (UTC) (edited on 2020-10-01 06:48 (UTC) by klingt.net)

Building droidcam fails on my machine:

==> Starting build()...
g++ -std=c++11 -x c++ -Wall -fPIC -no-pie src/droidcam-cli.c src/connection.c src/settings.c src/decoder.c src/decoder_snd.c src/decoder_v4l2.c src/av.c src/usb.c -lturbojpeg `pkg-config --libs --cflags libswscale libavutil` -lspeex -lasound -lpthread -lm -lusbmuxd-2.0 -o droidcam-cli
g++ -std=c++11 -x c++ -Wall -fPIC -no-pie src/droidcam.c src/resources.c src/connection.c src/settings.c src/decoder.c src/decoder_snd.c src/decoder_v4l2.c src/av.c src/usb.c `pkg-config --libs --cflags gtk+-3.0` `pkg-config --libs x11` `pkg-config --cflags --libs appindicator3-0.1` -lturbojpeg `pkg-config --libs --cflags libswscale libavutil` -lspeex -lasound -lpthread -lm -lusbmuxd-2.0 -o droidcam
src/droidcam.c: In function ‘void the_callback(GtkWidget*, gpointer)’:
src/droidcam.c:227:63: warning: ‘void gtk_menu_popup(GtkMenu*, GtkWidget*, GtkWidget*, GtkMenuPositionFunc, gpointer, guint, guint32)’ is deprecated: Use '(gtk_menu_popup_at_widget, gtk_menu_popup_at_pointer, gtk_menu_popup_at_rect)' instead [-Wdeprecated-declarations]
  227 |    gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, 0, 0);
      |                                                               ^
In file included from /usr/include/gtk-3.0/gtk/gtklabel.h:34,
                 from /usr/include/gtk-3.0/gtk/gtkaccellabel.h:35,
                 from /usr/include/gtk-3.0/gtk/gtk.h:33,
                 from src/droidcam.c:11:
/usr/include/gtk-3.0/gtk/gtkmenu.h:138:9: note: declared here
  138 | void    gtk_menu_popup    (GtkMenu        *menu,
      |         ^~~~~~~~~~~~~~
src/decoder.c: In function ‘int decoder_init()’:
src/decoder.c:111:37: error: ‘TJXOPT_COPYNONE’ was not declared in this scope; did you mean ‘TJXOP_NONE’?
  111 |     jpg_decoder.transform.options = TJXOPT_COPYNONE | TJXOPT_TRIM;
      |                                     ^~~~~~~~~~~~~~~
      |                                     TJXOP_NONE
In file included from src/decoder.c:19:
src/decoder.c: In function ‘void process_frame(JPGFrame*)’:
src/decoder.c:279:61: error: ‘tjGetErrorCode’ was not declared in this scope; did you mean ‘tjGetErrorStr’?
  279 |             errprint("tjDecompressHeader3() failure: %d\n", tjGetErrorCode(jpg_decoder.tj));
      |                                                             ^~~~~~~~~~~~~~
src/common.h:40:39: note: in definition of macro ‘errprint’
   40 | #define errprint(...) fprintf(stderr, __VA_ARGS__)
      |                                       ^~~~~~~~~~~
src/decoder.c:280:30: error: ‘tjGetErrorStr2’ was not declared in this scope; did you mean ‘tjGetErrorStr’?
  280 |             errprint("%s\n", tjGetErrorStr2(jpg_decoder.tj));
      |                              ^~~~~~~~~~~~~~
src/common.h:40:39: note: in definition of macro ‘errprint’
   40 | #define errprint(...) fprintf(stderr, __VA_ARGS__)
      |                                       ^~~~~~~~~~~
src/decoder.c:311:54: error: ‘tjGetErrorCode’ was not declared in this scope; did you mean ‘tjGetErrorStr’?
  311 |         errprint("tjDecompressToYUV2 failure: %d\n", tjGetErrorCode(jpg_decoder.tj));
      |                                                      ^~~~~~~~~~~~~~
src/common.h:40:39: note: in definition of macro ‘errprint’
   40 | #define errprint(...) fprintf(stderr, __VA_ARGS__)
      |                                       ^~~~~~~~~~~
make: *** [Makefile:39: droidcam-cli] Error 1
make: *** Waiting for unfinished jobs....
src/decoder.c: In function ‘int decoder_init()’:
src/decoder.c:111:37: error: ‘TJXOPT_COPYNONE’ was not declared in this scope; did you mean ‘TJXOP_NONE’?
  111 |     jpg_decoder.transform.options = TJXOPT_COPYNONE | TJXOPT_TRIM;
      |                                     ^~~~~~~~~~~~~~~
      |                                     TJXOP_NONE
In file included from src/decoder.c:19:
src/decoder.c: In function ‘void process_frame(JPGFrame*)’:
src/decoder.c:279:61: error: ‘tjGetErrorCode’ was not declared in this scope; did you mean ‘tjGetErrorStr’?
  279 |             errprint("tjDecompressHeader3() failure: %d\n", tjGetErrorCode(jpg_decoder.tj));
      |                                                             ^~~~~~~~~~~~~~
src/common.h:40:39: note: in definition of macro ‘errprint’
   40 | #define errprint(...) fprintf(stderr, __VA_ARGS__)
      |                                       ^~~~~~~~~~~
src/decoder.c:280:30: error: ‘tjGetErrorStr2’ was not declared in this scope; did you mean ‘tjGetErrorStr’?
  280 |             errprint("%s\n", tjGetErrorStr2(jpg_decoder.tj));
      |                              ^~~~~~~~~~~~~~
src/common.h:40:39: note: in definition of macro ‘errprint’
   40 | #define errprint(...) fprintf(stderr, __VA_ARGS__)
      |                                       ^~~~~~~~~~~
src/decoder.c:311:54: error: ‘tjGetErrorCode’ was not declared in this scope; did you mean ‘tjGetErrorStr’?
  311 |         errprint("tjDecompressToYUV2 failure: %d\n", tjGetErrorCode(jpg_decoder.tj));
      |                                                      ^~~~~~~~~~~~~~
src/common.h:40:39: note: in definition of macro ‘errprint’
   40 | #define errprint(...) fprintf(stderr, __VA_ARGS__)
      |                                       ^~~~~~~~~~~
make: *** [Makefile:42: droidcam] Error 1
==> ERROR: A failure occurred in build().
    Aborting...
error making: droidcam (v4l2loopback-dc-dkms)

invidian commented on 2020-09-30 08:17 (UTC)

@pickfire thanks for noticing, you are right. I added "libappindicator-gtk3" as optional dependency now, as we do the same with "gtk3", given that "droidcam-cli" works without both of those packages.

I wonder, perhaps this optional dependencies should be dropped and just added as regular dependencies.