WebPMuxAnimParams anim_params;
bool lossless;
unsigned int timestamp;
+ unsigned int frame_count;
} mm_util_webp_anim_enc_t;
return;
WebPAnimEncoderDelete(anim_enc->enc);
+ anim_enc->frame_count = 0;
+ anim_enc->timestamp = 0;
anim_enc->enc = NULL;
}
} else {
// convert the delay between frames to timestamp of each frame
anim_enc->timestamp += frame->delay_time;
+ anim_enc->frame_count++;
}
WebPPictureFree(&picture);
GError *g_error = NULL;
mm_util_retvm_if(!anim_enc_h, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid anim_enc_h");
+ mm_util_retvm_if(anim_enc->frame_count == 0, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid frame_count");
WebPDataInit(&webp_data);
WebPData webp_data;
mm_util_retvm_if(!anim_enc_h, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid anim_enc_h");
+ mm_util_retvm_if(!buf, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid buf");
+ mm_util_retvm_if(!buf_size, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid buf_size");
+ mm_util_retvm_if(anim_enc->frame_count == 0, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid frame_count");
WebPDataInit(&webp_data);