From 6ec2dc390ea5698a32bbead75820d78b2b59a48d Mon Sep 17 00:00:00 2001 From: Martin Pulec Date: Mon, 16 Jan 2012 10:42:04 +0100 Subject: [PATCH] SAGE: fixed exiting TODO: figure out deleting SAGE objects (reconfiguration + exit), since it seems that this piece of SAGE is not working correctly --- ultragrid/src/video_display/sage.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ultragrid/src/video_display/sage.c b/ultragrid/src/video_display/sage.c index 558294e1e..f9e1911dc 100644 --- a/ultragrid/src/video_display/sage.c +++ b/ultragrid/src/video_display/sage.c @@ -106,6 +106,8 @@ void display_sage_run(void *arg) //display_sage_handle_events(); sem_wait(&s->semaphore); + if (should_exit) + break; sage_swapBuffer(s->sage_state); s->tile->data = (char *) sage_getBuffer(s->sage_state); @@ -164,6 +166,7 @@ void display_sage_finish(void *state) struct state_sage *s = (struct state_sage *)state; assert(s->magic == MAGIC_SAGE); + display_sage_putf(s, NULL); } void display_sage_done(void *state) @@ -176,7 +179,7 @@ void display_sage_done(void *state) pthread_mutex_destroy(&s->buffer_writable_lock); vf_free(s->frame); sage_shutdown(s->sage_state); - sage_delete(s->sage_state); + //sage_delete(s->sage_state); } struct video_frame *display_sage_getf(void *state)