static int __metadata_extractor_check_and_extract_meta(metadata_extractor_s *metadata, metadata_extractor_type_e metadata_type, bool extract_albumart);
static int __metadata_extractor_get_stream_info(metadata_extractor_s *metadata, const char *path);
-static int __metadata_extractor_create_content_attrs(metadata_extractor_s *metadata, const char *path);
+static int __metadata_extractor_create_content_attrs(metadata_extractor_s *metadata, const char *path, bool extract_thumbnail);
static int __metadata_extractor_create_tag_attr(metadata_extractor_s *metadata, const char *path, bool extract_albumart);
static int __metadata_extractor_create_content_attrs_from_buffer(metadata_extractor_s *metadata, const void *buffer, int size);
static int __metadata_extractor_create_tag_attrs_from_buffer(metadata_extractor_s *metadata, const void *buffer, int size, bool extract_albumart);
else {
metadata_extractor_debug("Extract Content attrs");
if (metadata->path != NULL) {
- ret = __metadata_extractor_create_content_attrs(metadata, metadata->path);
+ ret = __metadata_extractor_create_content_attrs(metadata, metadata->path, extract_albumart);
if (ret != METADATA_EXTRACTOR_ERROR_NONE)
return ret;
} else if (metadata->buffer != NULL) {
return METADATA_EXTRACTOR_ERROR_NONE;
}
-static int __metadata_extractor_create_content_attrs(metadata_extractor_s *metadata, const char *path)
+static int __metadata_extractor_create_content_attrs(metadata_extractor_s *metadata, const char *path, bool extract_thumbnail)
{
int ret = METADATA_EXTRACTOR_ERROR_NONE;
MMHandleType content = 0;
- ret = mm_file_create_content_attrs(&content, path);
+ if (extract_thumbnail)
+ ret = mm_file_create_content_attrs(&content, path);
+ else
+ ret = mm_file_create_content_attrs_simple(&content, path);
metadata_extractor_retvm_if(ret != FILEINFO_ERROR_NONE, __metadata_extractor_error_capi(ret), "Fail mm_file_create_content_attrs(%d)", ret);
return __get_content_attrs(metadata, content);
metadata_extractor_retvm_if(!_metadata->path && !_metadata->buffer, METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Invalid parameter");
metadata_extractor_retvm_if(!size, METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Invalid parameter");
- ret = __metadata_extractor_check_and_extract_meta(_metadata, METADATA_TYPE_ATTR, false);
+ // metadata_extractor_get_metadata() does not extract video thumbnail. So, re-create handle here.
+ if (_metadata->attr_h) {
+ mm_file_destroy_content_attrs(_metadata->attr_h);
+ _metadata->attr_h = NULL;
+ }
+
+ ret = __metadata_extractor_check_and_extract_meta(_metadata, METADATA_TYPE_ATTR, true);
if (ret != METADATA_EXTRACTOR_ERROR_NONE)
return ret;