Unify duplicated ogg codes 18/235518/10
authorhj kim <backto.kim@samsung.com>
Fri, 5 Jun 2020 07:21:05 +0000 (16:21 +0900)
committerhj kim <backto.kim@samsung.com>
Tue, 16 Jun 2020 08:57:09 +0000 (08:57 +0000)
Change-Id: I165ff104fd429f9359db51140b926b9be8c0f6c9

src/metadata_editor.cpp

index d4401df..1696539 100755 (executable)
@@ -762,6 +762,27 @@ static int __metadata_editor_get_flac_metadata(metadata_editor_s *metadata, meta
 }
 
 #if 0
+static int __get_ogg_metadata(Ogg::XiphComment *xtag, metadata_editor_attr_e attribute, char **value)
+{
+       switch (attribute) {
+       case METADATA_EDITOR_ATTR_ARTIST:                       return __xiph_getFieldValue(xtag, "ARTIST", value);
+       case METADATA_EDITOR_ATTR_TITLE:                        return __xiph_getFieldValue(xtag, "TITLE", value);
+       case METADATA_EDITOR_ATTR_ALBUM:                        return __xiph_getFieldValue(xtag, "ALBUM", value);
+       case METADATA_EDITOR_ATTR_GENRE:                        return __xiph_getFieldValue(xtag, "GENRE", value);
+       case METADATA_EDITOR_ATTR_AUTHOR:                       return __xiph_getFieldValue(xtag, "COMPOSER", value);
+       case METADATA_EDITOR_ATTR_COPYRIGHT:                    return __xiph_getFieldValue(xtag, "COPYRIGHT", value);
+       case METADATA_EDITOR_ATTR_DATE:                 return __xiph_getFieldValue(xtag, "DATE", value);
+       case METADATA_EDITOR_ATTR_DESCRIPTION:          return __xiph_getFieldValue(xtag, "DESCRIPTION", value);
+       case METADATA_EDITOR_ATTR_COMMENT:                      return __xiph_getFieldValue(xtag, "COMMENT", value);
+       case METADATA_EDITOR_ATTR_TRACK_NUM:                    return __xiph_getFieldValue(xtag, "TRACKNUMBER", value);
+       case METADATA_EDITOR_ATTR_CONDUCTOR:                    return __xiph_getFieldValue(xtag, "CONDUCTOR", value);
+       case METADATA_EDITOR_ATTR_UNSYNCLYRICS:                 return __xiph_getFieldValue(xtag, "LYRICS", value);
+       default:
+               metadata_editor_error("Invalid attribute [%d]", attribute);
+               return METADATA_EDITOR_ERROR_INVALID_PARAMETER;
+       }
+}
+
 static int __metadata_editor_get_ogg_vorbis_metadata(metadata_editor_s *metadata, metadata_editor_attr_e attribute, char **value)
 {
        int ret = METADATA_EDITOR_ERROR_NONE;
@@ -772,25 +793,7 @@ static int __metadata_editor_get_ogg_vorbis_metadata(metadata_editor_s *metadata
        auto _file = dynamic_cast<Ogg::Vorbis::File*>(metadata->file);
        metadata_editor_retvm_if(!_file, METADATA_EDITOR_ERROR_OPERATION_FAILED, "fail to dynamic_cast");
 
-       auto xtag = _file->tag();
-
-       switch (attribute) {                                    // Check which one of frame types was given to the function for processing
-               case METADATA_EDITOR_ATTR_ARTIST:                       return __xiph_getFieldValue(xtag, "ARTIST", value);
-               case METADATA_EDITOR_ATTR_TITLE:                        return __xiph_getFieldValue(xtag, "TITLE", value);
-               case METADATA_EDITOR_ATTR_ALBUM:                        return __xiph_getFieldValue(xtag, "ALBUM", value);
-               case METADATA_EDITOR_ATTR_GENRE:                        return __xiph_getFieldValue(xtag, "GENRE", value);
-               case METADATA_EDITOR_ATTR_AUTHOR:                       return __xiph_getFieldValue(xtag, "COMPOSER", value);
-               case METADATA_EDITOR_ATTR_COPYRIGHT:                    return __xiph_getFieldValue(xtag, "COPYRIGHT", value);
-               case METADATA_EDITOR_ATTR_DATE:                 return __xiph_getFieldValue(xtag, "DATE", value);
-               case METADATA_EDITOR_ATTR_DESCRIPTION:          return __xiph_getFieldValue(xtag, "DESCRIPTION", value);
-               case METADATA_EDITOR_ATTR_COMMENT:                      return __xiph_getFieldValue(xtag, "COMMENT", value);
-               case METADATA_EDITOR_ATTR_TRACK_NUM:                    return __xiph_getFieldValue(xtag, "TRACKNUMBER", value);
-               case METADATA_EDITOR_ATTR_CONDUCTOR:                    return __xiph_getFieldValue(xtag, "CONDUCTOR", value);
-               case METADATA_EDITOR_ATTR_UNSYNCLYRICS:                 return __xiph_getFieldValue(xtag, "LYRICS", value);
-               default:
-                       metadata_editor_error("Invalid attribute [%d]", attribute);
-                       return METADATA_EDITOR_ERROR_INVALID_PARAMETER;
-       }
+       return __get_ogg_metadata(_file->tag(), attribute, value);
 }
 
 static int __metadata_editor_get_ogg_flac_metadata(metadata_editor_s *metadata, metadata_editor_attr_e attribute, char **value)
@@ -803,25 +806,7 @@ static int __metadata_editor_get_ogg_flac_metadata(metadata_editor_s *metadata,
        auto _file = dynamic_cast<Ogg::FLAC::File*>(metadata->file);
        metadata_editor_retvm_if(!_file, METADATA_EDITOR_ERROR_OPERATION_FAILED, "fail to dynamic_cast");
 
-       auto xtag = _file->tag();
-
-       switch (attribute) {                                    // Check which one of frame types was given to the function for processing
-               case METADATA_EDITOR_ATTR_ARTIST:                       return __xiph_getFieldValue(xtag, "ARTIST", value);
-               case METADATA_EDITOR_ATTR_TITLE:                        return __xiph_getFieldValue(xtag, "TITLE", value);
-               case METADATA_EDITOR_ATTR_ALBUM:                        return __xiph_getFieldValue(xtag, "ALBUM", value);
-               case METADATA_EDITOR_ATTR_GENRE:                        return __xiph_getFieldValue(xtag, "GENRE", value);
-               case METADATA_EDITOR_ATTR_AUTHOR:                       return __xiph_getFieldValue(xtag, "COMPOSER", value);
-               case METADATA_EDITOR_ATTR_COPYRIGHT:                    return __xiph_getFieldValue(xtag, "COPYRIGHT", value);
-               case METADATA_EDITOR_ATTR_DATE:                 return __xiph_getFieldValue(xtag, "DATE", value);
-               case METADATA_EDITOR_ATTR_DESCRIPTION:          return __xiph_getFieldValue(xtag, "DESCRIPTION", value);
-               case METADATA_EDITOR_ATTR_COMMENT:                      return __xiph_getFieldValue(xtag, "COMMENT", value);
-               case METADATA_EDITOR_ATTR_TRACK_NUM:                    return __xiph_getFieldValue(xtag, "TRACKNUMBER", value);
-               case METADATA_EDITOR_ATTR_CONDUCTOR:                    return __xiph_getFieldValue(xtag, "CONDUCTOR", value);
-               case METADATA_EDITOR_ATTR_UNSYNCLYRICS:                 return __xiph_getFieldValue(xtag, "LYRICS", value);
-               default:
-                       metadata_editor_error("Invalid attribute [%d]", attribute);
-                       return METADATA_EDITOR_ERROR_INVALID_PARAMETER;
-       }
+       return __get_ogg_metadata(_file->tag(), attribute, value);
 }
 #endif
 
@@ -968,6 +953,27 @@ static int __metadata_editor_set_flac_metadata(metadata_editor_s *metadata, meta
 }
 
 #if 0
+static int __set_ogg_metadata(Ogg::XiphComment *xtag, metadata_editor_attr_e attribute, const char *value)
+{
+       switch (attribute) {
+       case METADATA_EDITOR_ATTR_ARTIST:                       return __xiph_updateFieldValue(xtag, "ARTIST", value);
+       case METADATA_EDITOR_ATTR_TITLE:                        return __xiph_updateFieldValue(xtag, "TITLE", value);
+       case METADATA_EDITOR_ATTR_ALBUM:                        return __xiph_updateFieldValue(xtag, "ALBUM", value);
+       case METADATA_EDITOR_ATTR_GENRE:                        return __xiph_updateFieldValue(xtag, "GENRE", value);
+       case METADATA_EDITOR_ATTR_AUTHOR:                       return __xiph_updateFieldValue(xtag, "COMPOSER", value);
+       case METADATA_EDITOR_ATTR_COPYRIGHT:                    return __xiph_updateFieldValue(xtag, "COPYRIGHT", value);
+       case METADATA_EDITOR_ATTR_DATE:                 return __xiph_updateFieldValue(xtag, "DATE", value);
+       case METADATA_EDITOR_ATTR_DESCRIPTION:          return __xiph_updateFieldValue(xtag, "DESCRIPTION", value);
+       case METADATA_EDITOR_ATTR_COMMENT:                      return __xiph_updateFieldValue(xtag, "COMMENT", value);
+       case METADATA_EDITOR_ATTR_TRACK_NUM:                    return __xiph_updateFieldValue(xtag, "TRACKNUMBER", value);
+       case METADATA_EDITOR_ATTR_CONDUCTOR:                    return __xiph_updateFieldValue(xtag, "CONDUCTOR", value);
+       case METADATA_EDITOR_ATTR_UNSYNCLYRICS:                 return __xiph_updateFieldValue(xtag, "LYRICS", value);
+       default:
+               metadata_editor_error("Invalid attribute [%d]", attribute);
+               return METADATA_EDITOR_ERROR_INVALID_PARAMETER;
+       }
+}
+
 static int __metadata_editor_set_ogg_vorbis_metadata(metadata_editor_s *metadata, metadata_editor_attr_e attribute, const char *value)
 {
        int ret = METADATA_EDITOR_ERROR_NONE;
@@ -981,23 +987,7 @@ static int __metadata_editor_set_ogg_vorbis_metadata(metadata_editor_s *metadata
        auto xtag = _file->tag();
        metadata_editor_retvm_if(!xtag, METADATA_EDITOR_ERROR_METADATA_UPDATE_NOT_POSSIBLE, "Tag does not exist");
 
-       switch (attribute) {                                    // Check which one of frame type was given for processing
-               case METADATA_EDITOR_ATTR_ARTIST:                       return __xiph_updateFieldValue(xtag, "ARTIST", value);
-               case METADATA_EDITOR_ATTR_TITLE:                        return __xiph_updateFieldValue(xtag, "TITLE", value);
-               case METADATA_EDITOR_ATTR_ALBUM:                        return __xiph_updateFieldValue(xtag, "ALBUM", value);
-               case METADATA_EDITOR_ATTR_GENRE:                        return __xiph_updateFieldValue(xtag, "GENRE", value);
-               case METADATA_EDITOR_ATTR_AUTHOR:                       return __xiph_updateFieldValue(xtag, "COMPOSER", value);
-               case METADATA_EDITOR_ATTR_COPYRIGHT:                    return __xiph_updateFieldValue(xtag, "COPYRIGHT", value);
-               case METADATA_EDITOR_ATTR_DATE:                 return __xiph_updateFieldValue(xtag, "DATE", value);
-               case METADATA_EDITOR_ATTR_DESCRIPTION:          return __xiph_updateFieldValue(xtag, "DESCRIPTION", value);
-               case METADATA_EDITOR_ATTR_COMMENT:                      return __xiph_updateFieldValue(xtag, "COMMENT", value);
-               case METADATA_EDITOR_ATTR_TRACK_NUM:                    return __xiph_updateFieldValue(xtag, "TRACKNUMBER", value);
-               case METADATA_EDITOR_ATTR_CONDUCTOR:                    return __xiph_updateFieldValue(xtag, "CONDUCTOR", value);
-               case METADATA_EDITOR_ATTR_UNSYNCLYRICS:                 return __xiph_updateFieldValue(xtag, "LYRICS", value);
-               default:
-                       metadata_editor_error("Invalid attribute [%d]", attribute);
-                       return METADATA_EDITOR_ERROR_INVALID_PARAMETER;
-       }
+       return __set_ogg_metadata(xtag, attribute, value);
 }
 
 static int __metadata_editor_set_ogg_flac_metadata(metadata_editor_s *metadata, metadata_editor_attr_e attribute, const char *value)
@@ -1013,23 +1003,7 @@ static int __metadata_editor_set_ogg_flac_metadata(metadata_editor_s *metadata,
        auto xtag = _file->tag();
        metadata_editor_retvm_if(!xtag, METADATA_EDITOR_ERROR_METADATA_UPDATE_NOT_POSSIBLE, "Tag does not exist");
 
-       switch (attribute) {                                    // Check which one of frame type was given for processing
-               case METADATA_EDITOR_ATTR_ARTIST:                       return __xiph_updateFieldValue(xtag, "ARTIST", value);
-               case METADATA_EDITOR_ATTR_TITLE:                        return __xiph_updateFieldValue(xtag, "TITLE", value);
-               case METADATA_EDITOR_ATTR_ALBUM:                        return __xiph_updateFieldValue(xtag, "ALBUM", value);
-               case METADATA_EDITOR_ATTR_GENRE:                        return __xiph_updateFieldValue(xtag, "GENRE", value);
-               case METADATA_EDITOR_ATTR_AUTHOR:                       return __xiph_updateFieldValue(xtag, "COMPOSER", value);
-               case METADATA_EDITOR_ATTR_COPYRIGHT:                    return __xiph_updateFieldValue(xtag, "COPYRIGHT", value);
-               case METADATA_EDITOR_ATTR_DATE:                 return __xiph_updateFieldValue(xtag, "DATE", value);
-               case METADATA_EDITOR_ATTR_DESCRIPTION:          return __xiph_updateFieldValue(xtag, "DESCRIPTION", value);
-               case METADATA_EDITOR_ATTR_COMMENT:                      return __xiph_updateFieldValue(xtag, "COMMENT", value);
-               case METADATA_EDITOR_ATTR_TRACK_NUM:                    return __xiph_updateFieldValue(xtag, "TRACKNUMBER", value);
-               case METADATA_EDITOR_ATTR_CONDUCTOR:                    return __xiph_updateFieldValue(xtag, "CONDUCTOR", value);
-               case METADATA_EDITOR_ATTR_UNSYNCLYRICS:                 return __xiph_updateFieldValue(xtag, "LYRICS", value);
-               default:
-                       metadata_editor_error("Invalid attribute [%d]", attribute);
-                       return METADATA_EDITOR_ERROR_INVALID_PARAMETER;
-       }
+       return __set_ogg_metadata(xtag, attribute, value);
 }
 #endif