summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--AUTHORS1
-rw-r--r--server/red-qxl.cpp1
-rw-r--r--server/red-stream.cpp5
-rw-r--r--server/sound.cpp3
-rw-r--r--server/tests/test-display-streaming.c2
5 files changed, 8 insertions, 4 deletions
diff --git a/AUTHORS b/AUTHORS
index 593ec572..3916b849 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -90,5 +90,6 @@ Patches also contributed by
Volker RĂ¼melin <vr_qemu@t-online.de>
Biswapriyo Nath <nathbappai@gmail.com>
Vivek Kasireddy <vivek.kasireddy@intel.com>
+ osy <osy@turing.llc>
....send patches to get your name here...
diff --git a/server/red-qxl.cpp b/server/red-qxl.cpp
index 48c293ae..1135fd52 100644
--- a/server/red-qxl.cpp
+++ b/server/red-qxl.cpp
@@ -432,7 +432,6 @@ void spice_qxl_gl_scanout(QXLInstance *qxl,
spice_return_if_fail(qxl != nullptr);
QXLState *qxl_state = qxl->st;
- spice_return_if_fail(qxl_state->gl_draw_cookie == GL_DRAW_COOKIE_INVALID);
pthread_mutex_lock(&qxl_state->scanout_mutex);
diff --git a/server/red-stream.cpp b/server/red-stream.cpp
index 89222702..22fd6bac 100644
--- a/server/red-stream.cpp
+++ b/server/red-stream.cpp
@@ -44,7 +44,7 @@
#include "websocket.h"
// compatibility for *BSD systems
-#if !defined(TCP_CORK) && !defined(_WIN32)
+#if !defined(TCP_CORK) && !defined(_WIN32) && !defined(__APPLE__)
#define TCP_CORK TCP_NOPUSH
#endif
@@ -106,7 +106,8 @@ struct RedStreamPrivate {
SpiceCoreInterfaceInternal *core;
};
-#ifndef _WIN32
+// TCP_NOPUSH is broken on Darwin
+#if !defined(_WIN32) && !defined(__APPLE__)
/**
* Set TCP_CORK on socket
*/
diff --git a/server/sound.cpp b/server/sound.cpp
index 2142f204..0fcc8e76 100644
--- a/server/sound.cpp
+++ b/server/sound.cpp
@@ -891,6 +891,8 @@ SPICE_GNUC_VISIBLE void spice_server_playback_get_buffer(SpicePlaybackInstance *
uint32_t **samples,
uint32_t *num_samples)
{
+ // FIXME does not make sense, samples should be on channel so to
+ // make possible multiple clients.
SndChannelClient *client = snd_channel_get_client(sin->st);
*samples = nullptr;
@@ -934,6 +936,7 @@ SPICE_GNUC_VISIBLE void spice_server_playback_put_samples(SpicePlaybackInstance
}
spice_assert(playback_client->active);
+ // overflow ??? support more pending ??
if (playback_client->pending_frame) {
snd_playback_free_frame(playback_client, playback_client->pending_frame);
}
diff --git a/server/tests/test-display-streaming.c b/server/tests/test-display-streaming.c
index 69703a0c..c19d954d 100644
--- a/server/tests/test-display-streaming.c
+++ b/server/tests/test-display-streaming.c
@@ -215,7 +215,7 @@ static void get_stream_commands(Command *commands, int num_commands,
static void get_commands(Command **commands, int *num_commands)
{
*num_commands = NUM_COMMANDS * 2;
- *commands = (Command*) calloc(sizeof(Command), *num_commands);
+ *commands = (Command*) calloc(*num_commands, sizeof(Command));
get_stream_commands(*commands, NUM_COMMANDS, create_frame1);
get_stream_commands((*commands) + NUM_COMMANDS, NUM_COMMANDS, create_frame2);