Package Details: obs-virtual-cam-filter 0.0.6-2

Git Clone URL: https://aur.archlinux.org/obs-virtual-cam-filter.git (read-only, click to copy)
Package Base: obs-virtual-cam-filter
Description: Adds a filter to output a source or scene to the build in virtual camera
Upstream URL: https://obsproject.com/forum/resources/virtual-cam-filter.1142/
Keywords: obs obs-studio plugin
Licenses: GPL2
Submitter: tytan652
Maintainer: tytan652
Last Packager: tytan652
Votes: 2
Popularity: 0.000003
First Submitted: 2021-05-05 11:02 (UTC)
Last Updated: 2022-11-04 10:53 (UTC)

Pinned Comments

tytan652 commented on 2024-01-16 08:56 (UTC)

This plugin got abandoned since as of OBS Studio 28 a similar feature was added to the UI.

Latest Comments

tytan652 commented on 2024-01-16 08:56 (UTC)

This plugin got abandoned since as of OBS Studio 28 a similar feature was added to the UI.

galuise commented on 2023-12-20 02:05 (UTC)

This no longer builds.


/home/galuise/aur/obs-virtual-cam-filter/src/obs-studio-28.0.0/deps/media-playback/media-playback/decode.c: In function ‘get_max_luminance’:
/home/galuise/aur/obs-virtual-cam-filter/src/obs-studio-28.0.0/deps/media-playback/media-playback/decode.c:130:9: warning: ‘nb_side_data’ is deprecated [-Wdeprecated-declarations]
  130 |         for (int i = 0; i < stream->nb_side_data; i++) {
      |         ^~~
In file included from /home/galuise/aur/obs-virtual-cam-filter/src/obs-studio-28.0.0/deps/media-playback/media-playback/decode.h:31,
                 from /home/galuise/aur/obs-virtual-cam-filter/src/obs-studio-28.0.0/deps/media-playback/media-playback/decode.c:17:
/usr/include/libavformat/avformat.h:972:20: note: declared here
  972 |     int            nb_side_data;
      |                    ^~~~~~~~~~~~
/home/galuise/aur/obs-virtual-cam-filter/src/obs-studio-28.0.0/deps/media-playback/media-playback/decode.c:131:17: warning: ‘side_data’ is deprecated [-Wdeprecated-declarations]
  131 |                 const AVPacketSideData *const sd = &stream->side_data[i];
      |                 ^~~~~
/usr/include/libavformat/avformat.h:964:23: note: declared here
  964 |     AVPacketSideData *side_data;
      |                       ^~~~~~~~~
/home/galuise/aur/obs-virtual-cam-filter/src/obs-studio-28.0.0/deps/media-playback/media-playback/decode.c: In function ‘mp_decode_init’:
/home/galuise/aur/obs-virtual-cam-filter/src/obs-studio-28.0.0/deps/media-playback/media-playback/decode.h:40:25: error: ‘AV_CODEC_CAP_TRUNCATED’ undeclared (first use in this function); did you mean ‘AV_CODEC_CAP_HARDWARE’?
   40 | #define CODEC_CAP_TRUNC AV_CODEC_CAP_TRUNCATED
      |                         ^~~~~~~~~~~~~~~~~~~~~~
/home/galuise/aur/obs-virtual-cam-filter/src/obs-studio-28.0.0/deps/media-playback/media-playback/decode.c:227:38: note: in expansion of macro ‘CODEC_CAP_TRUNC’
  227 |         if (d->codec->capabilities & CODEC_CAP_TRUNC)
      |                                      ^~~~~~~~~~~~~~~
/home/galuise/aur/obs-virtual-cam-filter/src/obs-studio-28.0.0/deps/media-playback/media-playback/decode.h:40:25: note: each undeclared identifier is reported only once for each function it appears in
   40 | #define CODEC_CAP_TRUNC AV_CODEC_CAP_TRUNCATED
      |                         ^~~~~~~~~~~~~~~~~~~~~~
/home/galuise/aur/obs-virtual-cam-filter/src/obs-studio-28.0.0/deps/media-playback/media-playback/decode.c:227:38: note: in expansion of macro ‘CODEC_CAP_TRUNC’
  227 |         if (d->codec->capabilities & CODEC_CAP_TRUNC)
      |                                      ^~~~~~~~~~~~~~~
/home/galuise/aur/obs-virtual-cam-filter/src/obs-studio-28.0.0/plugins/obs-virtual-cam-filter/virtual-cam-filter.c: In function ‘start_output_thread’:
/home/galuise/aur/obs-virtual-cam-filter/src/obs-studio-28.0.0/plugins/obs-virtual-cam-filter/virtual-cam-filter.c:44:43: warning: assignment to ‘uint64_t’ {aka ‘long unsigned int’} from ‘time_t (*)(time_t *)’ {aka ‘long int (*)(long int *)’} makes integer from pointer without a cast [-Wint-conversion]
   44 |                 filter->last_failed_start = time;
      |                                           ^
/home/galuise/aur/obs-virtual-cam-filter/src/obs-studio-28.0.0/deps/media-playback/media-playback/decode.h:41:26: error: ‘AV_CODEC_FLAG_TRUNCATED’ undeclared (first use in this function); did you mean ‘AV_CODEC_FLAG_DROPCHANGED’?
   41 | #define CODEC_FLAG_TRUNC AV_CODEC_FLAG_TRUNCATED
      |                          ^~~~~~~~~~~~~~~~~~~~~~~
/home/galuise/aur/obs-virtual-cam-filter/src/obs-studio-28.0.0/deps/media-playback/media-playback/decode.c:228:38: note: in expansion of macro ‘CODEC_FLAG_TRUNC’
  228 |                 d->decoder->flags |= CODEC_FLAG_TRUNC;
      |                                      ^~~~~~~~~~~~~~~~
/home/galuise/aur/obs-virtual-cam-filter/src/obs-studio-28.0.0/deps/media-playback/media-playback/decode.c: In function ‘mp_decode_next’:
/home/galuise/aur/obs-virtual-cam-filter/src/obs-studio-28.0.0/deps/media-playback/media-playback/decode.c:442:17: warning: ‘pkt_duration’ is deprecated [-Wdeprecated-declarations]
  442 |                 int64_t duration = d->in_frame->pkt_duration;
      |                 ^~~~~~~
In file included from /usr/include/libavformat/avformat.h:327:
/usr/include/libavutil/frame.h:700:13: note: declared here
  700 |     int64_t pkt_duration;
      |             ^~~~~~~~~~~~
make[2]: *** [plugins/obs-ffmpeg/CMakeFiles/obs-ffmpeg.dir/build.make:230: plugins/obs-ffmpeg/CMakeFiles/obs-ffmpeg.dir/__/__/deps/media-playback/media-playback/decode.c.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:938: plugins/obs-ffmpeg/CMakeFiles/obs-ffmpeg.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

I tried bumping the OBS version to 30.0.2 to match the obs-studio-tytan652 aur package, but that build ends in a different set of tears regarding deprecated functions:


/home/galuise/aur/obs-virtual-cam-filter/src/obs-studio-30.0.2/libobs/media-io/media-remux.c: In function ‘init_output’:
/home/galuise/aur/obs-virtual-cam-filter/src/obs-studio-30.0.2/libobs/media-io/media-remux.c:99:17: error: ‘av_stream_get_side_data’ is deprecated [-Werror=deprecated-declarations]
   99 |                 const uint8_t *const content_src = av_stream_get_side_data(
      |                 ^~~~~
In file included from /home/galuise/aur/obs-virtual-cam-filter/src/obs-studio-30.0.2/libobs/media-io/media-remux.c:24:
/usr/include/libavformat/avformat.h:1917:10: note: declared here
 1917 | uint8_t *av_stream_get_side_data(const AVStream *stream,
      |          ^~~~~~~~~~~~~~~~~~~~~~~
/home/galuise/aur/obs-virtual-cam-filter/src/obs-studio-30.0.2/libobs/media-io/media-remux.c:103:25: error: ‘av_stream_new_side_data’ is deprecated [-Werror=deprecated-declarations]
  103 |                         uint8_t *const content_dst = av_stream_new_side_data(
      |                         ^~~~~~~
/usr/include/libavformat/avformat.h:1902:10: note: declared here
 1902 | uint8_t *av_stream_new_side_data(AVStream *stream,
      |          ^~~~~~~~~~~~~~~~~~~~~~~
/home/galuise/aur/obs-virtual-cam-filter/src/obs-studio-30.0.2/libobs/media-io/media-remux.c:115:17: error: ‘av_stream_get_side_data’ is deprecated [-Werror=deprecated-declarations]
  115 |                 const uint8_t *const mastering_src = av_stream_get_side_data(
      |                 ^~~~~
/usr/include/libavformat/avformat.h:1917:10: note: declared here
 1917 | uint8_t *av_stream_get_side_data(const AVStream *stream,
      |          ^~~~~~~~~~~~~~~~~~~~~~~
/home/galuise/aur/obs-virtual-cam-filter/src/obs-studio-30.0.2/libobs/media-io/media-remux.c:119:25: error: ‘av_stream_new_side_data’ is deprecated [-Werror=deprecated-declarations]
  119 |                         uint8_t *const mastering_dst = av_stream_new_side_data(
      |                         ^~~~~~~
/usr/include/libavformat/avformat.h:1902:10: note: declared here
 1902 | uint8_t *av_stream_new_side_data(AVStream *stream,
      |          ^~~~~~~~~~~~~~~~~~~~~~~
[ 30%] Building C object libobs/CMakeFiles/libobs.dir/media-io/video-io.c.o
cc1: all warnings being treated as errors

I tried to force cmake to not treat warnings as errors, but was unable to do so... Any help to point me in the right way to fix would be greatly appreciated. I wouldn't mind learning as well so feel free to share what you might do (vs. just doing it off the bat). Thank you!

tytan652 commented on 2022-11-04 10:53 (UTC)

Should be fixed with 0.0.6-2.

rarvolt commented on 2022-11-03 20:23 (UTC) (edited on 2022-11-03 20:23 (UTC) by rarvolt)

In function ‘media_remux_job_create’:
/home/rarvolt/.cache/yay/obs-virtual-cam-filter/src/obs-studio-27.2.0/libobs/media-io/media-remux.c:163:9: error: implicit declaration of function ‘av_register_all’ [-Werror=implicit-function-declaration]
  163 |         av_register_all();
      |         ^~~~~~~~~~~~~~~