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);
}