Re: [Spice-devel] [PATCH spice-gtk v2 04/15] build-sys: drop gstvideo option, make it required
Acked-by: Snir Sheriber On 1/9/19 12:09 PM, Frediano Ziglio wrote: From: Marc-André Lureau GStreamer is being increasingly used by spice-gtk. Let's make it a core requirement. Signed-off-by: Marc-André Lureau --- .gitlab-ci.yml | 2 -- configure.ac | 41 ++ meson.build| 17 +--- meson_options.txt | 5 - src/Makefile.am| 7 +-- src/channel-display-priv.h | 10 +- src/channel-display.c | 7 --- src/meson.build| 5 + src/spice-widget-priv.h| 4 src/spice-widget.c | 13 +++- 10 files changed, 22 insertions(+), 89 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 78b339e7..c956adda 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -32,7 +32,6 @@ makecheck_simple: script: - ./autogen.sh --enable-static --enable-lz4=no ---enable-gstvideo=no --enable-webdav=no --with-sasl=no --with-coroutine=auto @@ -46,7 +45,6 @@ makecheck_simple: makecheck_simple-meson: script: - meson build -Dauto_features=disabled --Dgstvideo=false -Dusbredir=false -Ddbus=false || (cat build/meson-logs/meson-log.txt && exit 1) - ninja -C build diff --git a/configure.ac b/configure.ac index 85827b1d..ea4e8ff2 100644 --- a/configure.ac +++ b/configure.ac @@ -221,28 +221,21 @@ SPICE_CHECK_GSTREAMER(GSTAUDIO, 1.0, ], [AC_MSG_ERROR([Required GStreamer packages missing])]) -AC_ARG_ENABLE([gstvideo], - AS_HELP_STRING([--enable-gstvideo=@<:@auto/yes/no@:>@], - [Enable GStreamer video support @<:@default=auto@:>@]), - [], - [enable_gstvideo="auto"]) -AS_IF([test "x$enable_gstvideo" != "xno"], - [SPICE_CHECK_GSTREAMER(GSTVIDEO, 1.0, - [gstreamer-1.0 gstreamer-base-1.0 gstreamer-app-1.0 gstreamer-video-1.0], - [missing_gstreamer_elements="" - SPICE_CHECK_GSTREAMER_ELEMENTS($GST_INSPECT_1_0, [gst-plugins-base 1.0], [appsrc videoconvert appsink]) - SPICE_CHECK_GSTREAMER_ELEMENTS($GST_INSPECT_1_0, [gst-plugins-good 1.0], [jpegdec vp8dec vp9dec]) - SPICE_CHECK_GSTREAMER_ELEMENTS($GST_INSPECT_1_0, [gst-plugins-bad 1.0], [h264parse h265parse]) - SPICE_CHECK_GSTREAMER_ELEMENTS($GST_INSPECT_1_0, [gstreamer-libav 1.0], [avdec_h264 avdec_h265]) - AS_IF([test x"$missing_gstreamer_elements" = "xyes"], -SPICE_WARNING([The GStreamer video decoder can be built but may not work.])) - ], - [AS_IF([test "x$enable_gstvideo" = "xyes"], -AC_MSG_ERROR([GStreamer 1.0 video requested but not found])) - ]) - ], [have_gstvideo="no"] -) -AM_CONDITIONAL([HAVE_GSTVIDEO], [test "x$have_gstvideo" = "xyes"]) +SPICE_CHECK_GSTREAMER(GSTVIDEO, 1.0, +[gstreamer-1.0 gstreamer-base-1.0 gstreamer-app-1.0 gstreamer-video-1.0], +[missing_gstreamer_elements="" + SPICE_CHECK_GSTREAMER_ELEMENTS($GST_INSPECT_1_0, + [gst-plugins-base 1.0], [appsrc videoconvert appsink]) + SPICE_CHECK_GSTREAMER_ELEMENTS($GST_INSPECT_1_0, + [gst-plugins-good 1.0], [jpegdec vp8dec vp9dec]) + SPICE_CHECK_GSTREAMER_ELEMENTS($GST_INSPECT_1_0, + [gst-plugins-bad 1.0], [h264parse h265parse]) + SPICE_CHECK_GSTREAMER_ELEMENTS($GST_INSPECT_1_0, + [gstreamer-libav 1.0], [avdec_h264 avdec_h265]) + AS_IF([test x"$missing_gstreamer_elements" = "xyes"], + SPICE_WARNING([The GStreamer video decoder can be built but may not work.])) +], +[AC_MSG_ERROR([Required GStreamer packages missing])]) AC_ARG_ENABLE([builtin-mjpeg], AS_HELP_STRING([--enable-builtin-mjpeg], [Enable the builtin mjpeg video decoder @<:@default=yes@:>@]), @@ -252,9 +245,6 @@ AS_IF([test "x$enable_builtin_mjpeg" = "xyes"], [AC_DEFINE([HAVE_BUILTIN_MJPEG], 1, [Use the builtin mjpeg decoder?])]) AM_CONDITIONAL(HAVE_BUILTIN_MJPEG, [test "x$enable_builtin_mjpeg" != "xno"]) -AS_IF([test "x$enable_builtin_mjpeg$enable_gstvideo" = "xnono"], - [SPICE_WARNING([No builtin MJPEG or GStreamer decoder, video will not be streamed])]) - AC_CHECK_LIB(jpeg, jpeg_destroy_decompress, AC_MSG_CHECKING([for jpeglib.h]) AC_TRY_CPP( @@ -547,7 +537,6 @@ AC_MSG_NOTICE([ Gtk: ${with_gtk} Coroutine:${with_coroutine} PulseAudio: ${enable_pulse} -GStreamer Video: ${have_gstvideo} SASL support: ${have_sasl} Smartcard support:${have_smartcard} USB redirection support: ${have_usbredir} ${with_usbredir_hotplug} diff --git a/meson.build b/meson.build index 4ade991e..e1e5e919 100644 --- a/meson.build +++ b/meson.build @@ -161,22 +161,11 @@ if d.found() spice_gtk_has_pulse = true endif -deps = ['gstreamer-1.0',
Re: [Spice-devel] [PATCH spice-gtk v2 04/15] build-sys: drop gstvideo option, make it required
On Sun, Jan 13, 2019 at 7:07 PM Snir Sheriber wrote: > > Hi, > > > On 1/9/19 12:09 PM, Frediano Ziglio wrote: > > From: Marc-André Lureau > > > > GStreamer is being increasingly used by spice-gtk. Let's make it a > > core requirement. > > > So if we are making the gst-video stuff required too, won't be worth to > make the builtin mjpeg > option a feature and avoid the mandatory dependency? Or it's too > fragile\early\wrong to assume > gstreamer can always handle mjpeg? > Good question, I haven't evaluated the gstreamer mjpeg support. I propose we open a bug for 0.37 to check if we can drop builtin mjpeg. > Other than this looks good to me too (also the gstaudio one), maybe > worth squash the > gstvideo+gstaudio? (too big?) I rather not, they are different options, different code paths. I don't feel strongly about it either. > > Snir. > > > Signed-off-by: Marc-André Lureau > > --- > > .gitlab-ci.yml | 2 -- > > configure.ac | 41 ++ > > meson.build| 17 +--- > > meson_options.txt | 5 - > > src/Makefile.am| 7 +-- > > src/channel-display-priv.h | 10 +- > > src/channel-display.c | 7 --- > > src/meson.build| 5 + > > src/spice-widget-priv.h| 4 > > src/spice-widget.c | 13 +++- > > 10 files changed, 22 insertions(+), 89 deletions(-) > > > > diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml > > index 78b339e7..c956adda 100644 > > --- a/.gitlab-ci.yml > > +++ b/.gitlab-ci.yml > > @@ -32,7 +32,6 @@ makecheck_simple: > > script: > > - ./autogen.sh --enable-static > > --enable-lz4=no > > ---enable-gstvideo=no > > --enable-webdav=no > > --with-sasl=no > > --with-coroutine=auto > > @@ -46,7 +45,6 @@ makecheck_simple: > > makecheck_simple-meson: > > script: > > - meson build -Dauto_features=disabled > > --Dgstvideo=false > > -Dusbredir=false > > -Ddbus=false || (cat build/meson-logs/meson-log.txt && > > exit 1) > > - ninja -C build > > diff --git a/configure.ac b/configure.ac > > index 85827b1d..ea4e8ff2 100644 > > --- a/configure.ac > > +++ b/configure.ac > > @@ -221,28 +221,21 @@ SPICE_CHECK_GSTREAMER(GSTAUDIO, 1.0, > > ], > > [AC_MSG_ERROR([Required GStreamer packages missing])]) > > > > -AC_ARG_ENABLE([gstvideo], > > - AS_HELP_STRING([--enable-gstvideo=@<:@auto/yes/no@:>@], > > - [Enable GStreamer video support @<:@default=auto@:>@]), > > - [], > > - [enable_gstvideo="auto"]) > > -AS_IF([test "x$enable_gstvideo" != "xno"], > > - [SPICE_CHECK_GSTREAMER(GSTVIDEO, 1.0, > > - [gstreamer-1.0 gstreamer-base-1.0 gstreamer-app-1.0 > > gstreamer-video-1.0], > > - [missing_gstreamer_elements="" > > - SPICE_CHECK_GSTREAMER_ELEMENTS($GST_INSPECT_1_0, > > [gst-plugins-base 1.0], [appsrc videoconvert appsink]) > > - SPICE_CHECK_GSTREAMER_ELEMENTS($GST_INSPECT_1_0, > > [gst-plugins-good 1.0], [jpegdec vp8dec vp9dec]) > > - SPICE_CHECK_GSTREAMER_ELEMENTS($GST_INSPECT_1_0, > > [gst-plugins-bad 1.0], [h264parse h265parse]) > > - SPICE_CHECK_GSTREAMER_ELEMENTS($GST_INSPECT_1_0, > > [gstreamer-libav 1.0], [avdec_h264 avdec_h265]) > > - AS_IF([test x"$missing_gstreamer_elements" = "xyes"], > > -SPICE_WARNING([The GStreamer video decoder can be built > > but may not work.])) > > - ], > > - [AS_IF([test "x$enable_gstvideo" = "xyes"], > > -AC_MSG_ERROR([GStreamer 1.0 video requested but not > > found])) > > - ]) > > - ], [have_gstvideo="no"] > > -) > > -AM_CONDITIONAL([HAVE_GSTVIDEO], [test "x$have_gstvideo" = "xyes"]) > > +SPICE_CHECK_GSTREAMER(GSTVIDEO, 1.0, > > +[gstreamer-1.0 gstreamer-base-1.0 gstreamer-app-1.0 > > gstreamer-video-1.0], > > +[missing_gstreamer_elements="" > > + SPICE_CHECK_GSTREAMER_ELEMENTS($GST_INSPECT_1_0, > > + [gst-plugins-base 1.0], [appsrc videoconvert appsink]) > > + SPICE_CHECK_GSTREAMER_ELEMENTS($GST_INSPECT_1_0, > > + [gst-plugins-good 1.0], [jpegdec vp8dec vp9dec]) > > + SPICE_CHECK_GSTREAMER_ELEMENTS($GST_INSPECT_1_0, > > + [gst-plugins-bad 1.0], [h264parse h265parse]) > > + SPICE_CHECK_GSTREAMER_ELEMENTS($GST_INSPECT_1_0, > > + [gstreamer-libav 1.0], [avdec_h264 avdec_h265]) > > + AS_IF([test x"$missing_gstreamer_elements" = "xyes"], > > + SPICE_WARNING([The GStreamer video decoder can be built but may > > not work.])) > > +], > > +[AC_MSG_ERROR([Required GStreamer packages missing])]) > > > > AC_ARG_ENABLE([builtin-mjpeg], > > AS_HELP_STRING([--enable-builtin-mjpeg], [Enable the builtin mjpeg > > video decoder @<:@default=yes@:>@]), > > @@ -252,9 +245,6 @@ AS_IF([test "x$enable_builtin_mjpeg" = "xyes"], > >
Re: [Spice-devel] [PATCH spice-gtk v2 04/15] build-sys: drop gstvideo option, make it required
Hi, On 1/9/19 12:09 PM, Frediano Ziglio wrote: From: Marc-André Lureau GStreamer is being increasingly used by spice-gtk. Let's make it a core requirement. So if we are making the gst-video stuff required too, won't be worth to make the builtin mjpeg option a feature and avoid the mandatory dependency? Or it's too fragile\early\wrong to assume gstreamer can always handle mjpeg? Other than this looks good to me too (also the gstaudio one), maybe worth squash the gstvideo+gstaudio? (too big?) Snir. Signed-off-by: Marc-André Lureau --- .gitlab-ci.yml | 2 -- configure.ac | 41 ++ meson.build| 17 +--- meson_options.txt | 5 - src/Makefile.am| 7 +-- src/channel-display-priv.h | 10 +- src/channel-display.c | 7 --- src/meson.build| 5 + src/spice-widget-priv.h| 4 src/spice-widget.c | 13 +++- 10 files changed, 22 insertions(+), 89 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 78b339e7..c956adda 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -32,7 +32,6 @@ makecheck_simple: script: - ./autogen.sh --enable-static --enable-lz4=no ---enable-gstvideo=no --enable-webdav=no --with-sasl=no --with-coroutine=auto @@ -46,7 +45,6 @@ makecheck_simple: makecheck_simple-meson: script: - meson build -Dauto_features=disabled --Dgstvideo=false -Dusbredir=false -Ddbus=false || (cat build/meson-logs/meson-log.txt && exit 1) - ninja -C build diff --git a/configure.ac b/configure.ac index 85827b1d..ea4e8ff2 100644 --- a/configure.ac +++ b/configure.ac @@ -221,28 +221,21 @@ SPICE_CHECK_GSTREAMER(GSTAUDIO, 1.0, ], [AC_MSG_ERROR([Required GStreamer packages missing])]) -AC_ARG_ENABLE([gstvideo], - AS_HELP_STRING([--enable-gstvideo=@<:@auto/yes/no@:>@], - [Enable GStreamer video support @<:@default=auto@:>@]), - [], - [enable_gstvideo="auto"]) -AS_IF([test "x$enable_gstvideo" != "xno"], - [SPICE_CHECK_GSTREAMER(GSTVIDEO, 1.0, - [gstreamer-1.0 gstreamer-base-1.0 gstreamer-app-1.0 gstreamer-video-1.0], - [missing_gstreamer_elements="" - SPICE_CHECK_GSTREAMER_ELEMENTS($GST_INSPECT_1_0, [gst-plugins-base 1.0], [appsrc videoconvert appsink]) - SPICE_CHECK_GSTREAMER_ELEMENTS($GST_INSPECT_1_0, [gst-plugins-good 1.0], [jpegdec vp8dec vp9dec]) - SPICE_CHECK_GSTREAMER_ELEMENTS($GST_INSPECT_1_0, [gst-plugins-bad 1.0], [h264parse h265parse]) - SPICE_CHECK_GSTREAMER_ELEMENTS($GST_INSPECT_1_0, [gstreamer-libav 1.0], [avdec_h264 avdec_h265]) - AS_IF([test x"$missing_gstreamer_elements" = "xyes"], -SPICE_WARNING([The GStreamer video decoder can be built but may not work.])) - ], - [AS_IF([test "x$enable_gstvideo" = "xyes"], -AC_MSG_ERROR([GStreamer 1.0 video requested but not found])) - ]) - ], [have_gstvideo="no"] -) -AM_CONDITIONAL([HAVE_GSTVIDEO], [test "x$have_gstvideo" = "xyes"]) +SPICE_CHECK_GSTREAMER(GSTVIDEO, 1.0, +[gstreamer-1.0 gstreamer-base-1.0 gstreamer-app-1.0 gstreamer-video-1.0], +[missing_gstreamer_elements="" + SPICE_CHECK_GSTREAMER_ELEMENTS($GST_INSPECT_1_0, + [gst-plugins-base 1.0], [appsrc videoconvert appsink]) + SPICE_CHECK_GSTREAMER_ELEMENTS($GST_INSPECT_1_0, + [gst-plugins-good 1.0], [jpegdec vp8dec vp9dec]) + SPICE_CHECK_GSTREAMER_ELEMENTS($GST_INSPECT_1_0, + [gst-plugins-bad 1.0], [h264parse h265parse]) + SPICE_CHECK_GSTREAMER_ELEMENTS($GST_INSPECT_1_0, + [gstreamer-libav 1.0], [avdec_h264 avdec_h265]) + AS_IF([test x"$missing_gstreamer_elements" = "xyes"], + SPICE_WARNING([The GStreamer video decoder can be built but may not work.])) +], +[AC_MSG_ERROR([Required GStreamer packages missing])]) AC_ARG_ENABLE([builtin-mjpeg], AS_HELP_STRING([--enable-builtin-mjpeg], [Enable the builtin mjpeg video decoder @<:@default=yes@:>@]), @@ -252,9 +245,6 @@ AS_IF([test "x$enable_builtin_mjpeg" = "xyes"], [AC_DEFINE([HAVE_BUILTIN_MJPEG], 1, [Use the builtin mjpeg decoder?])]) AM_CONDITIONAL(HAVE_BUILTIN_MJPEG, [test "x$enable_builtin_mjpeg" != "xno"]) -AS_IF([test "x$enable_builtin_mjpeg$enable_gstvideo" = "xnono"], - [SPICE_WARNING([No builtin MJPEG or GStreamer decoder, video will not be streamed])]) - AC_CHECK_LIB(jpeg, jpeg_destroy_decompress, AC_MSG_CHECKING([for jpeglib.h]) AC_TRY_CPP( @@ -547,7 +537,6 @@ AC_MSG_NOTICE([ Gtk: ${with_gtk} Coroutine:${with_coroutine} PulseAudio: ${enable_pulse} -GStreamer Video: ${have_gstvideo} SASL support: ${have_sasl} Smartcard
[Spice-devel] [PATCH spice-gtk v2 04/15] build-sys: drop gstvideo option, make it required
From: Marc-André Lureau GStreamer is being increasingly used by spice-gtk. Let's make it a core requirement. Signed-off-by: Marc-André Lureau --- .gitlab-ci.yml | 2 -- configure.ac | 41 ++ meson.build| 17 +--- meson_options.txt | 5 - src/Makefile.am| 7 +-- src/channel-display-priv.h | 10 +- src/channel-display.c | 7 --- src/meson.build| 5 + src/spice-widget-priv.h| 4 src/spice-widget.c | 13 +++- 10 files changed, 22 insertions(+), 89 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 78b339e7..c956adda 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -32,7 +32,6 @@ makecheck_simple: script: - ./autogen.sh --enable-static --enable-lz4=no ---enable-gstvideo=no --enable-webdav=no --with-sasl=no --with-coroutine=auto @@ -46,7 +45,6 @@ makecheck_simple: makecheck_simple-meson: script: - meson build -Dauto_features=disabled --Dgstvideo=false -Dusbredir=false -Ddbus=false || (cat build/meson-logs/meson-log.txt && exit 1) - ninja -C build diff --git a/configure.ac b/configure.ac index 85827b1d..ea4e8ff2 100644 --- a/configure.ac +++ b/configure.ac @@ -221,28 +221,21 @@ SPICE_CHECK_GSTREAMER(GSTAUDIO, 1.0, ], [AC_MSG_ERROR([Required GStreamer packages missing])]) -AC_ARG_ENABLE([gstvideo], - AS_HELP_STRING([--enable-gstvideo=@<:@auto/yes/no@:>@], - [Enable GStreamer video support @<:@default=auto@:>@]), - [], - [enable_gstvideo="auto"]) -AS_IF([test "x$enable_gstvideo" != "xno"], - [SPICE_CHECK_GSTREAMER(GSTVIDEO, 1.0, - [gstreamer-1.0 gstreamer-base-1.0 gstreamer-app-1.0 gstreamer-video-1.0], - [missing_gstreamer_elements="" - SPICE_CHECK_GSTREAMER_ELEMENTS($GST_INSPECT_1_0, [gst-plugins-base 1.0], [appsrc videoconvert appsink]) - SPICE_CHECK_GSTREAMER_ELEMENTS($GST_INSPECT_1_0, [gst-plugins-good 1.0], [jpegdec vp8dec vp9dec]) - SPICE_CHECK_GSTREAMER_ELEMENTS($GST_INSPECT_1_0, [gst-plugins-bad 1.0], [h264parse h265parse]) - SPICE_CHECK_GSTREAMER_ELEMENTS($GST_INSPECT_1_0, [gstreamer-libav 1.0], [avdec_h264 avdec_h265]) - AS_IF([test x"$missing_gstreamer_elements" = "xyes"], -SPICE_WARNING([The GStreamer video decoder can be built but may not work.])) - ], - [AS_IF([test "x$enable_gstvideo" = "xyes"], -AC_MSG_ERROR([GStreamer 1.0 video requested but not found])) - ]) - ], [have_gstvideo="no"] -) -AM_CONDITIONAL([HAVE_GSTVIDEO], [test "x$have_gstvideo" = "xyes"]) +SPICE_CHECK_GSTREAMER(GSTVIDEO, 1.0, +[gstreamer-1.0 gstreamer-base-1.0 gstreamer-app-1.0 gstreamer-video-1.0], +[missing_gstreamer_elements="" + SPICE_CHECK_GSTREAMER_ELEMENTS($GST_INSPECT_1_0, + [gst-plugins-base 1.0], [appsrc videoconvert appsink]) + SPICE_CHECK_GSTREAMER_ELEMENTS($GST_INSPECT_1_0, + [gst-plugins-good 1.0], [jpegdec vp8dec vp9dec]) + SPICE_CHECK_GSTREAMER_ELEMENTS($GST_INSPECT_1_0, + [gst-plugins-bad 1.0], [h264parse h265parse]) + SPICE_CHECK_GSTREAMER_ELEMENTS($GST_INSPECT_1_0, + [gstreamer-libav 1.0], [avdec_h264 avdec_h265]) + AS_IF([test x"$missing_gstreamer_elements" = "xyes"], + SPICE_WARNING([The GStreamer video decoder can be built but may not work.])) +], +[AC_MSG_ERROR([Required GStreamer packages missing])]) AC_ARG_ENABLE([builtin-mjpeg], AS_HELP_STRING([--enable-builtin-mjpeg], [Enable the builtin mjpeg video decoder @<:@default=yes@:>@]), @@ -252,9 +245,6 @@ AS_IF([test "x$enable_builtin_mjpeg" = "xyes"], [AC_DEFINE([HAVE_BUILTIN_MJPEG], 1, [Use the builtin mjpeg decoder?])]) AM_CONDITIONAL(HAVE_BUILTIN_MJPEG, [test "x$enable_builtin_mjpeg" != "xno"]) -AS_IF([test "x$enable_builtin_mjpeg$enable_gstvideo" = "xnono"], - [SPICE_WARNING([No builtin MJPEG or GStreamer decoder, video will not be streamed])]) - AC_CHECK_LIB(jpeg, jpeg_destroy_decompress, AC_MSG_CHECKING([for jpeglib.h]) AC_TRY_CPP( @@ -547,7 +537,6 @@ AC_MSG_NOTICE([ Gtk: ${with_gtk} Coroutine:${with_coroutine} PulseAudio: ${enable_pulse} -GStreamer Video: ${have_gstvideo} SASL support: ${have_sasl} Smartcard support:${have_smartcard} USB redirection support: ${have_usbredir} ${with_usbredir_hotplug} diff --git a/meson.build b/meson.build index 4ade991e..e1e5e919 100644 --- a/meson.build +++ b/meson.build @@ -161,22 +161,11 @@ if d.found() spice_gtk_has_pulse = true endif -deps = ['gstreamer-1.0', 'gstreamer-base-1.0', 'gstreamer-app-1.0', 'gstreamer-audio-1.0'] +deps = ['gstreamer-1.0', 'gstreamer-base-1.0',