metadata_extractor_retvm_if(metadata == NULL, METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Handle is null");
- metadata_extractor_s *_metadata = (metadata_extractor_s *)calloc(1, sizeof(metadata_extractor_s));
- metadata_extractor_retvm_if(_metadata == NULL, METADATA_EXTRACTOR_ERROR_OUT_OF_MEMORY, "Memory allocation failure");
+ metadata_extractor_s *_metadata = g_new0(metadata_extractor_s, 1);
_metadata->path = NULL;
_metadata->buffer = NULL;
if ((_metadata->path != NULL) || (_metadata->buffer != NULL)) {
__metadata_extractor_destroy_handle(_metadata);
- SAFE_FREE(_metadata->path);
+ g_free(_metadata->path);
_metadata->attr_h = 0;
_metadata->tag_h = 0;
}
_metadata->path = g_strdup(path);
- metadata_extractor_retvm_if(_metadata->path == NULL, METADATA_EXTRACTOR_ERROR_OUT_OF_MEMORY, "Memory allocation failure");
return ret;
}
if ((_metadata->path != NULL) || (_metadata->buffer != NULL)) {
__metadata_extractor_destroy_handle(_metadata);
- SAFE_FREE(_metadata->path);
+ g_free(_metadata->path);
+ _metadata->path = NULL;
_metadata->attr_h = 0;
_metadata->tag_h = 0;
}
ret = __metadata_extractor_destroy_handle(_metadata);
- SAFE_FREE(_metadata->path);
- SAFE_FREE(_metadata);
+ g_free(_metadata->path);
+ g_free(_metadata);
return ret;
}
metadata_extractor_retvm_if((!_metadata) || ((!_metadata->path) && (!_metadata->buffer)), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Invalid parameter");
+ *lyrics = NULL;
+ *time_stamp = 0;
+
ret = __metadata_extractor_check_and_extract_meta(_metadata, METADATA_TYPE_TAG);
if (ret != METADATA_EXTRACTOR_ERROR_NONE)
return ret;
if (ret != METADATA_EXTRACTOR_ERROR_NONE)
return ret;
- if ((_synclyrics_num > 0) && (index < _synclyrics_num)) {
+ if (_synclyrics_num > 0 && index < _synclyrics_num) {
ret = mm_file_get_synclyrics_info((MMHandleType)_metadata->tag_h, index, &_time_info, &_lyrics);
metadata_extractor_retvm_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, "Internal operation error");
- if ((_lyrics != NULL) && (strlen(_lyrics) > 0)) {
+ if (_lyrics && strlen(_lyrics) > 0)
*lyrics = g_strdup(_lyrics);
- metadata_extractor_retvm_if(*lyrics == NULL, METADATA_EXTRACTOR_ERROR_OUT_OF_MEMORY, "Memory allocation failure");
- } else
- *lyrics = NULL;
*time_stamp = _time_info;
- } else {
- *lyrics = NULL;
- *time_stamp = 0;
}
return ret;
metadata_extractor_retvm_if((!_metadata) || ((!_metadata->path) && (!_metadata->buffer)), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Invalid parameter");
+ *value = NULL;
+
ret = __extract_meta(_metadata, attribute);
metadata_extractor_retvm_if(ret != METADATA_EXTRACTOR_ERROR_NONE, ret, "fail to __metadata_extractor_extract_meta() [%d]", ret);
}
if (is_string) {
- if ((s_value != NULL) && (strlen(s_value) > 0)) {
+ if (s_value && strlen(s_value) > 0)
*value = g_strdup(s_value);
- /*Only use strdup in video_codec and audio_codec */
- if (attribute == METADATA_VIDEO_CODEC || attribute == METADATA_AUDIO_CODEC)
- SAFE_FREE(s_value);
- if (*value == NULL) {
- metadata_extractor_error("OUT_OF_MEMORY(0x%08x)", METADATA_EXTRACTOR_ERROR_OUT_OF_MEMORY);
- return METADATA_EXTRACTOR_ERROR_OUT_OF_MEMORY;
- }
- } else {
- if (attribute == METADATA_VIDEO_CODEC || attribute == METADATA_AUDIO_CODEC)
- SAFE_FREE(s_value);
- *value = NULL;
- }
+ /*Only use strdup in video_codec and audio_codec */
+ if (attribute == METADATA_VIDEO_CODEC || attribute == METADATA_AUDIO_CODEC)
+ g_free(s_value);
} else {
- char extracted_metadata[META_MAX_LEN] = {0, };
-
if (is_double)
- snprintf(extracted_metadata, sizeof(extracted_metadata), "%f", d_value);
+ *value = g_strdup_printf("%f", d_value);
else
- snprintf(extracted_metadata, sizeof(extracted_metadata), "%d", i_value);
-
- *value = g_strdup(extracted_metadata);
- metadata_extractor_retvm_if(*value == NULL, METADATA_EXTRACTOR_ERROR_OUT_OF_MEMORY, "Memory allocation failure");
+ *value = g_strdup_printf("%d", i_value);
}
return ret;
metadata_extractor_retvm_if((!_metadata) || ((!_metadata->path) && (!_metadata->buffer)), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Invalid parameter");
+ *artwork = NULL;
+ *mime_type = NULL;
+ *size = 0;
+
ret = __metadata_extractor_check_and_extract_meta(_metadata, METADATA_TYPE_TAG);
metadata_extractor_retvm_if(ret != METADATA_EXTRACTOR_ERROR_NONE, ret, "Error in __metadata_extractor_check_and_extract_meta()");
ret = __metadata_extractor_get_artwork(_metadata, &_artwork, &_artwork_size);
metadata_extractor_retvm_if(ret != METADATA_EXTRACTOR_ERROR_NONE, ret, "Fail to get artwork");
- if ((_artwork_size > 0) && (_artwork != NULL)) {
+ if (_artwork_size > 0 && _artwork) {
ret = __metadata_extractor_get_tag_str(_metadata, MM_FILE_TAG_ARTWORK_MIME, &_artwork_mime);
- if (ret != METADATA_EXTRACTOR_ERROR_NONE) {
- *artwork = NULL;
- *size = 0;
-
+ if (ret != METADATA_EXTRACTOR_ERROR_NONE)
return ret;
- }
- *artwork = calloc(1, _artwork_size);
- if (*artwork != NULL) {
- memcpy(*artwork, _artwork, _artwork_size);
- *size = _artwork_size;
- } else {
- *size = 0;
- }
-
- if ((_artwork_mime != NULL) && (strlen(_artwork_mime) > 0)) {
- *mime_type = g_strdup(_artwork_mime);
- metadata_extractor_retvm_if(*mime_type == NULL, METADATA_EXTRACTOR_ERROR_OUT_OF_MEMORY, "Memory allocation failure");
- } else {
- *mime_type = NULL;
- }
-
- } else {
- *artwork = NULL;
- *mime_type = NULL;
- *size = 0;
+ *artwork = g_memdup(_artwork, _artwork_size);
+ *size = _artwork_size;
+ *mime_type = g_strdup(_artwork_mime);
}
return ret;
metadata_extractor_retvm_if((!_metadata) || ((!_metadata->path) && (!_metadata->buffer)) || (!size), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Invalid parameter");
+ *frame = NULL;
+ *size = 0;
+
ret = __metadata_extractor_check_and_extract_meta(_metadata, METADATA_TYPE_ATTR);
if (ret != METADATA_EXTRACTOR_ERROR_NONE)
return ret;
if (ret != METADATA_EXTRACTOR_ERROR_NONE)
return ret;
- if ((_frame_size > 0) && (_frame != NULL)) {
- *frame = calloc(1, _frame_size);
- metadata_extractor_retvm_if(*frame == NULL, METADATA_EXTRACTOR_ERROR_OUT_OF_MEMORY, "Memory allocation failure");
- memcpy(*frame, _frame, _frame_size);
+ if (_frame_size > 0 && _frame) {
+ *frame = g_memdup(_frame, _frame_size);
*size = _frame_size;
- } else {
- *frame = NULL;
- *size = 0;
}
return ret;
metadata_extractor_retvm_if((!_metadata) || ((!_metadata->path) && (!_metadata->buffer)) || (!size), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Invalid parameter");
micro_timestamp = (long long)timestamp * 1000;
+ *frame = NULL;
+ *size = 0;
metadata_extractor_debug("accurate [%d] timestamp[%lu] micro_timestamp[%lld]", is_accurate, timestamp, micro_timestamp);
metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, _frame);
- if (_frame != NULL) {
- if ((_frame_size > 0)) {
+ if (_frame) {
+ if (_frame_size > 0) {
*frame = _frame;
*size = _frame_size;
} else {
metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED (0x%08x)", METADATA_EXTRACTOR_ERROR_OPERATION_FAILED);
return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
}
- } else {
- *frame = NULL;
- *size = 0;
}
return ret;