summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--server/red_dispatcher.c9
-rw-r--r--server/red_worker.c1
-rw-r--r--server/reds-private.h2
-rw-r--r--server/reds.c13
-rw-r--r--server/snd_worker.c1
-rw-r--r--server/spice-qxl.h2
6 files changed, 2 insertions, 26 deletions
diff --git a/server/red_dispatcher.c b/server/red_dispatcher.c
index a6ffe7be..d8389bc5 100644
--- a/server/red_dispatcher.c
+++ b/server/red_dispatcher.c
@@ -751,15 +751,6 @@ static void qxl_worker_loadvm_commands(QXLWorker *qxl_worker,
red_dispatcher_loadvm_commands((RedDispatcher*)qxl_worker, ext, count);
}
-void red_dispatcher_set_mm_time(uint32_t mm_time)
-{
- RedDispatcher *now = dispatchers;
- while (now) {
- now->qxl->st->qif->set_mm_time(now->qxl, mm_time);
- now = now->next;
- }
-}
-
static inline int calc_compression_level(void)
{
spice_assert(streaming_video != STREAM_VIDEO_INVALID);
diff --git a/server/red_worker.c b/server/red_worker.c
index 9f184955..cbb78a23 100644
--- a/server/red_worker.c
+++ b/server/red_worker.c
@@ -4195,6 +4195,7 @@ static inline void red_process_drawable(RedWorker *worker, RedDrawable *red_draw
return;
}
+ red_drawable->mm_time = reds_get_mm_time();
surface_id = drawable->surface_id;
worker->surfaces[surface_id].refs++;
diff --git a/server/reds-private.h b/server/reds-private.h
index ee09e7cd..0bfbf3bc 100644
--- a/server/reds-private.h
+++ b/server/reds-private.h
@@ -6,7 +6,6 @@
#include <spice/protocol.h>
#define MIGRATE_TIMEOUT (1000 * 10) /* 10sec */
-#define MM_TIMER_GRANULARITY_MS (1000 / 30)
#define MM_TIME_DELTA 400 /*ms*/
typedef struct TicketAuthentication {
@@ -159,7 +158,6 @@ typedef struct RedsState {
int dispatcher_allows_client_mouse;
MonitorMode monitor_mode;
SpiceTimer *mig_timer;
- SpiceTimer *mm_timer;
int vm_running;
Ring char_devs_states; /* list of SpiceCharDeviceStateItem */
diff --git a/server/reds.c b/server/reds.c
index 7ecea13c..f868cd81 100644
--- a/server/reds.c
+++ b/server/reds.c
@@ -2830,7 +2830,6 @@ uint32_t reds_get_mm_time(void)
void reds_enable_mm_timer(void)
{
- core->timer_start(reds->mm_timer, MM_TIMER_GRANULARITY_MS);
reds->mm_timer_enabled = TRUE;
reds->mm_time_latency = MM_TIME_DELTA;
reds_send_mm_time();
@@ -2838,16 +2837,9 @@ void reds_enable_mm_timer(void)
void reds_disable_mm_timer(void)
{
- core->timer_cancel(reds->mm_timer);
reds->mm_timer_enabled = FALSE;
}
-static void mm_timer_proc(void *opaque)
-{
- red_dispatcher_set_mm_time(reds_get_mm_time());
- core->timer_start(reds->mm_timer, MM_TIMER_GRANULARITY_MS);
-}
-
static SpiceCharDeviceState *attach_to_red_agent(SpiceCharDeviceInstance *sin)
{
VDIPortState *state = &reds->agent_state;
@@ -3271,11 +3263,6 @@ static int do_spice_init(SpiceCoreInterface *core_interface)
}
#endif
- if (!(reds->mm_timer = core->timer_add(mm_timer_proc, NULL))) {
- spice_error("mm timer create failed");
- }
- reds_enable_mm_timer();
-
if (reds_init_net() < 0) {
goto err;
}
diff --git a/server/snd_worker.c b/server/snd_worker.c
index 70148b76..77bb3ca6 100644
--- a/server/snd_worker.c
+++ b/server/snd_worker.c
@@ -1117,7 +1117,6 @@ SPICE_GNUC_VISIBLE void spice_server_playback_put_samples(SpicePlaybackInstance
snd_playback_free_frame(playback_channel, playback_channel->pending_frame);
}
frame->time = reds_get_mm_time();
- red_dispatcher_set_mm_time(frame->time);
playback_channel->pending_frame = frame;
snd_set_command(&playback_channel->base, SND_PLAYBACK_PCM_MASK);
snd_playback_send(&playback_channel->base);
diff --git a/server/spice-qxl.h b/server/spice-qxl.h
index ddf599a1..31ff742f 100644
--- a/server/spice-qxl.h
+++ b/server/spice-qxl.h
@@ -156,7 +156,7 @@ struct QXLInterface {
void (*attache_worker)(QXLInstance *qin, QXLWorker *qxl_worker);
void (*set_compression_level)(QXLInstance *qin, int level);
- void (*set_mm_time)(QXLInstance *qin, uint32_t mm_time);
+ void (*set_mm_time)(QXLInstance *qin, uint32_t mm_time) SPICE_GNUC_DEPRECATED;
void (*get_init_info)(QXLInstance *qin, QXLDevInitInfo *info);
int (*get_command)(QXLInstance *qin, struct QXLCommandExt *cmd);