WebPMuxGetImage: allow image param to be NULL

but not both alpha & image

Change-Id: I6822a740de7577eedcbe7529382aa2c020d1e8e4
This commit is contained in:
James Zern 2012-02-16 17:41:29 -08:00
parent 4be52f4a65
commit 135e8b1942
2 changed files with 10 additions and 7 deletions

View File

@ -230,8 +230,8 @@ WebPMuxError WebPMuxGetImage(const WebPMux* const mux,
WebPMuxError err;
WebPMuxImage* wpi = NULL;
if (mux == NULL || image == NULL) return WEBP_MUX_INVALID_ARGUMENT;
memset(image, 0, sizeof(*image));
if (mux == NULL || (image == NULL && alpha == NULL))
return WEBP_MUX_INVALID_ARGUMENT;
err = ValidateForImage(mux);
if (err != WEBP_MUX_OK) return err;
@ -250,9 +250,12 @@ WebPMuxError WebPMuxGetImage(const WebPMux* const mux,
}
// Get image chunk.
if (wpi->vp8_ != NULL) {
image->bytes_ = wpi->vp8_->data_;
image->size_ = wpi->vp8_->payload_size_;
if (image != NULL) {
memset(image, 0, sizeof(*image));
if (wpi->vp8_ != NULL) {
image->bytes_ = wpi->vp8_->data_;
image->size_ = wpi->vp8_->payload_size_;
}
}
return WEBP_MUX_OK;
}

View File

@ -148,8 +148,8 @@ WEBP_EXTERN(WebPMuxError) WebPMuxSetImage(WebPMux* const mux,
// image - (out) the image data
// alpha - (out) the alpha data of the image (if present)
// Returns:
// WEBP_MUX_INVALID_ARGUMENT - if either mux or image is NULL
// OR if mux contains animation/tiling.
// WEBP_MUX_INVALID_ARGUMENT - if either mux or both image & alpha are NULL
// OR mux contains animation/tiling.
// WEBP_MUX_NOT_FOUND - if image is not present in mux object.
// WEBP_MUX_OK - on success.
WEBP_EXTERN(WebPMuxError) WebPMuxGetImage(const WebPMux* const mux,