From fd1d34c3b4033839f5f12f576aa9a3e651e2d0f2 Mon Sep 17 00:00:00 2001 From: hj kim Date: Wed, 6 May 2020 17:17:40 +0900 Subject: [PATCH] Improve metadata_editor_update_metadata() API Change-Id: I524618dd0f78bdd05e902d437419c87136925e6e --- src/metadata_editor.cpp | 78 +++++++++++++++++-------------------------------- 1 file changed, 27 insertions(+), 51 deletions(-) diff --git a/src/metadata_editor.cpp b/src/metadata_editor.cpp index 7f6000a..3942b2d 100755 --- a/src/metadata_editor.cpp +++ b/src/metadata_editor.cpp @@ -1327,62 +1327,38 @@ extern "C" int metadata_editor_update_metadata(metadata_editor_h metadata) { ret = __check_metadata_set_parameter(_metadata); metadata_editor_retvm_if(ret != METADATA_EDITOR_ERROR_NONE, ret, "fail to __check_metadata_set_parameter() [%d]", ret); - switch (_metadata->filetype) { // Process the file according to the specified file type - case METADATA_EDITOR_FORMAT_MP3: { - // Bring the pointer to actual file type - TagLib::MPEG::File* _file = (TagLib::MPEG::File*)_metadata->file; - - TagLib::ID3v1::Tag* tag1 = _file->ID3v1Tag(); + switch (_metadata->filetype) { + case METADATA_EDITOR_FORMAT_MP3: { + TagLib::MPEG::File* _file = (TagLib::MPEG::File*)_metadata->file; + TagLib::ID3v1::Tag* tag1 = _file->ID3v1Tag(); - if (!tag1 || tag1->isEmpty()) { // If no ID3v1 tag - prevent its creation - if (_file->save(TagLib::MPEG::File::ID3v2 | TagLib::MPEG::File::APE)) - return METADATA_EDITOR_ERROR_NONE; - } else { // otherwise - save all tags in file - if (_file->save(TagLib::MPEG::File::AllTags)) - return METADATA_EDITOR_ERROR_NONE; - } - return METADATA_EDITOR_ERROR_OPERATION_FAILED; - } - case METADATA_EDITOR_FORMAT_MP4: { - TagLib::MP4::File* _file = (TagLib::MP4::File*)_metadata->file; - if (_file->save()) + if (!tag1 || tag1->isEmpty()) { // If no ID3v1 tag - prevent its creation + if (_file->save(TagLib::MPEG::File::ID3v2 | TagLib::MPEG::File::APE)) return METADATA_EDITOR_ERROR_NONE; - else - return METADATA_EDITOR_ERROR_OPERATION_FAILED; - } -#if 0 - case METADATA_EDITOR_FORMAT_FLAC: { - TagLib::FLAC::File* _file = (TagLib::FLAC::File*)_metadata->file; - if (_file->save()) + } else { // otherwise - save all tags in file + if (_file->save(TagLib::MPEG::File::AllTags)) return METADATA_EDITOR_ERROR_NONE; - else - return METADATA_EDITOR_ERROR_OPERATION_FAILED; - } - case METADATA_EDITOR_FORMAT_OGG_VORBIS: { - TagLib::Ogg::Vorbis::File* _file = (TagLib::Ogg::Vorbis::File*)_metadata->file; - if (_file->save()) - return METADATA_EDITOR_ERROR_NONE; - else - return METADATA_EDITOR_ERROR_OPERATION_FAILED; - } - case METADATA_EDITOR_FORMAT_OGG_FLAC: { - TagLib::Ogg::FLAC::File* _file = (TagLib::Ogg::FLAC::File*)_metadata->file; - if (_file->save()) - return METADATA_EDITOR_ERROR_NONE; - else - return METADATA_EDITOR_ERROR_OPERATION_FAILED; - } - case METADATA_EDITOR_FORMAT_WAV: { - TagLib::RIFF::WAV::File* _file = (TagLib::RIFF::WAV::File*)_metadata->file; - if (_file->save()) - return METADATA_EDITOR_ERROR_NONE; - else - return METADATA_EDITOR_ERROR_OPERATION_FAILED; } + + return METADATA_EDITOR_ERROR_OPERATION_FAILED; + } + + case METADATA_EDITOR_FORMAT_MP4: { +#if 0 + case METADATA_EDITOR_FORMAT_FLAC: + case METADATA_EDITOR_FORMAT_OGG_VORBIS: + case METADATA_EDITOR_FORMAT_OGG_FLAC: + case METADATA_EDITOR_FORMAT_WAV: #endif - default: - metadata_editor_error("Wrong file type"); - return METADATA_EDITOR_ERROR_INVALID_PARAMETER; + if (_metadata->file->save()) + return METADATA_EDITOR_ERROR_NONE; + + return METADATA_EDITOR_ERROR_OPERATION_FAILED; + } + + default: + metadata_editor_error("Wrong file type"); + return METADATA_EDITOR_ERROR_INVALID_PARAMETER; } } -- 2.7.4