Re: [Spice-devel] spicec and spice-gtk

2011-05-02 Thread Kai Mosebach
Then I recommend that we create a library/framework/API so that companies can use spice much easier programmatically. Spice-Gtk has a complete API. It allows to create complete clients without GTK using spice-client-glib. This is basically a good approach I think - also to use the whole spice

Re: [Spice-devel] spicec and spice-gtk

2011-05-02 Thread Christophe Fergeau
On Mon, May 02, 2011 at 01:48:27PM +0200, Kai Mosebach wrote: This is basically a good approach I think - also to use the whole spice client programmatically. What I would like to see here would be a clean split between the spice-client-glib (w/o the gtk parts) and spicy(the gtk parts) if

Re: [Spice-devel] spicec and spice-gtk

2011-05-02 Thread Christophe Fergeau
On Mon, May 02, 2011 at 01:59:33PM +0200, Kai Mosebach wrote: The question is if I could get a libspice-client-glib without gtk at all? Ah, this should be doable, but you'd need to patch configure.ac and gtk/Makefile.am for that, patches welcome :) Christophe pgplacMiE2Ta6.pgp Description:

[Spice-devel] Audio Fails in 64-bit Windows7 Guest

2011-05-02 Thread Naga Mohan Pothula
Hi,  Audio is not working in 64-bit Windows7 Guest connected from any Linux/Windows Client. I noticed this problem with Spice v0.63/0.8 versions. I haven't tried on other Spice versions. When starting Spice Server, we are specifying -soundhw AC97 option I have read in some forums that Qemu-kvm

Re: [Spice-devel] [RFC v4 00/62] server: multiple client support

2011-05-02 Thread Marc-André Lureau
Hi Alon, After a couple of days getting a bit more familiar with the server code, and reading each patches individually, I have made several observations and commented some of the patches (see patch reply). I still don't consider myself familiar enough with the server code to be really helpful. I

Re: [Spice-devel] [RFC v4 23/62] server/smartcard: support multiple clients

2011-05-02 Thread Marc-André Lureau
On Tue, Apr 26, 2011 at 12:54 PM, Alon Levy al...@redhat.com wrote: each client supplying a smartcard channel gets it's own smartcard. If there are not enough smartcards provided by the server (read: qemu) then it will be as though there are none. currently disabled - later patches that

Re: [Spice-devel] [RFC v4 20/62] server/main_channel: support multiple clients

2011-05-02 Thread Marc-André Lureau
The ref system is not clear, why is it heap allocated? Some documentation about that Refs type would help. Having explicit _ref() and _unref() methods would make things more clear. Can it be pushed higher in the object hierarchy instead of having new Refs types? I am a bit skeptical reading:

Re: [Spice-devel] [RFC v4 18/62] server/red_channel: introduce pipes functions

2011-05-02 Thread Marc-André Lureau
On Tue, Apr 26, 2011 at 12:54 PM, Alon Levy al...@redhat.com wrote: Introduce functions to add (via producer method) the same item to multiple pipes, all for the same channel. Note: Right now there is only a single channel, but the next patches will do the per-channel breakdown to channel

Re: [Spice-devel] [RFC v4 19/62] server/red_channel: add RedChannel.clients_num

