Re: [spice-protocol PATCH v3] volume-sync: spice-protocol, spice-gtk and linux-vdagent

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Mar 27, 2015 at 03:42:03PM +0100, Victor Toso wrote:
> Hi,
> 
> On Fri, Mar 27, 2015 at 10:23:41AM -0400, Marc-André Lureau wrote:
> >
> > Hi
> >
> > ----- Original Message -----
> > > The volume-sync is done once after agent connects.
> > >
> > > gstreamer backend: we get the volume from the sink/src elements. Even if the
> > > playback/record channels are not created we can start the pipeline and
> > > retrieve
> > > the last/current/default volume from those elements.
> > > Pulsesink and pulsesrc are more common to be used in linux and the retrieved
> > > value for volume/mute are the last of the application which is stored at
> > > $HOME/.config/pulse/random-num-stream-volumes.tdb
> > >
> > > pulse backend: as the communication between application and pulse happens
> > > only
> > > by async calls, if the playback/record channel were not created it's not
> > > possible
> > > to start pulse and retrieve this values sync without using PA threaded as GST
> > > pulse
> > > elements do. For now, spice-pulse become aware of volume changes in the
> > > client which
> > > is enough to solve volume-changes with migration (agent re-connect and the
> > > volume is
> > > sync with client)
> >
> > Right, but is it race free when you just start a session? Couldn't you try
> > to get the current volume while it's not been yet received?
>
> You got me here, I'm not sure about this. AFAIK as spice-pulse uses
> glib-mainloop it should be in the same context, right? I'll take a
> better look into this.

I don't think it may lead to race problems as the call to get volume and
the volume update are handled in the same glib-mainloop.
_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/spice-devel





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]