GUACAMOLE-482: Merge encoding error handling improvements.
diff --git a/src/guacenc/encode.c b/src/guacenc/encode.c
index 854c5c6..2d74a9b 100644
--- a/src/guacenc/encode.c
+++ b/src/guacenc/encode.c
@@ -63,8 +63,11 @@
 
     /* Continuously read and handle all instructions */
     while (!guac_parser_read(parser, socket, -1)) {
-        guacenc_handle_instruction(display, parser->opcode,
-                parser->argc, parser->argv);
+        if (guacenc_handle_instruction(display, parser->opcode,
+                parser->argc, parser->argv)) {
+            guac_parser_free(parser);
+            return 1;
+        }
     }
 
     /* Fail on read/parse error */
diff --git a/src/guacenc/video.c b/src/guacenc/video.c
index 4ca84f6..4592a2b 100644
--- a/src/guacenc/video.c
+++ b/src/guacenc/video.c
@@ -228,7 +228,11 @@
 
         /* Flush frames to bring timeline in sync, duplicating if necessary */
         do {
-            guacenc_video_flush_frame(video);
+            if (guacenc_video_flush_frame(video)) {
+                guacenc_log(GUAC_LOG_ERROR, "Unable to flush frame to video "
+                        "stream.");
+                return 1;
+            }
         } while (--elapsed != 0);
 
     }