Fix cross-rate Preserve splices, re-stamp on host-rate change, name the rate refusal
The splice crossfade now counts output frames and stops before the ring's far end (this also fixes a lap at matched rate). The search strides by the rate ratio. The editor takes its time base from its own decode. Same-rate output is pinned to hashes from before the change.
This commit is contained in:
@@ -953,6 +953,13 @@ static void testBuildSampleDataRefusesARateNoCaptureCouldHave() {
|
||||
CHECK(!corrupt.playable());
|
||||
// Far BELOW the host costs nothing per frame, so it plays.
|
||||
CHECK(buildSampleData(rc, DecodedPcm{{0.1f}, 1000, {}}, host).playable());
|
||||
// The shell tells the user WHY through the predicate the build applies, so the message and
|
||||
// the silence share one boundary.
|
||||
CHECK(sourceRateSupported(atCeiling, host));
|
||||
CHECK(!sourceRateSupported(atCeiling + 1, host));
|
||||
// No host rate reported yet: the file plays at its own rate, whatever that is.
|
||||
CHECK(sourceRateSupported(atCeiling + 1, 0));
|
||||
CHECK(buildSampleData(rc, DecodedPcm{{0.1f}, atCeiling + 1, {}}, 0).playable());
|
||||
}
|
||||
|
||||
static void testBuildSampleDataCarriesTheSecondChannel() {
|
||||
|
||||
Reference in New Issue
Block a user