Re: [Audacity-quality] Testing of windows RC - Please describe your usual workflow!
A free multi-track audio editor and recorder
Brought to you by:
aosiniao
From: Bill W. <bi...@go...> - 2012-02-16 22:40:03
|
Bug 451 - Projects can create overlong blockfiles which cause data loss on re-opening I may be out of my depth here, but I'll give it a try. This seems to be the recipe for creating overlong block files: Open Audacity Generate a 35s tone Tracks -> Add new track Set the bit depth to 16-bit Generate noise Select some of the noise (the length may be critical to the actual error generated, it was 954831 samples here) Copy Select Track 1 Go to the end Paste Now save and look at the aup (or look at test3.aup). All is well with each sequence's maxsamples and simpleblockfile's lens. When you click to merge the clips: WaveTrack::MergeClips calls WaveClip::Paste which calls Sequence::Paste which calls Sequence::AppendBlock and by then it's gone wrong (no checks on lengths and bit-depth). Following this recipe I cannot create a .aup with "illegal" BlockFile lengths. However, when running it in the latest Mac debug build, when I click to merge the two clips I get: [yes, I know this build is two days old but I don't think anything was changed in WaveClip.cpp between then and now] Debug: /Users/paullivesey/Development/audacity-weekly-debug-2012.02.12-04.15/audacity/mac/../src/WaveClip.cpp(1250): assert "false" failed in Paste(). This seems to be: // Check whether sample formats match. if (pastedClip->mSequence->GetSampleFormat() != mSequence->GetSampleFormat()) { // In debug mode, fail because that's probably a bad call to this method. // In release, adjust the source to match the destination, so we don't do a bad paste. wxASSERT(false); pastedClip->ConvertToSampleFormat(mSequence->GetSampleFormat()); } I leave it to those who know what this all means to draw their own conclusions. -- Bill |