[Spice-devel] [PATCH v6 00/18] Remove DummyChannel* objects

Frediano Ziglio fziglio at redhat.com
Fri Dec 2 10:53:47 UTC 2016


These objects were used by the sound channel as
this channel read/write to/from client directly.
This make the code of this channel quite different
from the other ones.
Also this reduce code duplication from RedChannelClient
and increase encapsulation.
Also there are multiple cleanup following this
conversion.

Changes since v5:
- split conversion SndChannelClient to GObject;
- remove some TODO/FIXME already resolved;
- remove some useless spice_asserts;
- fully define GObject classes;
- some reordering to minimize changes.

Changes since v4:
- merged some patches;
- make sure all commit are working;
- some comment updates;
- added some additional cleanup patches.

Changes since v3:
- updated some commit message;
- rename structures and related fields in the same commit.
- reverted wrong field rename (RedChannel *client).

Changes since v2:
- send playback data as soon as possible;
- split renames putting client renames first then worker ones;
- some commit message changes.

Changes since v1:
- split some long lines;
- do not attempt to free in progress frame before is full sent.
  This could cause raw frames to be overridden.

Frediano Ziglio (18):
  sound: Convert SndChannel to GObject
  sound: Implements config_socket RedChannel callback
  sound: Reuse record_client variable
  sound: Change AudioFrame allocation
  sound: Introduce a macro to cast to SndChannelClient
  sound: Reuse client variable if available
  sound: Load marshaller into a variable
  sound: Convert SndChannelClient to GObject
  Remove DummyChannel* objects
  Make RedChannelClient::incoming private
  sound: Free more on SndChannel finalize
  sound: Use default disconnect for client channels
  sound: Reuse code for snd_set_{playback,record}_peer
  sound: Reuse code for migrating client channels
  sound: Reuse code to set volume and mute
  sound: Use default message handler if possible
  sound: Make clear active and client_active are boolean
  sound: Use memcpy instead of manually copy volume array

 server/Makefile.am                  |    4 +-
 server/dummy-channel-client.c       |  138 +---
 server/dummy-channel-client.h       |   64 +-
 server/dummy-channel.c              |   94 +--
 server/dummy-channel.h              |   60 +-
 server/red-channel-client-private.h |   11 +-
 server/red-channel-client.c         |   12 +-
 server/red-channel-client.h         |   13 +-
 server/sound.c                      | 1359 +++++++++++++---------------
 9 files changed, 668 insertions(+), 1087 deletions(-)
 delete mode 100644 server/dummy-channel-client.c
 delete mode 100644 server/dummy-channel-client.h
 delete mode 100644 server/dummy-channel.c
 delete mode 100644 server/dummy-channel.h

base-commit: 41d52961dbb5f6a999ba93cca3763998aa9409da
-- 
git-series 0.9.1


More information about the Spice-devel mailing list