On Tue, 2015-10-13 at 11:29 +0200, Christophe Fergeau wrote:
> These macros were automatically appending the needed CFLAGS/LIBS to
> variables passed as arguments. This is how spice-common uses them,
> but
> now how spice-gtk/spice want to use them, and is making the macros
"now how" -> "not how"
Hi Frediano,
I'm a bit conflicted about this patch series. Some of this stuff is
already handled (or at least partially handled) in the 'refactory'
branch. Since some of these objects have been refactored into GObjects
in that branch, they now have destructor functions that clean things
up. Of cou
Allows to free RedMemSlotInfo structure
Signed-off-by: Frediano Ziglio
---
server/red_memslots.c | 10 ++
server/red_memslots.h | 1 +
2 files changed, 11 insertions(+)
diff --git a/server/red_memslots.c b/server/red_memslots.c
index 1b3ec62..b77b4b4 100644
--- a/server/red_memslots.c
Clients that support multiple codecs must advertise the
SPICE_DISPLAY_CAP_MULTI_CODEC capability and one
SPICE_DISPLAY_CAP_CODEC_XXX per supported codec.
Signed-off-by: Francois Gouget
---
spice.proto | 2 ++
spice/enums.h| 2 ++
spice/protocol.h | 4
3 files changed, 8 insertions(
Signed-off-by: Francois Gouget
---
server/Makefile.am | 2 +-
server/mjpeg_encoder.c | 85 +++---
server/red_worker.c| 86 +-
server/video_encoder.h | 162 +
4 files changed, 257 insertions(+),
The Spice server administrator can specify the preferred encoder and
codec preferences to optimize for CPU or bandwidth usage. Preferences
are described in a semi-colon separated list of encoder:codec pairs.
For instance 'gstreamer:vp8;spice:mjpeg' to pick first the GStreamer
VP8 video encoder and
This lets us avoid naming conflicts when using GStreamer for other
purposes.
Signed-off-by: Francois Gouget
---
configure.ac| 18 +-
src/Makefile.am | 4 ++--
2 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/configure.ac b/configure.ac
index 577f9a9..85da9a4
Allows to close main thread.
For the moment there is no correct cleanup.
Signed-off-by: Frediano Ziglio
---
server/red_dispatcher.h | 3 +++
server/red_worker.c | 10 ++
server/red_worker.h | 3 +++
3 files changed, 16 insertions(+)
diff --git a/server/red_dispatcher.h b/serve
Signed-off-by: Frediano Ziglio
---
server/tests/replay.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/server/tests/replay.c b/server/tests/replay.c
index a17037c..39246b2 100644
--- a/server/tests/replay.c
+++ b/server/tests/replay.c
@@ -334,6 +334,8 @@ int main(int argc, char **argv)
Signed-off-by: Frediano Ziglio
---
server/reds.c | 7 +++
1 file changed, 7 insertions(+)
diff --git a/server/reds.c b/server/reds.c
index 5d2ad9b..5993863 100644
--- a/server/reds.c
+++ b/server/reds.c
@@ -3234,6 +3234,13 @@ SPICE_GNUC_VISIBLE int
spice_server_remove_interface(SpiceBaseIns
In order to better detect leaks inside the library I'm attempting
to implement a way to destroy QXL dispatcher and worker so to make
possible for a test to invoke it and then check if there are still
memory allocated.
The main idea is to use with spice-server-replay to be able to detect
possible l
Cleanup properly the working thread.
Signed-off-by: Frediano Ziglio
---
server/red_worker.c | 34 ++
server/reds.c | 2 ++
2 files changed, 36 insertions(+)
diff --git a/server/red_worker.c b/server/red_worker.c
index 7e11752..955ea8f 100644
--- a/server/r
Allows to destroy a dispatcher
Signed-off-by: Frediano Ziglio
---
server/dispatcher.c | 12
server/dispatcher.h | 6 ++
2 files changed, 18 insertions(+)
diff --git a/server/dispatcher.c b/server/dispatcher.c
index d6c03ca..ed7db20 100644
--- a/server/dispatcher.c
+++ b/server
Allows to destroy a RedDispatcher object
Signed-off-by: Frediano Ziglio
---
server/red_dispatcher.c | 54 +
server/red_dispatcher.h | 1 +
2 files changed, 55 insertions(+)
diff --git a/server/red_dispatcher.c b/server/red_dispatcher.c
index 660d
This makes it possible to test the GStreamer video decoder with MJPEG
streams.
Signed-off-by: Francois Gouget
---
configure.ac | 11 +++
src/Makefile.am| 7 ++-
src/channel-display-priv.h | 2 ++
src/channel-display.c | 5 +
4 files changed, 24 i
Otherwise it may get wrapped to a much lower value than intended.
Signed-off-by: Francois Gouget
---
server/gstreamer_encoder.c | 65 +++---
1 file changed, 62 insertions(+), 3 deletions(-)
Changes since the previous version:
* Moved the bitrate limitin
This means future video codecs may be supported automatically.
One can also force usage of decodebin by setting $SPICE_GSTVIDEO_AUTO.
Signed-off-by: Francois Gouget
---
src/channel-display-gst.c | 21 ++---
1 file changed, 18 insertions(+), 3 deletions(-)
Changes since the prev
Signed-off-by: Francois Gouget
---
src/channel-display-gst.c | 88 +--
1 file changed, 85 insertions(+), 3 deletions(-)
Changes since the previous version:
* pipeline_wait is a boolean.
diff --git a/src/channel-display-gst.c b/src/channel-display-g
Based on a patch by Jeremy White.
Signed-off-by: Francois Gouget
---
configure.ac | 27 -
src/Makefile.am| 8 ++
src/channel-display-gst.c | 238 +
src/channel-display-priv.h | 6 ++
src/channel-display.c | 10
Also modify the MJPEG video decoder to use Spice's allocator instead of
explicitly depending on the glib one.
Signed-off-by: Francois Gouget
---
src/channel-display-mjpeg.c | 11 ---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/src/channel-display-mjpeg.c b/src/channel-d
The video decoder no longer stores its internal state in the
display_stream struct, or depend on it to know which frame to decode or
store the decoded frame. This way adding alternative implementations
will not pile all their implementation details in display_stream and
they will have more flexibil
configure will use GStreamer 1.0 if present and fall back to
GStreamer 0.10 otherwise.
Signed-off-by: Francois Gouget
---
configure.ac | 35
server/Makefile.am | 8 +
server/gstreamer_encoder.c | 79 ++
s
This way the video encoder is not forced to use malloc()/free().
This also allows more flexibility in how the video encoder manages the
buffer which allows for a zero-copy implementation in both video
encoders.
The current implementations also ensure that there is no reallocation
of the VideoBuffer
This prevents the bit rate from going insanely high on fast networks
for no visible video quality improvement.
Signed-off-by: Francois Gouget
---
server/gstreamer_encoder.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/server/gstreamer_encoder.c b/server/gstreamer_encoder.c
index d31a15e
This relies on the GStreamer buffer's lifetime being short enough which
it is because:
- We encode frames one by one.
- For all encoders but MJPEG, the first element of the pipeline will
convert the bitmap to another image format which entails copying it.
So by the time the encoder starts i
This typically happens when sending very small frames (less than
16 pixels in one dimension) to the x264enc encoder.
This avoids repeatedly wasting time rebuilding the pipeline.
Signed-off-by: Francois Gouget
---
server/gstreamer_encoder.c | 48 --
1 f
Signed-off-by: Frediano Ziglio
---
server/red_dispatcher.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/server/red_dispatcher.c b/server/red_dispatcher.c
index b11cd42..660dad8 100644
--- a/server/red_dispatcher.c
+++ b/server/red_dispatcher.c
@@ -336,9 +336,10 @@ static
The video encoder uses the client reports and/or notifications of
server frame drops as its feedback mechanisms. In particular it keeps
track of the maximum video margin and reduces the bit rate whenever the
margin goes below certain thresholds or decreases too sharply.
It uses these to figure out
Signed-off-by: Francois Gouget
---
scripts/Xspice | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/scripts/Xspice b/scripts/Xspice
index 52b1b16..88f8a1d 100755
--- a/scripts/Xspice
+++ b/scripts/Xspice
@@ -86,6 +86,7 @@ parser.add_argument('--zlib-glz-wan-compression',
# TO
Signed-off-by: Frediano Ziglio
---
server/dispatcher.h | 1 -
1 file changed, 1 deletion(-)
diff --git a/server/dispatcher.h b/server/dispatcher.h
index 8cfa1d4..d522dab 100644
--- a/server/dispatcher.h
+++ b/server/dispatcher.h
@@ -24,7 +24,6 @@ typedef struct DispatcherMessage {
} DispatcherM
cinfo.dest is allocated in spice_jpeg_mem_dest but never freed.
Note that jpeg_destroy_compress does not free this field as is
supposed to be a buffer provided by jpeg caller.
Signed-off-by: Frediano Ziglio
---
server/mjpeg_encoder.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/server/mjp
The GStreamer codecs don't follow the specified bit rate very closely:
they can decide to exceed it for ten seconds or more if they consider
the scene deserves it. Such long bursts are enough to cause network
congestion, resulting in many lost frames which cause significant
display corruption.
So t
Signed-off-by: Francois Gouget
---
server/gstreamer_encoder.c | 17 -
server/red_dispatcher.c| 2 ++
2 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/server/gstreamer_encoder.c b/server/gstreamer_encoder.c
index e31b7c1..2bc6e65 100644
--- a/server/gstreamer_enc
Signed-off-by: Francois Gouget
---
examples/spiceqxl.xorg.conf.example | 7 +++
src/qxl.h | 1 +
src/qxl_driver.c| 2 ++
src/spiceqxl_spice_server.c | 15 +++
4 files changed, 25 insertions(+)
diff --git a/examples/spiceqxl
This introduces a pared down GStreamer-based video encoder to serve as
the basis for later enhancements.
In this form the new encoder supports both regular and sized streams
but lacks any rate control. It should still work fine if bandwidth is
sufficient such as on LANs.
Signed-off-by: Francois Go
Signed-off-by: Francois Gouget
---
server/mjpeg_encoder.c | 53 +-
server/mjpeg_encoder.h | 26 +++--
server/red_worker.c| 22 -
3 files changed, 59 insertions(+), 42 deletions(-)
diff --git a/server/mjpe
This also allows getting rid of a couple of forward definitions.
Signed-off-by: Francois Gouget
---
server/mjpeg_encoder.c | 74 +++---
1 file changed, 34 insertions(+), 40 deletions(-)
It will also simplify the following patches.
diff --git a/serv
This is the sixth iteration of these patches. I believe that I have
taken into account all the remarks from the previous round, the
exceptions being those I sent an email about.
Let me know if there are changes that are needed for inclusion.
To simplify testing, one can also get the patches
Signed-off-by: Francois Gouget
---
server/red_worker.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/server/red_worker.c b/server/red_worker.c
index babb597..616be72 100644
--- a/server/red_worker.c
+++ b/server/red_worker.c
@@ -8512,8 +8512,7 @@ static int encode_frame(Di
Note that this requires some adjustments to the encode_frame()
parameters to avoid red_worker-specific types.
Signed-off-by: Francois Gouget
---
server/mjpeg_encoder.c | 74 +++---
server/mjpeg_encoder.h | 6 ++--
server/red_worker.c| 73 -
Only check for address lenght, when connecting trough IP address.
It is not used, when connecting trough DNS hostname.
---
Changes since v2:
- Also moved variable declarations
Changes since v1:
- New patch
---
common/ssl_verify.c | 15 ---
1 file changed, 8 insertions(+), 7 deletion
This is required by the new IPv6 verify_hostname.
---
Changes since v2:
- New patch
---
m4/spice-deps.m4 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/m4/spice-deps.m4 b/m4/spice-deps.m4
index e4b2c8d..8ef4835 100644
--- a/m4/spice-deps.m4
+++ b/m4/spice-deps.m4
@@ -155,7 +1
Change inet_aton function to glib functions.
inet_aton only supported IPv4 addresses, and wasn't available on windows
machines. GInetAddress functions support IPv6 natively, and requires less
boilerplate code then IPv6 gettaddrinfo().
---
Changes since v2:
- Now uses glib gio GInetAddress
- R
ack
- Original Message -
> This gets it into the .gitignore, and gets it cleaned
> by a maintainer-clean.
>
> Signed-off-by: Jeremy White
> ---
> Makefile.am | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/Makefile.am b/Makefile.am
> index fb1c00b..07df869 100644
> --- a/Ma
ack
- Original Message -
> Signed-off-by: Jeremy White
> ---
> m4/ax_append_link_flags.m4 | 63 +++
> m4/ax_check_link_flag.m4 | 74
> ++
> 2 files changed, 137 insertions(+)
> create mode 100644 m4/ax_ap
Signed-off-by: Jeremy White
---
m4/ax_append_link_flags.m4 | 63 +++
m4/ax_check_link_flag.m4 | 74 ++
2 files changed, 137 insertions(+)
create mode 100644 m4/ax_append_link_flags.m4
create mode 100644 m4/ax_chec
This gets it into the .gitignore, and gets it cleaned
by a maintainer-clean.
Signed-off-by: Jeremy White
---
Makefile.am | 3 +++
1 file changed, 3 insertions(+)
diff --git a/Makefile.am b/Makefile.am
index fb1c00b..07df869 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -92,6 +92,9 @@ EXTRA_DIST
Hi,
Thanks for the review.
On Wed, Oct 14, 2015 at 12:28:41PM +0200, Christophe Fergeau wrote:
> On Wed, Oct 14, 2015 at 12:15:16PM +0200, Victor Toso wrote:
> > ---
> > tests/Makefile.am | 25 +++--
> > 1 file changed, 23 insertions(+), 2 deletions(-)
> >
> > diff --git a/t
On Tue, Oct 13, 2015 at 10:56:00AM +0200, Christophe Fergeau wrote:
> The binaries in tests/ need a static build of spice-gtk libraries in
> order to be built, but by default, we disable static libraries at
> LT_INIT() time.
> As the compile failure can be quite cryptic when someone
> tries to manu
On Wed, Oct 14, 2015 at 12:15:16PM +0200, Victor Toso wrote:
> ---
> tests/Makefile.am | 25 +++--
> 1 file changed, 23 insertions(+), 2 deletions(-)
>
> diff --git a/tests/Makefile.am b/tests/Makefile.am
> index 19c02b6..e28f880 100644
> --- a/tests/Makefile.am
> +++ b/tests/
Hi,
On Tue, Oct 13, 2015 at 11:54:15AM +0200, Christophe Fergeau wrote:
> On Tue, Oct 13, 2015 at 11:39:17AM +0200, Victor Toso wrote:
> > ack as well.
> >
> > I really don't understand why we do tests on when --enable-static only.
> > Personally I prefer --enable-debug and do the linking...
> >
>
---
tests/Makefile.am | 25 +++--
1 file changed, 23 insertions(+), 2 deletions(-)
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 19c02b6..e28f880 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -25,10 +25,31 @@ LDADD =
Default for building tests is 'yes' and one can disable it
--disable-tests.
---
configure.ac | 11 +--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/configure.ac b/configure.ac
index 577f9a9..e786e9d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -8,7 +8,7 @@ m4_include([s
This commit updates spice-common to latest git master.
Since the argument to the SPICE_CHECK_xxx macros is now unused, it's
cleaner to remove it.
Christophe Fergeau (3):
Add marshaller test case
build-sys: Use ${PKG_CONFIG} rather than pkg-config
build-sys: Rework SPICE_CHECK_* m
On Wed, Oct 14, 2015 at 08:26:47AM +0200, Victor Toso wrote:
> Hey,
>
> On Mon, Oct 12, 2015 at 04:38:22PM +0200, Christophe Fergeau wrote:
> > Otherwise it will be leaked.
>
> Actually, it was leaking before:
Yes, I noticed this by running valgrind on test-session. I'll add the
trace to the com
On Wed, Oct 14, 2015 at 08:16:33AM +0200, Victor Toso wrote:
> Hi,
>
> On Tue, Oct 13, 2015 at 11:29:25AM +0200, Christophe Fergeau wrote:
> > These macros were automatically appending the needed CFLAGS/LIBS to
> > variables passed as arguments. This is how spice-common uses them, but
> > now how
56 matches
Mail list logo