aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Input/mpeg/mpegmetadatamodel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/Input/mpeg/mpegmetadatamodel.cpp')
-rw-r--r--src/plugins/Input/mpeg/mpegmetadatamodel.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/plugins/Input/mpeg/mpegmetadatamodel.cpp b/src/plugins/Input/mpeg/mpegmetadatamodel.cpp
index a9ecad0ce..c672f39ce 100644
--- a/src/plugins/Input/mpeg/mpegmetadatamodel.cpp
+++ b/src/plugins/Input/mpeg/mpegmetadatamodel.cpp
@@ -299,12 +299,18 @@ void MpegFileTagModel::setValue(Qmmp::MetaData key, const QString &value)
else if (m_codec->name().contains("UTF-16BE"))
type = TagLib::String::UTF16BE;
- m_codec = QTextCodec::codecForName ("UTF-8");
+
TagLib::ID3v2::FrameFactory *factory = TagLib::ID3v2::FrameFactory::instance();
factory->setDefaultTextEncoding(type);
- m_file->setID3v2FrameFactory(factory);
+ m_codec = QTextCodec::codecForName("UTF-8");
type = TagLib::String::UTF8;
}
+ else
+ {
+ TagLib::ID3v2::FrameFactory *factory = TagLib::ID3v2::FrameFactory::instance();
+ factory->setDefaultTextEncoding(TagLib::String::Latin1);
+ }
+
//save additional tags
TagLib::ByteVector id3v2_key;
if(key == Qmmp::ALBUMARTIST)
@@ -403,7 +409,7 @@ void MpegFileTagModel::remove()
void MpegFileTagModel::save()
{
if(m_tag)
- m_file->save(m_tagType, false);
+ m_file->save(m_tagType, TagLib::File::StripNone);
else
m_file->strip(m_tagType);
}