[Spice-devel] [spice-gtk 1/2] build-sys: require spice-protocol 0.12.4
Frediano Ziglio
fziglio at redhat.com
Thu May 31 09:24:14 UTC 2018
>
> Hi,
>
> On Thu, May 31, 2018 at 04:36:57AM -0400, Frediano Ziglio wrote:
> > >
> > > From: Victor Toso <me at victortoso.com>
> > >
> > > This is mostly needed form client side optimizations on streaming
> > > mode. The following change introduced dependency of latest
> > > spice-protocol:
> > >
> > > | commit 424397546463698c2912b15449ef5e94f2c39c12
> > > | Author: Snir Sheriber <ssheribe at redhat.com>
> > > | Date: Thu Mar 8 15:57:31 2018 +0200
> > > |
> > > | Gstreamer: Use GstVideoOverlay if possible
> > >
> > > The spice-protocol commit for reference:
> > >
> > > | commit 4250216bafd37905afe0e9ad8cb9beb4a0c89254
> > > | Author: Frediano Ziglio <fziglio at redhat.com>
> > > | Date: Tue Nov 7 10:45:20 2017 +0000
> > > |
> > > | Allow to specify a surface will be streamed
> > > |
> > > | This flag will allow the client to perform some optimisations
> > > | on output and buffering processing.
> > > | Old clients will ignore this additional flag.
> > >
> > > Note that without bumping the requirement, the code would fail to
> > > build with:
> > >
> > > | channel-display.c:1809:50: error: ‘SPICE_SURFACE_FLAGS_STREAMING_MODE’
> > > | undeclared (first use in this function); did you mean
> > > | ‘SPICE_DISPLAY_STREAMING_MODE’?
> > > | surface->streaming_mode = !!(create->flags &
> > > | SPICE_SURFACE_FLAGS_STREAMING_MODE);
> > > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > >
> > > Signed-off-by: Victor Toso <victortoso at redhat.com>
> > > ---
> > > configure.ac | 2 +-
> > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/configure.ac b/configure.ac
> > > index a9a7eb9..768e180 100644
> > > --- a/configure.ac
> > > +++ b/configure.ac
> > > @@ -86,7 +86,7 @@ AC_CHECK_LIBM
> > > AC_SUBST(LIBM)
> > >
> > > AC_CONFIG_SUBDIRS([spice-common])
> > > -PKG_CHECK_MODULES([SPICE_PROTOCOL], [spice-protocol >= 0.12.13])
> > > +PKG_CHECK_MODULES([SPICE_PROTOCOL], [spice-protocol >= 0.12.14])
> > >
> > > COMMON_CFLAGS='-I${top_builddir}/spice-common/
> > > -I${top_srcdir}/spice-common/
> > > ${SPICE_PROTOCOL_CFLAGS}'
> > > AC_SUBST(COMMON_CFLAGS)
> >
> > The only problem is that officially there's no 0.12.14 version.
>
> WIP... but we still depend on it on the unreleased version of
> spice-gtk ;)
>
> https://koji.fedoraproject.org/koji/taskinfo?taskID=27319331
>
Yes, you are right, the patches are "prepare for", not "release" and
code won't compile so does not make sense to wait.
Acked-by: Frediano Ziglio <fziglio at redhat.com>
OT: checked code, no ABI incompatibility.
very OT: about API compatibility, won't be good to provide, beside old
ABI for compatibility also API like:
G_DEPRECATED_FOR(spice_display_channel_get_primary)
static inline gboolean
spice_display_get_primary(SpiceChannel *channel, guint32 surface_id,
SpiceDisplayPrimary *primary)
{
return spice_display_channel_get_primary(channel, surface_id, primary);
}
?
That way recompiling will produce warning but also will use the new ABIs
without requiring code changes.
Frediano
More information about the Spice-devel
mailing list