Now working for replacing an existing riff chunk.

git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@808240 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
This commit is contained in:
Scott Wheeler 2008-05-16 06:22:36 +00:00
parent b2778ed715
commit 1d1fab1122
2 changed files with 9 additions and 5 deletions

View File

@ -86,6 +86,8 @@ bool RIFF::AIFF::File::save()
return false;
}
setChunkData("ID3 ", d->tag->render());
return true;
}

View File

@ -127,7 +127,7 @@ void RIFF::File::setChunkData(const ByteVector &name, const ByteVector &data)
// Now update the specific chunk
writeChunk(name, data, d->chunkOffsets[i] - 8, d->chunkOffsets[i] + 8);
writeChunk(name, data, d->chunkOffsets[i] - 8, d->chunkSizes[i] + 8);
// Now update the internal offsets
@ -169,8 +169,10 @@ void RIFF::File::read()
void RIFF::File::writeChunk(const ByteVector &name, const ByteVector &data,
ulong offset, ulong replace)
{
ByteVector value = name;
value.append(ByteVector::fromUInt(data.size(), d->endianness == BigEndian));
value.append(data);
insert(data, offset, replace);
debug("Writting chunk at " + String::number(offset));
ByteVector combined = name;
combined.append(ByteVector::fromUInt(data.size(), d->endianness == BigEndian));
combined.append(data);
insert(combined, offset, replace);
}