Avoid converting MP4 data when text of correct encoding is assigned anyways
This commit is contained in:
parent
84183aaf02
commit
8efe6e5a63
|
@ -544,8 +544,14 @@ std::uint64_t Mp4TagFieldMaker::prepareDataAtom(
|
|||
data.convertedData.exceptions(std::stringstream::failbit | std::stringstream::badbit);
|
||||
switch (data.rawType) {
|
||||
case RawDataType::Utf8:
|
||||
if (value.type() != TagDataType::Text || value.dataEncoding() != TagTextEncoding::Utf8) {
|
||||
m_writer.writeString(value.toString(TagTextEncoding::Utf8));
|
||||
}
|
||||
break;
|
||||
case RawDataType::Utf16:
|
||||
m_writer.writeString(value.toString());
|
||||
if (value.type() != TagDataType::Text || value.dataEncoding() != TagTextEncoding::Utf16LittleEndian) {
|
||||
m_writer.writeString(value.toString(TagTextEncoding::Utf16LittleEndian));
|
||||
}
|
||||
break;
|
||||
case RawDataType::BeSignedInt: {
|
||||
int number = value.toInteger();
|
||||
|
|
Loading…
Reference in New Issue