Blame SOURCES/0021-Fix-assert-in-mjpeg_encoder_adjust_params_to_bit_rat.patch

e2c81d
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
fce154
From: Jonathon Jongsma <jjongsma@redhat.com>
fce154
Date: Fri, 30 May 2014 13:45:02 -0500
fce154
Subject: [PATCH] Fix assert in mjpeg_encoder_adjust_params_to_bit_rate()
fce154
fce154
If mjpeg_encoder_reset_quality() is called with the same quality as currently
fce154
set, it will not reset last_enc_size but not reset num_recent_enc_frames,
fce154
violating some assumptions in _adjust_params_to_bit_rate(). To avoid aborting
fce154
the server, simply return early from this function.
fce154
fce154
Resolves: rhbz#1070028
fce154
(cherry picked from commit 284cca2a5ebc98257275585083321a7100fb89b3)
fce154
---
fce154
 server/mjpeg_encoder.c | 5 ++++-
fce154
 1 file changed, 4 insertions(+), 1 deletion(-)
fce154
fce154
diff --git a/server/mjpeg_encoder.c b/server/mjpeg_encoder.c
fce154
index 04b244e..223fe64 100644
fce154
--- a/server/mjpeg_encoder.c
fce154
+++ b/server/mjpeg_encoder.c
fce154
@@ -624,7 +624,10 @@ static void mjpeg_encoder_adjust_params_to_bit_rate(MJpegEncoder *encoder)
fce154
         return;
fce154
     }
fce154
 
fce154
-    spice_assert(rate_control->num_recent_enc_frames);
fce154
+    if (!rate_control->num_recent_enc_frames) {
fce154
+        spice_debug("No recent encoded frames");
fce154
+        return;
fce154
+    }
fce154
 
fce154
     if (rate_control->num_recent_enc_frames < MJPEG_AVERAGE_SIZE_WINDOW &&
fce154
         rate_control->num_recent_enc_frames < rate_control->fps) {