[byzanz] Remove the QUANTIZE job
- From: Benjamin Otte <otte src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [byzanz] Remove the QUANTIZE job
- Date: Wed, 26 Aug 2009 10:21:52 +0000 (UTC)
commit 3a81d9c4b216ea7045605f9652ec914301e9742e
Author: Benjamin Otte <otte gnome org>
Date: Wed Aug 19 21:35:43 2009 +0200
Remove the QUANTIZE job
Quantize from the first image that arrives instead
src/byzanzsession.c | 24 +++++-------------------
1 files changed, 5 insertions(+), 19 deletions(-)
---
diff --git a/src/byzanzsession.c b/src/byzanzsession.c
index 0082675..3cd1443 100644
--- a/src/byzanzsession.c
+++ b/src/byzanzsession.c
@@ -55,8 +55,6 @@ typedef enum {
typedef enum {
SESSION_JOB_QUIT,
- SESSION_JOB_QUIT_NOW,
- SESSION_JOB_QUANTIZE,
SESSION_JOB_ENCODE,
SESSION_JOB_USE_FILE_CACHE,
} SessionJobType;
@@ -494,6 +492,7 @@ byzanz_session_run_encoder (gpointer data)
SessionJob *job;
GTimeVal quit_tv;
gboolean quit = FALSE;
+ gboolean has_quantized = FALSE;
#define USING_FILE_CACHE(rec) ((rec)->file_cache_data_size > 0)
rec->cur_cache_fd = -1;
@@ -519,10 +518,11 @@ loop:
job = g_async_queue_pop (rec->jobs);
}
switch (job->type) {
- case SESSION_JOB_QUANTIZE:
- byzanz_session_quantize (rec, job->image);
- break;
case SESSION_JOB_ENCODE:
+ if (!has_quantized) {
+ byzanz_session_quantize (rec, job->image);
+ has_quantized = TRUE;
+ }
if (USING_FILE_CACHE (rec)) {
while (!stored_image_store (rec, job->image, job->region, &job->tv)) {
if (!stored_image_process (rec))
@@ -541,10 +541,6 @@ loop:
rec->file_cache_data = g_malloc (rec->file_cache_data_size);
}
break;
- case SESSION_JOB_QUIT_NOW:
- /* clean up cache files and exit */
- g_assert_not_reached ();
- break;
case SESSION_JOB_QUIT:
quit_tv = job->tv;
quit = TRUE;
@@ -897,20 +893,10 @@ void
byzanz_session_start (ByzanzSession *rec)
{
Display *dpy;
- SessionJob *job;
- GTimeVal tv;
g_return_if_fail (BYZANZ_IS_SESSION (rec));
g_return_if_fail (rec->state == SESSION_STATE_CREATED);
- rec->region = gdk_region_rectangle (&rec->area);
- g_get_current_time (&tv);
- job = session_job_new (rec, SESSION_JOB_QUANTIZE, &tv, rec->region);
- g_async_queue_push (rec->jobs, job);
- rec->region = NULL;
-
- g_assert (rec->region == NULL);
-
dpy = gdk_x11_display_get_xdisplay (gdk_display_get_default ());
rec->region = gdk_region_rectangle (&rec->area);
gdk_window_add_filter (rec->window,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]