Re: [Spice-devel] [PATCH qxl 7/11] Add SpiceVideoCodecs and $XSPICE_VIDEO_CODECS for specifying video codec preferences.

2015-05-19 Thread Marc-André Lureau
looks fine

On Wed, May 13, 2015 at 10:28 PM, Francois Gouget fgou...@codeweavers.com
wrote:

 ---
  examples/spiceqxl.xorg.conf.example |  7 +++
  src/qxl.h   |  1 +
  src/qxl_driver.c|  2 ++
  src/spiceqxl_spice_server.c | 16 
  4 files changed, 26 insertions(+)

 diff --git a/examples/spiceqxl.xorg.conf.example
 b/examples/spiceqxl.xorg.conf.example
 index d15f7f2..a82c2be 100644
 --- a/examples/spiceqxl.xorg.conf.example
 +++ b/examples/spiceqxl.xorg.conf.example
 @@ -51,6 +51,13 @@ Section Device
  # defaults to filter.
  #Option SpiceStreamingVideo 

 +# Set video codecs to use.  Provide a semicolon list of
 +# codecs, in preference order.  Each codec requires an encoder
 +# which can be one of spice or gstreamer, and then a codec type,
 +# for instance mjpeg or vp8. The default is spice:mjpeg,
 +# which uses the builtin mjpeg encoder.
 +#Option SpiceVideoCodecs 
 +
  # Set zlib glz wan compression. Options are auto, never, always.
  # defaults to auto.
  #Option SpiceZlibGlzWanCompression 
 diff --git a/src/qxl.h b/src/qxl.h
 index f46bc58..14449b8 100644
 --- a/src/qxl.h
 +++ b/src/qxl.h
 @@ -158,6 +158,7 @@ enum {
  OPTION_SURFACE_BUFFER_SIZE,
  OPTION_COMMAND_BUFFER_SIZE,
  OPTION_SPICE_SMARTCARD_FILE,
 +OPTION_SPICE_VIDEO_CODECS,
  #endif
  OPTION_COUNT,
  };
 diff --git a/src/qxl_driver.c b/src/qxl_driver.c
 index 942067f..88b38db 100644
 --- a/src/qxl_driver.c
 +++ b/src/qxl_driver.c
 @@ -155,6 +155,8 @@ const OptionInfoRec DefaultOptions[] =
CommandBufferSize,OPTV_INTEGER,
 {DEFAULT_COMMAND_BUFFER_SIZE}, FALSE},
  { OPTION_SPICE_SMARTCARD_FILE,
SpiceSmartcardFile,   OPTV_STRING,{0}, FALSE},
 +{ OPTION_SPICE_VIDEO_CODECS,
 +  SpiceVideoCodecs, OPTV_STRING,{0}, FALSE},
  #endif

  { -1, NULL, OPTV_NONE, {0}, FALSE }
 diff --git a/src/spiceqxl_spice_server.c b/src/spiceqxl_spice_server.c
 index 14ee752..d74b29d 100644
 --- a/src/spiceqxl_spice_server.c
 +++ b/src/spiceqxl_spice_server.c
 @@ -173,6 +173,9 @@ void xspice_set_spice_server_options(OptionInfoPtr
 options)
  const char *streaming_video =
  get_str_option(options, OPTION_SPICE_STREAMING_VIDEO,
 XSPICE_STREAMING_VIDEO);
 +const char *video_codecs =
 +get_str_option(options, OPTION_SPICE_VIDEO_CODECS,
 +   XSPICE_VIDEO_CODECS);
  int agent_mouse =
  get_bool_option(options, OPTION_SPICE_AGENT_MOUSE,
  XSPICE_AGENT_MOUSE);
 @@ -295,6 +298,19 @@ void xspice_set_spice_server_options(OptionInfoPtr
 options)
  spice_server_set_streaming_video(spice_server,
 streaming_video_opt);
  }

 +if (video_codecs) {
 +#if SPICE_SERVER_VERSION = 0x000c06 /* 0.12.6 */
 +if (spice_server_set_video_codecs(spice_server, video_codecs))
 +{
 +fprintf(stderr, spice: invalid video encoder %s\n,
 video_codecs);
 +exit(1);
 +}
 +#else
 +fprintf(stderr, spice: video_codecs are not available (spice =
 0.12.6 required)\n);
 +exit(1);
 +#endif
 +}
 +
  spice_server_set_agent_mouse
  (spice_server, agent_mouse);
  spice_server_set_playback_compression
 --
 2.1.4
 ___
 Spice-devel mailing list
 Spice-devel@lists.freedesktop.org
 http://lists.freedesktop.org/mailman/listinfo/spice-devel