2011-05-02 Thread Marc-André Lureau
On Tue, Apr 26, 2011 at 12:54 PM, Alon Levy al...@redhat.com wrote: +static void red_channel_client_unlink(RedChannelClient *rcc) +{ +    ring_remove(rcc-client_link); +    rcc-client-channels_num--; +    ASSERT(rcc-channel-rcc == rcc); +    rcc-channel-rcc = NULL; +    

Re: [Spice-devel] [RFC v4 16/62] server/main_channel: move link_id from reds

2011-05-02 Thread Marc-André Lureau
On Tue, Apr 26, 2011 at 12:54 PM, Alon Levy al...@redhat.com wrote: TODO:  multiple todo's added for multiclient handling. I don't remember why  I wrote them exactly, and besides if I did any migration tests. So: TODO. I tested simple migration with this commit in branch

Re: [Spice-devel] [RFC v4 13/62] server: Add RedClient

2011-05-02 Thread Marc-André Lureau
- as a reminder, there is too many MainChannelClient typedef, and build fails (you fixed it in your latest branch, thx). - there is a few trailing lines added to b/server/red_channel.c On Tue, Apr 26, 2011 at 12:54 PM, Alon Levy al...@redhat.com wrote: The remaining abort is from a double free

Re: [Spice-devel] [RFC v4 11/62] server/red_channel: merge into red_channel_client_release_item introduction - bug

2011-05-02 Thread Marc-André Lureau
could be merged with 03/62 introduce RedChannelClient On Tue, Apr 26, 2011 at 12:54 PM, Alon Levy al...@redhat.com wrote: server/red_channel.c index 3a28304..5aad98b 100644 -- Marc-André Lureau ___ Spice-devel mailing list

Re: [Spice-devel] [RFC v4 07/62] server/main_channel: use MainChannel in sig

2011-05-02 Thread Marc-André Lureau
We have these various channel types for main_channel_foo() argument/return value, would be nice to make some changes: - Channel *main_channel_init() reds-main_channel_factory = main_channel_init(); Should we rename main_channel_init() to main_channel_factory_new()? and perhaps rename Channel to

Re: [Spice-devel] [RFC v4 04/62] server/red_worker: introduce {display, cursor}_connected

2011-05-02 Thread Marc-André Lureau
perhaps rename xxx_connected() - xxx_is_connected() for consistency On Tue, Apr 26, 2011 at 12:54 PM, Alon Levy al...@redhat.com wrote: Instead of checking for worker-{display,cursor}_channel directly. ---  server/red_worker.c |   55 ++  1 files

Re: [Spice-devel] [RFC v4 01/62] server/red_channel: renames to use _proc postfix consistently

2011-05-02 Thread Marc-André Lureau
It looks like it is later reverted in the patch: server/red_worker: split display and cursor channels The current code style tends to reserve _proc for function type name only. Should we try to keep it that way? On Tue, Apr 26, 2011 at 12:54 PM, Alon Levy al...@redhat.com wrote:

Re: [Spice-devel] [RFC v4 59/62] server/red_worker: red_current_add_equal: add dcc null checks

2011-05-02 Thread Marc-André Lureau
On Tue, Apr 26, 2011 at 12:55 PM, Alon Levy al...@redhat.com wrote: check for dcc!=NULL before adding to pipe in several places. Probably useless since red_pipe_add_drawable_*() already check for dcc != NULL. -- Marc-André Lureau ___ Spice-devel

Re: [Spice-devel] [RFC v4 57/62] server/reds: add RedsState.allow_multiple_clients (temp - add accessors too)

2011-05-02 Thread Marc-André Lureau
On Tue, Apr 26, 2011 at 12:55 PM, Alon Levy al...@redhat.com wrote: ---  server/reds.c |    6 +-  1 files changed, 5 insertions(+), 1 deletions(-) diff --git a/server/reds.c b/server/reds.c index 0ce6f1c..dc73202 100644 --- a/server/reds.c +++ b/server/reds.c @@ -228,6 +228,7 @@

Re: [Spice-devel] [RFC v4 54/62] server/red_worker: split cursor pipe item from cursor item

2011-05-02 Thread Marc-André Lureau
On Tue, Apr 26, 2011 at 12:55 PM, Alon Levy al...@redhat.com wrote: Required to support multiple clients. Also changes somewhat the way we produce PIPE_ITEM_TYPE_LOCAL_CURSOR. Btw, I haven't managed to see when we actually produce such an item during my tests. Previously we had a single pipe

Re: [Spice-devel] [RFC v4 53/62] server/red_worker: move free from display_channel_send_item to _release_item

2011-05-02 Thread Marc-André Lureau
On Tue, Apr 26, 2011 at 12:55 PM, Alon Levy al...@redhat.com wrote: ---  server/red_worker.c |   74 ++  1 files changed, 44 insertions(+), 30 deletions(-) diff --git a/server/red_worker.c b/server/red_worker.c index 4402570..6ab3d7c 100644 ---

Re: [Spice-devel] [RFC v4 52/62] server/red_worker: red_worker_main: call red_handle_streams_timeout for all clients

2011-05-02 Thread Marc-André Lureau
Could be merged with 41/62: server/red_worker: start using SURFACES_FOREACH On Tue, Apr 26, 2011 at 12:55 PM, Alon Levy al...@redhat.com wrote: ---  server/red_worker.c |    6 +-  1 files changed, 5 insertions(+), 1 deletions(-) diff --git a/server/red_worker.c b/server/red_worker.c

Re: [Spice-devel] [RFC v4 51/62] server/red_worker: get_streams_timeout: go over all clients

2011-05-02 Thread Marc-André Lureau
Are we scheduling each client stream independently? Also, I never looked at this code before, but my quick understanding is that we are trying to schedule sending frame on the server side, although the guest and the client already schedule the frame themselves. So what the heck are we really

Re: [Spice-devel] [RFC v4 50/62] server/red_worker: handle_dev_input RED_WORKER_MESSAGE_STOP: all clients

2011-05-02 Thread Marc-André Lureau
Could be merged with 41/62 start using SURFACES_FOREACH On Tue, Apr 26, 2011 at 12:55 PM, Alon Levy al...@redhat.com wrote: ---  server/red_worker.c |   12  1 files changed, 8 insertions(+), 4 deletions(-) diff --git a/server/red_worker.c b/server/red_worker.c index

Re: [Spice-devel] [RFC v4 49/62] server/red_worker: handle_dev_destroy_primary_surface: clear all primary copies

2011-05-02 Thread Marc-André Lureau
Could be merged with 41/62 start using SURFACES_FOREACH On Tue, Apr 26, 2011 at 12:55 PM, Alon Levy al...@redhat.com wrote: ---  server/red_worker.c |   13 -  1 files changed, 8 insertions(+), 5 deletions(-) diff --git a/server/red_worker.c b/server/red_worker.c index

Re: [Spice-devel] [RFC v4 48/62] server/red_worker: handle_dev_destroy_surfaces: clear all surfaces

2011-05-02 Thread Marc-André Lureau
Could be merged with 41/62 start using SURFACES_FOREACH On Tue, Apr 26, 2011 at 12:55 PM, Alon Levy al...@redhat.com wrote: ---  server/red_worker.c |   20 +---  1 files changed, 13 insertions(+), 7 deletions(-) diff --git a/server/red_worker.c b/server/red_worker.c index

Re: [Spice-devel] [RFC v4 41/62] server/red_worker: start using SURFACES_FOREACH

2011-05-02 Thread Marc-André Lureau
(tbh, I don't understand all the implications of this patch, I have only a partial view) On Tue, Apr 26, 2011 at 12:55 PM, Alon Levy al...@redhat.com wrote: ---  server/red_worker.c |   58 --  1 files changed, 42 insertions(+), 16 deletions(-)

Re: [Spice-devel] [RFC v4 47/62] server/red_worker: handle_dev_destroy_surface_wait: all clients surfaces

2011-05-02 Thread Marc-André Lureau
Could be merged with 41/62 start using SURFACES_FOREACH On Tue, Apr 26, 2011 at 12:55 PM, Alon Levy al...@redhat.com wrote: ---  server/red_worker.c |   10 +++---  1 files changed, 7 insertions(+), 3 deletions(-) diff --git a/server/red_worker.c b/server/red_worker.c index

Re: [Spice-devel] [RFC v4 45/62] server/red_worker: copy and free new surfaces after first client

2011-05-02 Thread Marc-André Lureau
Can you explain the choice to select arbitrarily some client as the primary? (why are the clients not treated the same way?) On Tue, Apr 26, 2011 at 12:55 PM, Alon Levy al...@redhat.com wrote: ---  server/red_worker.c |  138 +--  1 files

Re: [Spice-devel] [RFC v4 43/62] server/red_worker: red_create_surface - check for dcc before sending messages

2011-05-02 Thread Marc-André Lureau
I suppose there is a good reason, but I don't know it. red_create_surface_item() handles dcc = NULL, so why do we want to avoid it here? On Tue, Apr 26, 2011 at 12:55 PM, Alon Levy al...@redhat.com wrote: ---  server/red_worker.c |    9 ++---  1 files changed, 6 insertions(+), 3

Re: [Spice-devel] [RFC v4 42/62] server/red_worker: tiny cleanups

2011-05-02 Thread Marc-André Lureau
could be merged with 24/62: split Surfaces from RedWorker and 27/62 move streams from RedWorker to Surfaces (especially if you merge 24 and 27 as I proposed) On Tue, Apr 26, 2011 at 12:55 PM, Alon Levy al...@redhat.com wrote: ---  server/red_worker.c |    5 -  1 files changed, 4

Re: [Spice-devel] [RFC v4 40/62] server/red_worker: add ref counting to RedDrawable

2011-05-02 Thread Marc-André Lureau
On Tue, Apr 26, 2011 at 12:55 PM, Alon Levy al...@redhat.com wrote: When we start having multiple clients each drawable will be referenced by multiple clients, release happens when all clients are done with it. ---  server/red_parse_qxl.h |    1 +  server/red_worker.c    |   17

Re: [Spice-devel] [RFC v4 36/62] server/red_channel: add pipe_size helpers

2011-05-02 Thread Marc-André Lureau
Should probably be merged with 37/62 use pipe_size helpers. It's a bit awkward to have 3 similar functions, even though they will be completed later on. A bit of documentation to understand the intended usage could help. From my understanding, - sum_pipes_size(): return the sum of all the rcc

Re: [Spice-devel] [RFC v4 33/62] server/red_worker: fix red_pipe_remove_drawable

2011-05-02 Thread Marc-André Lureau
Why did you choose to do it seperately from 29/62? On Tue, Apr 26, 2011 at 12:54 PM, Alon Levy al...@redhat.com wrote: ---  server/red_worker.c |   11 ++-  1 files changed, 6 insertions(+), 5 deletions(-) diff --git a/server/red_worker.c b/server/red_worker.c index 4fbcb4f..a700f7e

Re: [Spice-devel] [RFC v4 32/62] server/red_worker: fix red_pipe_get_tail

2011-05-02 Thread Marc-André Lureau
Why did you choose to do it seperately from 29/62? On Tue, Apr 26, 2011 at 12:54 PM, Alon Levy al...@redhat.com wrote: ---  server/red_worker.c |   11 +--  1 files changed, 5 insertions(+), 6 deletions(-) diff --git a/server/red_worker.c b/server/red_worker.c index d6762be..4fbcb4f

Re: [Spice-devel] [RFC v4 30/62] server/red_worker: don't send redundant create surface to client

2011-05-02 Thread Marc-André Lureau
Could be merged with 29/62: server/red_worker: split display and cursor channels I would add the comment in the code. On Tue, Apr 26, 2011 at 12:54 PM, Alon Levy al...@redhat.com wrote: ---  server/red_worker.c |    2 +-  1 files changed, 1 insertions(+), 1 deletions(-) diff --git

Re: [Spice-devel] [RFC v4 28/62] server/red_channel: add two helper functions

2011-05-02 Thread Marc-André Lureau
Ack, could be merged with 03/62 introduce RedChannelClient On Tue, Apr 26, 2011 at 12:54 PM, Alon Levy al...@redhat.com wrote: ---  server/red_channel.c |   10 ++  server/red_channel.h |    3 +++  2 files changed, 13 insertions(+), 0 deletions(-) diff --git a/server/red_channel.c

Re: [Spice-devel] [RFC v4 21/62] server/inputs_channel: support multiple clients

2011-05-02 Thread Marc-André Lureau
On Tue, Apr 26, 2011 at 12:54 PM, Alon Levy al...@redhat.com wrote: from server events are broadcast - leds change. The rest is client to server, so it is just passed on. ---  server/inputs_channel.c |   77 +++  1 files changed, 38 insertions(+),

Re: [Spice-devel] [RFC v4 06/62] server/main_channel.c: set NET_TEST_STAGE_INVALID=0 explicitly

2011-05-02 Thread Marc-André Lureau
Agreed, but one patch over all spice code base instead of individual patches would be even better. On Tue, Apr 26, 2011 at 12:54 PM, Alon Levy al...@redhat.com wrote: ---  server/main_channel.c |    2 +-  1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/server/main_channel.c

Re: [Spice-devel] [RFC v4 20/62] server/main_channel: support multiple clients

2011-05-02 Thread Marc-André Lureau
On Tue, May 3, 2011 at 1:52 AM, Marc-André Lureau marcandre.lur...@gmail.com wrote: The ref system is not clear, why is it heap allocated? Some documentation about that Refs type would help. Forget the heap allocated part (I am not sure what I meant) I still find myself confused by that patch