[Spice-devel] [PATCH v5 19/20] spice-gtk: Make it possible to disable support for the builtin MJPEG video decoder.
Christophe Fergeau
cfergeau at redhat.com
Mon Sep 21 08:07:48 PDT 2015
On Thu, Aug 27, 2015 at 09:03:13PM +0200, Francois Gouget wrote:
> This makes it possible to test the GStreamer video decoder with MJPEG streams.
>
> Signed-off-by: Francois Gouget <fgouget at codeweavers.com>
> ---
>
> Changes since take 2:
> - None.
>
>
> configure.ac | 8 ++++++++
> src/Makefile.am | 7 ++++++-
> src/channel-display.c | 2 ++
> 3 files changed, 16 insertions(+), 1 deletion(-)
>
> diff --git a/configure.ac b/configure.ac
> index 8ee71ca..d20f3de 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -357,6 +357,14 @@ AM_CONDITIONAL([HAVE_GSTVIDEO], [test "x$have_gst_video" = "xyes"])]
> AC_SUBST(GSTVIDEO_CFLAGS)
> AC_SUBST(GSTVIDEO_LIBS)
>
> +AC_ARG_ENABLE([builtin-mjpeg],
> + AS_HELP_STRING([--enable-builtin-mjpeg], [Enable the builtin mjpeg video decoder @<:@default=yes@:>@]),
> + [],
> + enable_builtin_mjpeg="yes")
> +AS_IF([test "x$enable_builtin_mjpeg" = "xyes"],
> + [AC_DEFINE([WITH_BUILTIN_MJPEG], 1, [Use the builtin mjpeg decoder?])])
> +AM_CONDITIONAL(WITH_BUILTIN_MJPEG, [test "x$enable_builtin_mjpeg" != "xno"])
> +
I think we need to error out if --disable-builtin-mjpeg is used and
gstreamer support is disabled as the client is expected to support
mjpeg.
> AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,
> AC_MSG_CHECKING([for jpeglib.h])
> AC_TRY_CPP(
> diff --git a/src/Makefile.am b/src/Makefile.am
> index 925c75f..e744ce9 100644
> --- a/src/Makefile.am
> +++ b/src/Makefile.am
> @@ -255,7 +255,6 @@ libspice_client_glib_2_0_la_SOURCES = \
> channel-cursor.c \
> channel-display.c \
> channel-display-priv.h \
> - channel-display-mjpeg.c \
> channel-inputs.c \
> channel-main.c \
> channel-playback.c \
> @@ -342,6 +341,12 @@ libspice_client_glib_2_0_la_SOURCES += \
> $(NULL)
> endif
>
> +if WITH_BUILTIN_MJPEG
> +libspice_client_glib_2_0_la_SOURCES += \
> + channel-display-mjpeg.c \
> + $(NULL)
> +endif
> +
> if HAVE_GSTVIDEO
> libspice_client_glib_2_0_la_SOURCES += \
> channel-display-gst.c \
> diff --git a/src/channel-display.c b/src/channel-display.c
> index e9cbf8d..ff305cf 100644
> --- a/src/channel-display.c
> +++ b/src/channel-display.c
> @@ -1009,9 +1009,11 @@ static void display_handle_stream_create(SpiceChannel *channel, SpiceMsgIn *in)
> display_update_stream_region(st);
>
> switch (op->codec_type) {
> +#ifdef WITH_BUILTIN_MJPEG
> case SPICE_VIDEO_CODEC_TYPE_MJPEG:
> st->video_decoder = create_mjpeg_decoder(op->codec_type, st);
> break;
> +#endif
I'd wrap the prototype in channel-display-priv.h in #ifdef too.
Looks good otherwise,
Christophe
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/spice-devel/attachments/20150921/7b38df60/attachment.sig>
More information about the Spice-devel
mailing list