-- 
Marc-André Lureau
___
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/spice-devel


[Spice-devel] [PATCH qxl 7/11] Add SpiceVideoCodecs and $XSPICE_VIDEO_CODECS for specifying video codec preferences.

2015-05-13 Thread Francois Gouget
---
 examples/spiceqxl.xorg.conf.example |  7 +++
 src/qxl.h   |  1 +
 src/qxl_driver.c|  2 ++
 src/spiceqxl_spice_server.c | 16 
 4 files changed, 26 insertions(+)

diff --git a/examples/spiceqxl.xorg.conf.example 
b/examples/spiceqxl.xorg.conf.example
index d15f7f2..a82c2be 100644
--- a/examples/spiceqxl.xorg.conf.example
+++ b/examples/spiceqxl.xorg.conf.example
@@ -51,6 +51,13 @@ Section Device
 # defaults to filter.
 #Option SpiceStreamingVideo 
 
+# Set video codecs to use.  Provide a semicolon list of
+# codecs, in preference order.  Each codec requires an encoder
+# which can be one of spice or gstreamer, and then a codec type,
+# for instance mjpeg or vp8. The default is spice:mjpeg,
+# which uses the builtin mjpeg encoder.
+#Option SpiceVideoCodecs 
+
 # Set zlib glz wan compression. Options are auto, never, always.
 # defaults to auto.
 #Option SpiceZlibGlzWanCompression 
diff --git a/src/qxl.h b/src/qxl.h
index f46bc58..14449b8 100644
--- a/src/qxl.h
+++ b/src/qxl.h
@@ -158,6 +158,7 @@ enum {
 OPTION_SURFACE_BUFFER_SIZE,
 OPTION_COMMAND_BUFFER_SIZE,
 OPTION_SPICE_SMARTCARD_FILE,
+OPTION_SPICE_VIDEO_CODECS,
 #endif
 OPTION_COUNT,
 };
diff --git a/src/qxl_driver.c b/src/qxl_driver.c
index 942067f..88b38db 100644
--- a/src/qxl_driver.c
+++ b/src/qxl_driver.c
@@ -155,6 +155,8 @@ const OptionInfoRec DefaultOptions[] =
   CommandBufferSize,OPTV_INTEGER,
{DEFAULT_COMMAND_BUFFER_SIZE}, FALSE},
 { OPTION_SPICE_SMARTCARD_FILE,
   SpiceSmartcardFile,   OPTV_STRING,{0}, FALSE},
+{ OPTION_SPICE_VIDEO_CODECS,
+  SpiceVideoCodecs, OPTV_STRING,{0}, FALSE},
 #endif
 
 { -1, NULL, OPTV_NONE, {0}, FALSE }
diff --git a/src/spiceqxl_spice_server.c b/src/spiceqxl_spice_server.c
index 14ee752..d74b29d 100644
--- a/src/spiceqxl_spice_server.c
+++ b/src/spiceqxl_spice_server.c
@@ -173,6 +173,9 @@ void xspice_set_spice_server_options(OptionInfoPtr options)
 const char *streaming_video =
 get_str_option(options, OPTION_SPICE_STREAMING_VIDEO,
XSPICE_STREAMING_VIDEO);
+const char *video_codecs =
+get_str_option(options, OPTION_SPICE_VIDEO_CODECS,
+   XSPICE_VIDEO_CODECS);
 int agent_mouse =
 get_bool_option(options, OPTION_SPICE_AGENT_MOUSE,
 XSPICE_AGENT_MOUSE);
@@ -295,6 +298,19 @@ void xspice_set_spice_server_options(OptionInfoPtr options)
 spice_server_set_streaming_video(spice_server, streaming_video_opt);
 }
 
+if (video_codecs) {
+#if SPICE_SERVER_VERSION = 0x000c06 /* 0.12.6 */
+if (spice_server_set_video_codecs(spice_server, video_codecs))
+{
+fprintf(stderr, spice: invalid video encoder %s\n, video_codecs);
+exit(1);
+}
+#else
+fprintf(stderr, spice: video_codecs are not available (spice = 
0.12.6 required)\n);
+exit(1);
+#endif
+}
+
 spice_server_set_agent_mouse
 (spice_server, agent_mouse);
 spice_server_set_playback_compression
-- 
2.1.4
___
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/spice-devel