spice/server
Frediano Ziglio 82caf14025 replay: allows to specify a filter for record output
This allows compression using external programs or any type
of filters.

To use it set SPICE_WORKER_RECORD_FILTER environment to the
filter command you want to use. The command is executed with
g_spawn_async_with_pipes (which uses execve) so is not a shell
command although the command is parsed using g_shell_parse_argv
which split arguments as shell does.

One easy way to use it is to just use a compressor like gzip with

  export SPICE_WORKER_RECORD_FILENAME=/tmp/qemu_record.gz
  export SPICE_WORKER_RECORD_FILTER=gzip
  qemu ...

The filter will receive the recording on standard input and is
supposed to write in output filename (which is the standard output).
You can use additional arguments in SPICE_WORKER_RECORD_FILTER to
specify for instance compression level.

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
2016-05-26 16:28:55 +01:00
..
tests make spice-server-replay use dynamic spice-server library 2016-05-18 14:57:06 +01:00
.gitignore Update the .gitignore files for the new manual, 2015-10-16 15:48:23 -05:00
agent-msg-filter.c AgentMsgFilter: use typedef 2016-05-24 17:46:05 +01:00
agent-msg-filter.h AgentMsgFilter: use typedef 2016-05-24 17:46:05 +01:00
cache-item.h Move RedCacheItem size field inside cache_data union 2016-05-25 09:53:57 +01:00
cache-item.tmpl.c Remove unused macro definitions 2016-05-25 09:54:03 +01:00
char-device.c Introduce SPICE_UPCAST macro 2016-05-24 18:00:51 +01:00
char-device.h char-device: Update function names in documentation 2016-05-18 00:24:37 +01:00
cursor-channel.c Hide CursorChannelClient implementation details 2016-05-26 11:02:53 +01:00
cursor-channel.h Hide CursorChannelClient implementation details 2016-05-26 11:02:53 +01:00
dcc-encoders.c Make some function static 2016-05-25 15:41:58 +01:00
dcc-encoders.h Make some function static 2016-05-25 15:41:58 +01:00
dcc-send.c Remove potentially unsafe casts 2016-05-25 09:54:03 +01:00
dcc.c Introduce SPICE_UPCAST macro 2016-05-24 18:00:51 +01:00
dcc.h Call dcc_send_item directly 2016-05-21 04:11:12 +01:00
demarshallers.h Make sure all headers are independent 2016-05-18 00:24:37 +01:00
dispatcher.c Get code more typesafe 2016-05-21 04:14:13 +01:00
dispatcher.h unify header include order 2016-05-12 11:02:54 +01:00
display-channel.c Make some function static 2016-05-25 15:41:58 +01:00
display-channel.h Make some function static 2016-05-25 15:41:58 +01:00
display-limits.h worker: start a DisplayChannelClient unit 2015-11-19 12:43:02 +00:00
event-loop.c revert new event-loop code for timers 2016-02-12 17:44:57 +00:00
glz-encode-match.tmpl.c server: rename _tmpl files 2015-11-26 13:33:36 +00:00
glz-encode.tmpl.c Removed unused GET_CODE definition 2016-05-25 14:32:42 +01:00
glz-encoder-dict.c remove glz_encoder_config.h 2015-12-04 11:57:18 +00:00
glz-encoder-dict.h remove glz_encoder_config.h 2015-12-04 11:57:18 +00:00
glz-encoder-priv.h Make sure all headers are independent 2016-05-18 00:24:37 +01:00
glz-encoder.c server: rename files 2015-12-03 23:54:32 +00:00
glz-encoder.h unify header include order 2016-05-12 11:02:54 +01:00
image-cache.c Make some function static 2016-05-25 15:41:58 +01:00
image-cache.h Make some function static 2016-05-25 15:41:58 +01:00
inputs-channel-client.c Move InputsChannelClient to a separate file 2016-05-24 14:56:41 -05:00
inputs-channel-client.h Move InputsChannelClient to a separate file 2016-05-24 14:56:41 -05:00
inputs-channel.c Make some function static 2016-05-25 15:41:58 +01:00
inputs-channel.h Make some function static 2016-05-25 15:41:58 +01:00
jpeg-encoder.c server: rename files 2015-12-03 23:54:32 +00:00
jpeg-encoder.h server: rename files 2015-12-03 23:54:32 +00:00
lz4-encoder.c server: rename files 2015-12-03 23:54:32 +00:00
lz4-encoder.h server: rename files 2015-12-03 23:54:32 +00:00
main-channel-client.c change main_channel_marshall_mouse_mode call style 2016-05-24 13:44:01 -05:00
main-channel-client.h move all item creation in main-channel-client.c 2016-05-24 13:41:08 -05:00
main-channel.c RedChannel: Add FOREACH_CLIENT and use it to iterate 2016-05-24 14:56:45 -05:00
main-channel.h Move MainChannelClient to separate file 2016-05-20 09:16:47 -05:00
main-dispatcher.c Convert Dispatcher and MainDispatcher to GObjects 2016-03-30 17:19:24 +01:00
main-dispatcher.h unify header include order 2016-05-12 11:02:54 +01:00
Makefile.am Move InputsChannelClient to a separate file 2016-05-24 14:56:41 -05:00
memslot.c memslot: do not crash if guest provide a wrong address 2016-02-18 10:36:26 +00:00
memslot.h unify header include order 2016-05-12 11:02:54 +01:00
migration-protocol.h Make sure all headers are independent 2016-05-18 00:24:37 +01:00
mjpeg-encoder.c server: Enable adding alternative MJPEG video encoders 2016-05-04 10:51:55 +01:00
pixmap-cache.c Introduce SPICE_UPCAST macro 2016-05-24 18:00:51 +01:00
pixmap-cache.h server: rename files 2015-12-03 23:54:32 +00:00
red-channel.c RedChannel: Add FOREACH_CLIENT and use it to iterate 2016-05-24 14:56:45 -05:00
red-channel.h RedChannel: Add FOREACH_CLIENT and use it to iterate 2016-05-24 14:56:45 -05:00
red-common.h Introduce SPICE_UPCAST macro 2016-05-24 18:00:51 +01:00
red-parse-qxl.c Make some function static 2016-05-24 13:39:48 +01:00
red-parse-qxl.h Make some function static 2016-05-24 13:39:48 +01:00
red-pipe-item.c make red_pipe_item_unref more typesafe 2016-05-21 04:11:12 +01:00
red-pipe-item.h make red_pipe_item_unref more typesafe 2016-05-21 04:11:12 +01:00
red-qxl.c remove sw-canvas.h 2016-05-09 12:45:37 +01:00
red-qxl.h qxl: Remove duplicate QXLState typedef 2016-04-06 10:30:00 +02:00
red-record-qxl.c replay: allows to specify a filter for record output 2016-05-26 16:28:55 +01:00
red-record-qxl.h replay: better record encapsulation 2016-05-26 16:28:43 +01:00
red-replay-qxl.c Get code more typesafe 2016-05-21 04:14:13 +01:00
red-replay-qxl.h unify header include order 2016-05-12 11:02:54 +01:00
red-worker.c replay: better record encapsulation 2016-05-26 16:28:43 +01:00
red-worker.h Replace RedChannel::clients with GList 2016-05-24 14:56:45 -05:00
reds-private.h Make sure all headers are independent 2016-05-18 00:24:37 +01:00
reds-stream.c use #include<> style for spice-common header inclusions. 2016-05-09 12:45:27 +01:00
reds-stream.h unify header include order 2016-05-12 11:02:54 +01:00
reds.c Make some function static 2016-05-25 15:41:58 +01:00
reds.h Make some function static 2016-05-25 15:41:58 +01:00
smartcard.c Introduce SPICE_UPCAST macro 2016-05-24 18:00:51 +01:00
smartcard.h Make sure all headers are independent 2016-05-18 00:24:37 +01:00
sound.c use #include<> style for spice-common header inclusions. 2016-05-09 12:45:27 +01:00
sound.h Make sure all headers are independent 2016-05-18 00:24:37 +01:00
spice-audio.h Split spice.h 2014-11-27 14:27:18 +01:00
spice-bitmap-utils.c do not compile dump_bitmap if not necessary 2016-03-24 13:11:46 +00:00
spice-bitmap-utils.h server: misc header cleanups 2015-12-09 22:17:51 +00:00
spice-bitmap-utils.tmpl.c server: rename _tmpl files 2015-11-26 13:33:36 +00:00
spice-char.h Split spice.h 2014-11-27 14:27:18 +01:00
spice-core.h Split spice.h 2014-11-27 14:27:18 +01:00
spice-experimental.h Add missing license headers 2015-10-19 14:25:36 +02:00
spice-input.h Split spice.h 2014-11-27 14:27:18 +01:00
spice-migration.h spice-migration.h: un-deprecate set_seamless_migration() 2016-05-12 06:34:11 +01:00
spice-qxl.h Add new spice-gl stubs API 2016-02-09 14:01:12 +00:00
spice-server.h fix crash if agent interface is removed 2016-05-11 16:57:47 +01:00
spice-server.syms Remove spice_server_set_keepalive_timeout 2016-03-11 18:27:51 +01:00
spice-version.h.in build-sys: generate spice-version.h 2014-11-27 14:27:33 +01:00
spice.h Split spice.h 2014-11-27 14:27:18 +01:00
spicevmc.c Introduce SPICE_UPCAST macro 2016-05-24 18:00:51 +01:00
stat.h Make sure all headers are independent 2016-05-18 00:24:37 +01:00
stream.c RedChannel: Add FOREACH_CLIENT and use it to iterate 2016-05-24 14:56:45 -05:00
stream.h Make some function static 2016-05-24 13:39:48 +01:00
sw-canvas.c remove sw-canvas.h 2016-05-09 12:45:37 +01:00
tree.c Get code more typesafe 2016-05-21 04:14:13 +01:00
tree.h Introduce SPICE_UPCAST macro 2016-05-24 18:00:51 +01:00
utils.c worker: move dcc_add_surface_area_image 2015-11-23 13:50:44 +00:00
utils.h server: Add time constants to go with spice_get_monotonic_time_ms() 2015-12-14 11:24:47 +00:00
video-encoder.h Make sure all headers are independent 2016-05-18 00:24:37 +01:00
zlib-encoder.c server: rename files 2015-12-03 23:54:32 +00:00
zlib-encoder.h Make sure all headers are independent 2016-05-18 00:24:37 +01:00