Change-Id: I63654c0e4bb728e5fd8b3b247626094960130a14
return METADATA_EDITOR_FORMAT_MP3;
else if (strcasecmp(ext, "MP4") == 0)
return METADATA_EDITOR_FORMAT_MP4;
return METADATA_EDITOR_FORMAT_MP3;
else if (strcasecmp(ext, "MP4") == 0)
return METADATA_EDITOR_FORMAT_MP4;
+ else if (strcasecmp(ext, "WAV") == 0)
+ return METADATA_EDITOR_FORMAT_WAV;
else
return METADATA_EDITOR_FORMAT_NOTYPE;
}
else
return METADATA_EDITOR_FORMAT_NOTYPE;
}
return METADATA_EDITOR_FORMAT_MP3;
else if (strstr(mimetype, "mp4") != NULL)
return METADATA_EDITOR_FORMAT_MP4;
return METADATA_EDITOR_FORMAT_MP3;
else if (strstr(mimetype, "mp4") != NULL)
return METADATA_EDITOR_FORMAT_MP4;
+ else if (strstr(mimetype, "wav") != NULL)
+ return METADATA_EDITOR_FORMAT_WAV;
return METADATA_EDITOR_FORMAT_NOTYPE;
}
return METADATA_EDITOR_FORMAT_NOTYPE;
}
case METADATA_EDITOR_FORMAT_OGG_FLAC:
_file = new Ogg::FLAC::File(path);
break;
case METADATA_EDITOR_FORMAT_OGG_FLAC:
_file = new Ogg::FLAC::File(path);
break;
case METADATA_EDITOR_FORMAT_WAV:
// Allocate the file object in memory to work with it later on
_file = new RIFF::WAV::File(path);
break;
case METADATA_EDITOR_FORMAT_WAV:
// Allocate the file object in memory to work with it later on
_file = new RIFF::WAV::File(path);
break;
default:
metadata_editor_error("Not supported file type [%d]", media_type);
return METADATA_EDITOR_ERROR_NOT_SUPPORTED;
default:
metadata_editor_error("Not supported file type [%d]", media_type);
return METADATA_EDITOR_ERROR_NOT_SUPPORTED;
return METADATA_EDITOR_ERROR_INVALID_PARAMETER;
}
}
return METADATA_EDITOR_ERROR_INVALID_PARAMETER;
}
}
static int __metadata_editor_get_wav_metadata(metadata_editor_s *metadata, metadata_editor_attr_e attribute, char **value)
{
static int __metadata_editor_get_wav_metadata(metadata_editor_s *metadata, metadata_editor_attr_e attribute, char **value)
{
auto _file = dynamic_cast<RIFF::WAV::File*>(metadata->file);
metadata_editor_retvm_if(!_file, METADATA_EDITOR_ERROR_OPERATION_FAILED, "fail to dynamic_cast");
auto _file = dynamic_cast<RIFF::WAV::File*>(metadata->file);
metadata_editor_retvm_if(!_file, METADATA_EDITOR_ERROR_OPERATION_FAILED, "fail to dynamic_cast");
- auto tag2 = _file->tag();
- metadata_editor_retvm_if(!tag2, METADATA_EDITOR_ERROR_NONE, "[No-Error] No tag");
-
- return __get_ID3_tag(attribute, NULL, tag2, value);
+ return __get_ID3_tag(attribute, NULL, _file->tag(), value);
extern "C" int metadata_editor_get_metadata(metadata_editor_h metadata, metadata_editor_attr_e attribute, char **value)
{
extern "C" int metadata_editor_get_metadata(metadata_editor_h metadata, metadata_editor_attr_e attribute, char **value)
{
case METADATA_EDITOR_FORMAT_OGG_FLAC:
return __metadata_editor_get_ogg_flac_metadata(_metadata, attribute, value);
case METADATA_EDITOR_FORMAT_OGG_FLAC:
return __metadata_editor_get_ogg_flac_metadata(_metadata, attribute, value);
case METADATA_EDITOR_FORMAT_WAV:
return __metadata_editor_get_wav_metadata(_metadata, attribute, value);
case METADATA_EDITOR_FORMAT_WAV:
return __metadata_editor_get_wav_metadata(_metadata, attribute, value);
default:
metadata_editor_error("Invalid file type [%d]", _metadata->filetype);
return METADATA_EDITOR_ERROR_INVALID_PARAMETER;
default:
metadata_editor_error("Invalid file type [%d]", _metadata->filetype);
return METADATA_EDITOR_ERROR_INVALID_PARAMETER;
return METADATA_EDITOR_ERROR_INVALID_PARAMETER;
}
}
return METADATA_EDITOR_ERROR_INVALID_PARAMETER;
}
}
static int __metadata_editor_set_wav_metadata(metadata_editor_s *metadata, metadata_editor_attr_e attribute, const char *value)
{
static int __metadata_editor_set_wav_metadata(metadata_editor_s *metadata, metadata_editor_attr_e attribute, const char *value)
{
return __set_ID3_tag(attribute, NULL, _file->tag(), value);
}
return __set_ID3_tag(attribute, NULL, _file->tag(), value);
}
extern "C" int metadata_editor_set_metadata(metadata_editor_h metadata, metadata_editor_attr_e attribute, const char *value)
{
extern "C" int metadata_editor_set_metadata(metadata_editor_h metadata, metadata_editor_attr_e attribute, const char *value)
{
case METADATA_EDITOR_FORMAT_OGG_FLAC:
return __metadata_editor_set_ogg_flac_metadata(_metadata, attribute, value);
case METADATA_EDITOR_FORMAT_OGG_FLAC:
return __metadata_editor_set_ogg_flac_metadata(_metadata, attribute, value);
case METADATA_EDITOR_FORMAT_WAV:
return __metadata_editor_set_wav_metadata(_metadata, attribute, value);
case METADATA_EDITOR_FORMAT_WAV:
return __metadata_editor_set_wav_metadata(_metadata, attribute, value);
default:
metadata_editor_error("Invalid file type [%d]", _metadata->filetype);
return METADATA_EDITOR_ERROR_INVALID_PARAMETER;
default:
metadata_editor_error("Invalid file type [%d]", _metadata->filetype);
return METADATA_EDITOR_ERROR_INVALID_PARAMETER;
case METADATA_EDITOR_FORMAT_FLAC:
case METADATA_EDITOR_FORMAT_OGG_VORBIS:
case METADATA_EDITOR_FORMAT_OGG_FLAC:
case METADATA_EDITOR_FORMAT_FLAC:
case METADATA_EDITOR_FORMAT_OGG_VORBIS:
case METADATA_EDITOR_FORMAT_OGG_FLAC:
- case METADATA_EDITOR_FORMAT_WAV:
+ case METADATA_EDITOR_FORMAT_WAV:
if (_metadata->file->save())
return METADATA_EDITOR_ERROR_NONE;
if (_metadata->file->save())
return METADATA_EDITOR_ERROR_NONE;
return METADATA_EDITOR_ERROR_NONE;
}
return METADATA_EDITOR_ERROR_NONE;
}
static int __get_wav_picture(metadata_editor_s *metadata, int index, void **picture, int *size, char **mime_type)
{
auto _file = dynamic_cast<RIFF::WAV::File*>(metadata->file);
static int __get_wav_picture(metadata_editor_s *metadata, int index, void **picture, int *size, char **mime_type)
{
auto _file = dynamic_cast<RIFF::WAV::File*>(metadata->file);
return __get_APIC(_file->tag(), index, picture, size, mime_type);
}
return __get_APIC(_file->tag(), index, picture, size, mime_type);
}
extern "C" int metadata_editor_get_picture(metadata_editor_h metadata, int index, void **picture, int *size, char **mime_type)
{
extern "C" int metadata_editor_get_picture(metadata_editor_h metadata, int index, void **picture, int *size, char **mime_type)
{
#if 0
case METADATA_EDITOR_FORMAT_FLAC:
return __get_flac_picture(_metadata, index, picture, size, mime_type);
#if 0
case METADATA_EDITOR_FORMAT_FLAC:
return __get_flac_picture(_metadata, index, picture, size, mime_type);
case METADATA_EDITOR_FORMAT_WAV:
return __get_wav_picture(_metadata, index, picture, size, mime_type);
case METADATA_EDITOR_FORMAT_WAV:
return __get_wav_picture(_metadata, index, picture, size, mime_type);
default:
metadata_editor_error("Invalid file type [%d]", _metadata->filetype);
return METADATA_EDITOR_ERROR_INVALID_PARAMETER;
default:
metadata_editor_error("Invalid file type [%d]", _metadata->filetype);
return METADATA_EDITOR_ERROR_INVALID_PARAMETER;
return METADATA_EDITOR_ERROR_NONE;
}
return METADATA_EDITOR_ERROR_NONE;
}
static int __append_wav_picture(metadata_editor_s *metadata, const char *picture, size_t size, const char *mime_type)
{
return __append_APIC(dynamic_cast<ID3v2::Tag*>(metadata->file->tag()), picture, size, mime_type);
}
static int __append_wav_picture(metadata_editor_s *metadata, const char *picture, size_t size, const char *mime_type)
{
return __append_APIC(dynamic_cast<ID3v2::Tag*>(metadata->file->tag()), picture, size, mime_type);
}
extern "C" int metadata_editor_append_picture(metadata_editor_h metadata, const char *path)
{
extern "C" int metadata_editor_append_picture(metadata_editor_h metadata, const char *path)
{
case METADATA_EDITOR_FORMAT_FLAC:
ret = __append_flac_picture(_metadata, picture, size, mime_type);
break;
case METADATA_EDITOR_FORMAT_FLAC:
ret = __append_flac_picture(_metadata, picture, size, mime_type);
break;
case METADATA_EDITOR_FORMAT_WAV:
ret = __append_wav_picture(_metadata, picture, size, mime_type);
break;
case METADATA_EDITOR_FORMAT_WAV:
ret = __append_wav_picture(_metadata, picture, size, mime_type);
break;
default: {
metadata_editor_error("Invalid file type [%d]", _metadata->filetype);
ret = METADATA_EDITOR_ERROR_INVALID_PARAMETER;
default: {
metadata_editor_error("Invalid file type [%d]", _metadata->filetype);
ret = METADATA_EDITOR_ERROR_INVALID_PARAMETER;
return METADATA_EDITOR_ERROR_NONE;
}
return METADATA_EDITOR_ERROR_NONE;
}
static int __remove_wav_picture(metadata_editor_s *metadata, int index)
{
return __remove_APIC(dynamic_cast<ID3v2::Tag*>(metadata->file->tag()), index);
}
static int __remove_wav_picture(metadata_editor_s *metadata, int index)
{
return __remove_APIC(dynamic_cast<ID3v2::Tag*>(metadata->file->tag()), index);
}
extern "C" int metadata_editor_remove_picture(metadata_editor_h metadata, int index)
{
extern "C" int metadata_editor_remove_picture(metadata_editor_h metadata, int index)
{
#if 0
case METADATA_EDITOR_FORMAT_FLAC:
return __remove_flac_picture(_metadata, index);
#if 0
case METADATA_EDITOR_FORMAT_FLAC:
return __remove_flac_picture(_metadata, index);
case METADATA_EDITOR_FORMAT_WAV:
return __remove_wav_picture(_metadata, index);
case METADATA_EDITOR_FORMAT_WAV:
return __remove_wav_picture(_metadata, index);
default:
metadata_editor_error("Invalid file type [%d]", _metadata->filetype);
return METADATA_EDITOR_ERROR_INVALID_PARAMETER;
default:
metadata_editor_error("Invalid file type [%d]", _metadata->filetype);
return METADATA_EDITOR_ERROR_INVALID_PARAMETER;
case METADATA_EDITOR_FORMAT_MP3:
delete dynamic_cast<TagLib::MPEG::File*>(_metadata->file);
break;
case METADATA_EDITOR_FORMAT_MP3:
delete dynamic_cast<TagLib::MPEG::File*>(_metadata->file);
break;
case METADATA_EDITOR_FORMAT_MP4:
delete dynamic_cast<TagLib::MP4::File*>(_metadata->file);
break;
case METADATA_EDITOR_FORMAT_MP4:
delete dynamic_cast<TagLib::MP4::File*>(_metadata->file);
break;
case METADATA_EDITOR_FORMAT_OGG_FLAC:
delete dynamic_cast<TagLib::Ogg::FLAC::File*>(_metadata->file);
break;
case METADATA_EDITOR_FORMAT_OGG_FLAC:
delete dynamic_cast<TagLib::Ogg::FLAC::File*>(_metadata->file);
break;
case METADATA_EDITOR_FORMAT_WAV:
delete dynamic_cast<TagLib::RIFF::WAV::File*>(_metadata->file);
break;
case METADATA_EDITOR_FORMAT_WAV:
delete dynamic_cast<TagLib::RIFF::WAV::File*>(_metadata->file);
break;
default:
metadata_editor_error("Wrong file type");
return METADATA_EDITOR_ERROR_INVALID_PARAMETER;
default:
metadata_editor_error("Wrong file type");
return METADATA_EDITOR_ERROR_INVALID_PARAMETER;