summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjiyong.min <jiyong.min@samsung.com>2020-01-21 08:58:07 +0900
committerjiyong.min <jiyong.min@samsung.com>2020-01-21 08:58:07 +0900
commitbe9b346c4f7aa631cee99306fff1a53c88ddb8d9 (patch)
tree439eec5fa635c3c4ac4b6039ca55ee185c8c9e37
parent845548ccba5882b2f8af593512633662032392d0 (diff)
downloadlibmm-fileinfo-be9b346c4f7aa631cee99306fff1a53c88ddb8d9.tar.gz
libmm-fileinfo-be9b346c4f7aa631cee99306fff1a53c88ddb8d9.tar.bz2
libmm-fileinfo-be9b346c4f7aa631cee99306fff1a53c88ddb8d9.zip
- Resource leak Variable 'err_attr_name' should be freed by caller, but it is not used and freed. So, remove unused(useless) 'err_attr_name'. Change-Id: I201c216828a05a0e620799145960de925c9ce524
-rwxr-xr-xinclude/mm_file.h21
-rw-r--r--mm_file.c8
-rw-r--r--packaging/libmm-fileinfo.spec2
-rwxr-xr-xtests/mm_file_test.c19
-rwxr-xr-xunittest/libmm_fileinfo_unittest.cpp20
5 files changed, 25 insertions, 45 deletions
diff --git a/include/mm_file.h b/include/mm_file.h
index 3be22af..270f576 100755
--- a/include/mm_file.h
+++ b/include/mm_file.h
@@ -207,7 +207,6 @@ mm_file_create_tag_attrs(&tag_attrs, filename);
// get attributes of tag
ret = mm_file_get_attrs(tag_attrs,
- &err_attr_name,
MM_FILE_TAG_ARTIST, &ctag.artist.value.s_val, &ctag.artist.len,
MM_FILE_TAG_ALBUM, &ctag.album.value.s_val, &ctag.album.len,
MM_FILE_TAG_TITLE, &ctag.title.value.s_val, &ctag.title.len,
@@ -251,7 +250,6 @@ mm_file_create_tag_attrs(&tag_attrs, filename);
// get attributes of tag
ret = mm_file_get_attrs(tag_attrs,
- &err_attr_name,
MM_FILE_TAG_ARTIST, &ctag.artist.value.s_val, &ctag.artist.len,
MM_FILE_TAG_ALBUM, &ctag.album.value.s_val, &ctag.album.len,
MM_FILE_TAG_TITLE, &ctag.title.value.s_val, &ctag.title.len,
@@ -300,7 +298,7 @@ printf ("Testing mm_file_get_stream_info()....audio=%d, video=%d\n", audio_track
mm_file_create_content_attrs(&content_attrs, filename);
// get duration information
-ret = mm_file_get_attrs(content_attrs, &err_attr_name, MM_FILE_CONTENT_DURATION, &ccontent.duration, NULL);
+ret = mm_file_get_attrs(content_attrs, MM_FILE_CONTENT_DURATION, &ccontent.duration, NULL);
printf("duration: %d\n", ccontent.duration);
if (ret != MM_ERROR_NONE)
@@ -331,7 +329,6 @@ if (video_track_num)
void *thumbnail = NULL;
mm_file_get_attrs(content_attrs,
- NULL,
MM_FILE_CONTENT_VIDEO_CODEC, &ccontent.video_codec,
MM_FILE_CONTENT_VIDEO_BITRATE, &ccontent.video_bitrate,
MM_FILE_CONTENT_VIDEO_FPS, &ccontent.video_fps,
@@ -375,7 +372,7 @@ printf ("Testing mm_file_get_stream_info()....audio=%d, video=%d\n", audio_track
mm_file_create_content_attrs(&content_attrs, filename);
// get duration information
-ret = mm_file_get_attrs(content_attrs, &err_attr_name, MM_FILE_CONTENT_DURATION, &ccontent.duration, NULL);
+ret = mm_file_get_attrs(content_attrs, MM_FILE_CONTENT_DURATION, &ccontent.duration, NULL);
printf("duration: %d\n", ccontent.duration);
if (ret != MM_ERROR_NONE)
@@ -388,7 +385,6 @@ if (ret != MM_ERROR_NONE)
if (audio_track_num)
{
mm_file_get_attrs(content_attrs,
- NULL,
MM_FILE_CONTENT_AUDIO_CODEC, &ccontent.audio_codec,
MM_FILE_CONTENT_AUDIO_SAMPLERATE, &ccontent.audio_samplerate,
MM_FILE_CONTENT_AUDIO_BITRATE, &ccontent.audio_bitrate,
@@ -406,7 +402,6 @@ if (video_track_num)
void *thumbnail = NULL;
mm_file_get_attrs(content_attrs,
- NULL,
MM_FILE_CONTENT_VIDEO_CODEC, &ccontent.video_codec,
MM_FILE_CONTENT_VIDEO_BITRATE, &ccontent.video_bitrate,
MM_FILE_CONTENT_VIDEO_FPS, &ccontent.video_fps,
@@ -431,12 +426,11 @@ int mm_file_destroy_content_attrs(MMHandleType content_attrs);
* Handle should be destroyed after use.
*
* @param attrs [in] tag or content attribute handle.
- * @param err_attr_name [out] Name of attribute which is failed to get
* @param first_attribute_name [in] Name of the first attribute to get
* @param ... [in] Value for the first attribute, followed optionally by more name/value pairs, terminated by NULL.
* But, in the case of data or string type, it should be name/value/size.
*
- * @return This function returns MM_ERROR_NONE on success, or negative value with error code.
+ * @return This function returns MM_ERROR_NONE on success, or negative value.
*
* @remark This function must be terminated by NULL argument.<BR>
* And, if this function is failed, err_attr_name param must be free.
@@ -455,7 +449,7 @@ printf ("Testing mm_file_get_stream_info()....audio=%d, video=%d\n", audio_track
mm_file_create_content_attrs(&content_attrs, filename);
// get duration information
-ret = mm_file_get_attrs(content_attrs, &err_attr_name, MM_FILE_CONTENT_DURATION, &ccontent.duration, NULL);
+ret = mm_file_get_attrs(content_attrs, MM_FILE_CONTENT_DURATION, &ccontent.duration, NULL);
printf("duration: %d\n", ccontent.duration);
if (ret != MM_ERROR_NONE)
@@ -468,7 +462,6 @@ if (ret != MM_ERROR_NONE)
if (audio_track_num)
{
mm_file_get_attrs(content_attrs,
- NULL,
MM_FILE_CONTENT_AUDIO_CODEC, &ccontent.audio_codec,
MM_FILE_CONTENT_AUDIO_SAMPLERATE, &ccontent.audio_samplerate,
MM_FILE_CONTENT_AUDIO_BITRATE, &ccontent.audio_bitrate,
@@ -486,7 +479,6 @@ if (video_track_num)
void *thumbnail = NULL;
mm_file_get_attrs(content_attrs,
- NULL,
MM_FILE_CONTENT_VIDEO_CODEC, &ccontent.video_codec,
MM_FILE_CONTENT_VIDEO_BITRATE, &ccontent.video_bitrate,
MM_FILE_CONTENT_VIDEO_FPS, &ccontent.video_fps,
@@ -504,7 +496,7 @@ mm_file_destroy_content_attrs(content_attrs);
* @endcode
*/
-int mm_file_get_attrs(MMHandleType attrs, char **err_attr_name, const char *first_attribute_name, ...)G_GNUC_NULL_TERMINATED;
+int mm_file_get_attrs(MMHandleType attrs, const char *first_attribute_name, ...)G_GNUC_NULL_TERMINATED;
/**
* This function is to get the tag attributes from media data on memory while mm_file_create_tag_attrs() extracts from file.<BR>
@@ -530,7 +522,6 @@ mm_file_create_tag_attrs_from_memory(&tag_attrs, data, size, MM_FILE_FORMAT_MP3)
// get audio artist & album tag
mm_file_get_attrs(tag_attrs,
- NULL,
MM_FILE_TAG_ARTIST, &ctag.artist.value.s_val, &ctag.artist.len,
MM_FILE_TAG_ALBUM, &ctag.album.value.s_val, &ctag.album.len,
MM_FILE_TAG_ALBUM_ARTIST, &ctag.album_artist.value.s_val, &ctag.album_artist.len,
@@ -567,7 +558,6 @@ mm_file_create_content_attrs_from_memory(&content_attrs, data, size, MM_FILE_FOR
// get audio bit rate and sample rate
mm_file_get_attrs(content_attrs,
- NULL,
MM_FILE_CONTENT_AUDIO_SAMPLERATE, &ccontent.audio_samplerate,
MM_FILE_CONTENT_AUDIO_BITRATE, &ccontent.audio_bitrate,
NULL);
@@ -628,7 +618,6 @@ mm_file_create_content_attrs_simple(&content_attrs, filename);
// get width, height information
mm_file_get_attrs(content_attrs,
- NULL,
MM_FILE_CONTENT_VIDEO_WIDTH, &ccontent.video_w,
MM_FILE_CONTENT_VIDEO_HEIGHT, &ccontent.video_h,
NULL);
diff --git a/mm_file.c b/mm_file.c
index 13212e6..0340a0b 100644
--- a/mm_file.c
+++ b/mm_file.c
@@ -684,10 +684,11 @@ exception:
/**
* global functions.
*/
-int mm_file_get_attrs(MMHandleType attrs, char **err_attr_name, const char *first_attribute_name, ...)
+int mm_file_get_attrs(MMHandleType attrs, const char *first_attribute_name, ...)
{
int ret = FILEINFO_ERROR_NONE;
va_list var_args;
+ char *err_attr_name = NULL;
if (!attrs) {
debug_error(DEBUG, "Invalid arguments [attrs 0]\n");
@@ -701,12 +702,13 @@ int mm_file_get_attrs(MMHandleType attrs, char **err_attr_name, const char *firs
/* get requested attributes */
va_start(var_args, first_attribute_name);
- ret = mm_attrs_get_valist(attrs, err_attr_name, first_attribute_name, var_args);
+ ret = mm_attrs_get_valist(attrs, &err_attr_name, first_attribute_name, var_args);
va_end(var_args);
if (ret != FILEINFO_ERROR_NONE) {
if (err_attr_name) {
- debug_error(DEBUG, "failed to get %s\n", *err_attr_name);
+ debug_error(DEBUG, "failed to get %s\n", err_attr_name);
+ free(err_attr_name);
}
}
diff --git a/packaging/libmm-fileinfo.spec b/packaging/libmm-fileinfo.spec
index 5a3b9c1..11d9c6c 100644
--- a/packaging/libmm-fileinfo.spec
+++ b/packaging/libmm-fileinfo.spec
@@ -1,6 +1,6 @@
Name: libmm-fileinfo
Summary: Media Fileinfo
-Version: 0.6.83
+Version: 0.6.84
Release: 1
Group: System/Libraries
License: Apache-2.0
diff --git a/tests/mm_file_test.c b/tests/mm_file_test.c
index 5f1b722..f3bc491 100755
--- a/tests/mm_file_test.c
+++ b/tests/mm_file_test.c
@@ -239,7 +239,6 @@ static int mmfile_get_file_infomation(void *data, void *user_data, bool file_tes
{
MMHandleType content_attrs = 0;
MMHandleType tag_attrs = 0;
- char *err_attr_name = NULL;
int audio_track_num = 0;
int video_track_num = 0;
int ret = 0;
@@ -275,18 +274,14 @@ static int mmfile_get_file_infomation(void *data, void *user_data, bool file_tes
ContentContext_t ccontent;
memset(&ccontent, 0, sizeof(ContentContext_t));
- ret = mm_file_get_attrs(content_attrs, &err_attr_name, MM_FILE_CONTENT_DURATION, &ccontent.duration, NULL);
+ ret = mm_file_get_attrs(content_attrs, MM_FILE_CONTENT_DURATION, &ccontent.duration, NULL);
printf("# duration: %d\n", ccontent.duration);
- if (ret != FILEINFO_ERROR_NONE && err_attr_name) {
- printf("failed to get %s\n", err_attr_name);
- free(err_attr_name);
- err_attr_name = NULL;
- }
+ if (ret != FILEINFO_ERROR_NONE)
+ printf("failed to get attrs\n");
if (audio_track_num) {
ret = mm_file_get_attrs(content_attrs,
- NULL,
MM_FILE_CONTENT_AUDIO_CODEC, &ccontent.audio_codec,
MM_FILE_CONTENT_AUDIO_SAMPLERATE, &ccontent.audio_samplerate,
MM_FILE_CONTENT_AUDIO_BITRATE, &ccontent.audio_bitrate,
@@ -313,7 +308,6 @@ static int mmfile_get_file_infomation(void *data, void *user_data, bool file_tes
if (video_track_num) {
ret = mm_file_get_attrs(content_attrs,
- NULL,
MM_FILE_CONTENT_VIDEO_CODEC, &ccontent.video_codec,
MM_FILE_CONTENT_VIDEO_BITRATE, &ccontent.video_bitrate,
MM_FILE_CONTENT_VIDEO_FPS, &ccontent.video_fps,
@@ -359,7 +353,6 @@ static int mmfile_get_file_infomation(void *data, void *user_data, bool file_tes
memset(&ctag, 0, sizeof(TagContext_t));
/* get attributes of tag */
ret = mm_file_get_attrs(tag_attrs,
- &err_attr_name,
MM_FILE_TAG_ARTIST, &ctag.artist.value.s_val, &ctag.artist.len,
MM_FILE_TAG_ALBUM, &ctag.album.value.s_val, &ctag.album.len,
MM_FILE_TAG_ALBUM_ARTIST, &ctag.album_artist.value.s_val, &ctag.album_artist.len,
@@ -418,10 +411,8 @@ static int mmfile_get_file_infomation(void *data, void *user_data, bool file_tes
MM_FILE_TAG_SPHERICAL_V2_EQUI_BOUNDS_RIGHT, &ctag.equi_projection_bounds_right_v2.value.i_val,
MM_FILE_TAG_SMTA, &ctag.smta.value.i_val,
NULL);
- if (ret != FILEINFO_ERROR_NONE && err_attr_name) {
- printf("failed to get %s attrs\n", err_attr_name);
- free(err_attr_name);
- err_attr_name = NULL;
+ if (ret != FILEINFO_ERROR_NONE) {
+ printf("failed to get attrs\n");
if (msg_tmp_fp) { /* opened by MM_TIME_CHECK_START */
fclose(msg_tmp_fp);
diff --git a/unittest/libmm_fileinfo_unittest.cpp b/unittest/libmm_fileinfo_unittest.cpp
index 7fd5319..4681ab1 100755
--- a/unittest/libmm_fileinfo_unittest.cpp
+++ b/unittest/libmm_fileinfo_unittest.cpp
@@ -51,29 +51,28 @@ TEST(libmm_fileinfo_Test, mm_file_get_content_attrs_p)
{
int ret = FILEINFO_ERROR_NONE;
MMHandleType content_attrs;
- char *err_attr_name = NULL;
int p = 0;
ret = mm_file_create_content_attrs(&content_attrs, GTEST_VIDEO_FILE_PATH);
EXPECT_EQ(ret, FILEINFO_ERROR_NONE);
- ret = mm_file_get_attrs(content_attrs, &err_attr_name, MM_FILE_CONTENT_DURATION, &p, NULL);
+ ret = mm_file_get_attrs(content_attrs, MM_FILE_CONTENT_DURATION, &p, NULL);
EXPECT_EQ(ret, FILEINFO_ERROR_NONE);
EXPECT_EQ(p, 11883);
- ret = mm_file_get_attrs(content_attrs, &err_attr_name, MM_FILE_CONTENT_VIDEO_BITRATE, &p, NULL);
+ ret = mm_file_get_attrs(content_attrs, MM_FILE_CONTENT_VIDEO_BITRATE, &p, NULL);
EXPECT_EQ(ret, FILEINFO_ERROR_NONE);
EXPECT_EQ(p, 909428);
- ret = mm_file_get_attrs(content_attrs, &err_attr_name, MM_FILE_CONTENT_VIDEO_FPS, &p, NULL);
+ ret = mm_file_get_attrs(content_attrs, MM_FILE_CONTENT_VIDEO_FPS, &p, NULL);
EXPECT_EQ(ret, FILEINFO_ERROR_NONE);
EXPECT_EQ(p, 30);
- ret = mm_file_get_attrs(content_attrs, &err_attr_name, MM_FILE_CONTENT_VIDEO_WIDTH, &p, NULL);
+ ret = mm_file_get_attrs(content_attrs, MM_FILE_CONTENT_VIDEO_WIDTH, &p, NULL);
EXPECT_EQ(ret, FILEINFO_ERROR_NONE);
EXPECT_EQ(p, 320);
- ret = mm_file_get_attrs(content_attrs, &err_attr_name, MM_FILE_CONTENT_VIDEO_HEIGHT, &p, NULL);
+ ret = mm_file_get_attrs(content_attrs, MM_FILE_CONTENT_VIDEO_HEIGHT, &p, NULL);
EXPECT_EQ(ret, FILEINFO_ERROR_NONE);
EXPECT_EQ(p, 240);
@@ -97,26 +96,25 @@ TEST(libmm_fileinfo_Test, mm_file_get_tag_attrs_p)
{
int ret = FILEINFO_ERROR_NONE;
MMHandleType tag_attrs;
- char *err_attr_name = NULL;
char *p = NULL;
unsigned int size = 0;
ret = mm_file_create_tag_attrs(&tag_attrs, GTEST_VIDEO_FILE_PATH);
EXPECT_EQ(ret, FILEINFO_ERROR_NONE);
- ret = mm_file_get_attrs(tag_attrs, &err_attr_name, MM_FILE_TAG_ARTIST, &p, &size, NULL);
+ ret = mm_file_get_attrs(tag_attrs, MM_FILE_TAG_ARTIST, &p, &size, NULL);
EXPECT_EQ(ret, FILEINFO_ERROR_NONE);
EXPECT_STREQ(p, "Test");
- ret = mm_file_get_attrs(tag_attrs, &err_attr_name, MM_FILE_TAG_TITLE, &p, &size, NULL);
+ ret = mm_file_get_attrs(tag_attrs, MM_FILE_TAG_TITLE, &p, &size, NULL);
EXPECT_EQ(ret, FILEINFO_ERROR_NONE);
EXPECT_STREQ(p, "Test");
- ret = mm_file_get_attrs(tag_attrs, &err_attr_name, MM_FILE_TAG_ALBUM, &p, &size, NULL);
+ ret = mm_file_get_attrs(tag_attrs, MM_FILE_TAG_ALBUM, &p, &size, NULL);
EXPECT_EQ(ret, FILEINFO_ERROR_NONE);
EXPECT_STREQ(p, "Test");
- ret = mm_file_get_attrs(tag_attrs, &err_attr_name, MM_FILE_TAG_GENRE, &p, &size, NULL);
+ ret = mm_file_get_attrs(tag_attrs, MM_FILE_TAG_GENRE, &p, &size, NULL);
EXPECT_EQ(ret, FILEINFO_ERROR_NONE);
EXPECT_STREQ(p, "Test");