aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/codec/SkCodecImageGenerator.cpp
diff options
context:
space:
mode:
authorGravatar Leon Scroggins III <scroggo@google.com>2017-07-06 12:26:09 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-07-06 16:49:36 +0000
commit674a1848ae62277ea9a2d022b60aa1f17d306f17 (patch)
tree0f1b7396e4a7c3d2c561fd96969063e51062faaa /src/codec/SkCodecImageGenerator.cpp
parent005a970eb9d70e729cdebf0f79551577b112aa7b (diff)
Add SkCodec::Result indicating error in the data
Previously, SkGifCodec treated an error in the LZW data as incomplete, since we can still draw the partially decoded image. But a client doing incremental decodes needs to distinguish this from truly incomplete data. In the case of an error, the client should not attempt to provide more data and decode again. Add kErrorInInput, and return it when SkGifCodec sees a fatal error. Treat it the same as kIncompleteInput when it comes to filling and DM. Bug: skia:6825 Change-Id: Ic6ce3a62c0b065ed34dcd8006309e43272a3db9f Reviewed-on: https://skia-review.googlesource.com/21530 Commit-Queue: Leon Scroggins <scroggo@google.com> Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Chris Blume <cblume@chromium.org>
Diffstat (limited to 'src/codec/SkCodecImageGenerator.cpp')
-rw-r--r--src/codec/SkCodecImageGenerator.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/codec/SkCodecImageGenerator.cpp b/src/codec/SkCodecImageGenerator.cpp
index bf794d60d3..20d547ad36 100644
--- a/src/codec/SkCodecImageGenerator.cpp
+++ b/src/codec/SkCodecImageGenerator.cpp
@@ -49,6 +49,7 @@ bool SkCodecImageGenerator::onGetPixels(const SkImageInfo& info, void* pixels, s
switch (result) {
case SkCodec::kSuccess:
case SkCodec::kIncompleteInput:
+ case SkCodec::kErrorInInput:
return true;
default:
return false;
@@ -66,6 +67,7 @@ bool SkCodecImageGenerator::onGetYUV8Planes(const SkYUVSizeInfo& sizeInfo, void*
switch (result) {
case SkCodec::kSuccess:
case SkCodec::kIncompleteInput:
+ case SkCodec::kErrorInInput:
return true;
default:
return false;