wcap: Discard first frame since it doesn't have a full frame of damage
diff --git a/src/screenshooter.c b/src/screenshooter.c
index d368cfd..d9f26ba 100644
--- a/src/screenshooter.c
+++ b/src/screenshooter.c
@@ -216,6 +216,7 @@
 	uint32_t total;
 	int fd;
 	struct wl_listener frame_listener;
+	int count;
 };
 
 static uint32_t *
@@ -261,6 +262,11 @@
 	r = pixman_region32_rectangles(&damage, &n);
 	if (n == 0)
 		return;
+	if (recorder->count++ == 0)
+		/* The first callback gives us the frame immediately
+		 * before the weston_output_damage() call, and
+		 * typically doesn't give us a full frame of damage.*/
+		return;
 
 	header.msecs = msecs;
 	header.nrects = n;
@@ -339,6 +345,7 @@
 	recorder->frame = malloc(size);
 	recorder->rect = malloc(size);
 	recorder->total = 0;
+	recorder->count = 0;
 	memset(recorder->frame, 0, size);
 
 	recorder->fd = open(filename,
@@ -394,8 +401,9 @@
 		recorder = container_of(listener, struct weston_recorder,
 					frame_listener);
 
-		fprintf(stderr, "stopping recorder, total file size %dM\n",
-			recorder->total / (1024 * 1024));
+		fprintf(stderr,
+			"stopping recorder, total file size %dM, %d frames\n",
+			recorder->total / (1024 * 1024), recorder->count);
 
 		weston_recorder_destroy(recorder);
 	} else {