Improve code in Mp4Tag::setValues()
This commit is contained in:
parent
42eac2074d
commit
49154905b1
|
@ -263,7 +263,7 @@ bool Mp4Tag::setValue(KnownField field, const TagValue &value)
|
||||||
|
|
||||||
bool Mp4Tag::setValues(KnownField field, const std::vector<TagValue> &values)
|
bool Mp4Tag::setValues(KnownField field, const std::vector<TagValue> &values)
|
||||||
{
|
{
|
||||||
const Mp4ExtendedFieldId extendedId(field);
|
const auto extendedId = Mp4ExtendedFieldId(field);
|
||||||
if (extendedId) {
|
if (extendedId) {
|
||||||
auto valuesIterator = values.cbegin();
|
auto valuesIterator = values.cbegin();
|
||||||
auto range = fields().equal_range(Mp4TagAtomIds::Extended);
|
auto range = fields().equal_range(Mp4TagAtomIds::Extended);
|
||||||
|
@ -284,13 +284,11 @@ bool Mp4Tag::setValues(KnownField field, const std::vector<TagValue> &values)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (; valuesIterator != values.cend(); ++valuesIterator) {
|
for (; valuesIterator != values.cend(); ++valuesIterator) {
|
||||||
Mp4TagField tagField(Mp4TagAtomIds::Extended, *valuesIterator);
|
fields().emplace(std::piecewise_construct, std::forward_as_tuple(Mp4TagAtomIds::Extended),
|
||||||
tagField.setMean(extendedId.mean);
|
std::forward_as_tuple(extendedId.mean, extendedId.name, *valuesIterator));
|
||||||
tagField.setName(extendedId.name);
|
|
||||||
fields().insert(std::make_pair(Mp4TagAtomIds::Extended, move(tagField)));
|
|
||||||
}
|
}
|
||||||
for (; range.first != range.second; ++range.first) {
|
for (; range.first != range.second; ++range.first) {
|
||||||
range.first->second.setValue(TagValue());
|
range.first->second.clearValue();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return FieldMapBasedTag<Mp4Tag>::setValues(field, values);
|
return FieldMapBasedTag<Mp4Tag>::setValues(field, values);
|
||||||
|
|
Loading…
Reference in New Issue