[Spice-devel] [PATCH] Add the ability to specify Spice video codecs.

Fabio Fantoni fantonifabio at tiscali.it
Thu Mar 31 10:37:31 UTC 2016


Il 31/03/2016 12:21, Victor Toso ha scritto:
> From: Jeremy White <jwhite at codeweavers.com>
>
> This patch requires the patch series provided by Francois Gouget
> which add gstreamer support to Spice.
>
> It also should finally include the fix that Fabio keeps pointing out.

If you mean me (I not remember other Fabio in this m.l.) I pinged many
time the lz4 patch instead, now on my servers I use this for example:
https://github.com/Fantu/qemu/commit/97f899344ccce288a164785c1bf026003c1c3a6a
(is the patch from lz4 support author plus a version check fix)
But also this patch will be useful when gstreamer patches will be
applied upstream.
In any case qemu patches I think should be sended also to qemu-devel.

>
> Signed-off-by: Jeremy White <jwhite at codeweavers.com>
> ---
>  qemu-options.hx |  8 ++++++++
>  ui/spice-core.c | 17 +++++++++++++++++
>  2 files changed, 25 insertions(+)
>
> diff --git a/qemu-options.hx b/qemu-options.hx
> index a770086..596c391 100644
> --- a/qemu-options.hx
> +++ b/qemu-options.hx
> @@ -1050,6 +1050,7 @@ DEF("spice", HAS_ARG, QEMU_OPTION_spice,
>      "       [,jpeg-wan-compression=[auto|never|always]]\n"
>      "       [,zlib-glz-wan-compression=[auto|never|always]]\n"
>      "       [,streaming-video=[off|all|filter]][,disable-copy-paste]\n"
> +    "       [,video-codecs=<encoder1>:<codec1>[;<encoder2>:<codec2>]]\n"
>      "       [,disable-agent-file-xfer][,agent-mouse=[on|off]]\n"
>      "       [,playback-compression=[on|off]][,seamless-migration=[on|off]]\n"
>      "       [,gl=[on|off]]\n"
> @@ -1135,6 +1136,13 @@ Default is auto.
>  @item streaming-video=[off|all|filter]
>  Configure video stream detection.  Default is filter.
>  
> + at item video-codecs=encoder:codec[;encoder2:codec2]
> +Configure what video codecs to use.  It is a semi colon separated
> +list of encoder/codec pairs to try, in preference order.
> +An encoder tyep of 'spice' selects built in codecs.  An encoder
> +of 'gstreamer' indicates gstreamer.  The codec is the type
> +of encoder; e.g. mjpeg, vp8, etc.  Default is spice:mjpeg.
> +
>  @item agent-mouse=[on|off]
>  Enable/disable passing mouse events via vdagent.  Default is on.
>  
> diff --git a/ui/spice-core.c b/ui/spice-core.c
> index 61db3c1..b5bb6d4 100644
> --- a/ui/spice-core.c
> +++ b/ui/spice-core.c
> @@ -489,6 +489,9 @@ static QemuOptsList qemu_spice_opts = {
>              .name = "streaming-video",
>              .type = QEMU_OPT_STRING,
>          },{
> +            .name = "video-codecs",
> +            .type = QEMU_OPT_STRING,
> +        },{
>              .name = "agent-mouse",
>              .type = QEMU_OPT_BOOL,
>          },{
> @@ -788,6 +791,20 @@ void qemu_spice_init(void)
>          spice_server_set_streaming_video(spice_server, SPICE_STREAM_VIDEO_OFF);
>      }
>  
> +    str = qemu_opt_get(opts, "video-codecs");
> +    if (str) {
> +#if SPICE_SERVER_VERSION >= 0x000d01
> +        if (spice_server_set_video_codecs(spice_server, str)) {
> +            error_report("Invalid video codecs.");
> +            exit(1);
> +        }
> +#else
> +        error_report("this qemu build does not support the "
> +                     "\"video-codecs\" option");
> +        exit(1);
> +#endif
> +    }
> +
>      spice_server_set_agent_mouse
>          (spice_server, qemu_opt_get_bool(opts, "agent-mouse", 1));
>      spice_server_set_playback_compression


-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 3908 bytes
Desc: Firma crittografica S/MIME
URL: <https://lists.freedesktop.org/archives/spice-devel/attachments/20160331/0ac4525f/attachment.bin>


More information about the Spice-devel mailing list