fixed audio renderer with new speed system
This commit is contained in:
@@ -52,10 +52,12 @@ NodeValueTable AudioRenderWorker::RenderBlock(const TrackOutput *track, const Ti
|
|||||||
|
|
||||||
if (!samples_from_this_block.isEmpty()) {
|
if (!samples_from_this_block.isEmpty()) {
|
||||||
// Stretch samples here
|
// Stretch samples here
|
||||||
if (b->speed() != 1) {
|
rational abs_speed = qAbs(b->speed());
|
||||||
|
|
||||||
|
if (abs_speed != 1) {
|
||||||
QByteArray speed_adjusted_samples;
|
QByteArray speed_adjusted_samples;
|
||||||
|
|
||||||
double clip_speed = b->speed().toDouble();
|
double clip_speed = abs_speed.toDouble();
|
||||||
|
|
||||||
int sample_count = audio_params_.bytes_to_samples(samples_from_this_block.size());
|
int sample_count = audio_params_.bytes_to_samples(samples_from_this_block.size());
|
||||||
|
|
||||||
|
|||||||
@@ -81,10 +81,6 @@ void VideoRenderWorker::HashNodeRecursively(QCryptographicHash *hash, const Node
|
|||||||
if (param->type() == NodeParam::kInput) {
|
if (param->type() == NodeParam::kInput) {
|
||||||
NodeInput* input = static_cast<NodeInput*>(param);
|
NodeInput* input = static_cast<NodeInput*>(param);
|
||||||
|
|
||||||
// Get time adjustment
|
|
||||||
// For a single frame, we only care about one of the times
|
|
||||||
rational input_time = n->InputTimeAdjustment(input, TimeRange(time, time)).in();
|
|
||||||
|
|
||||||
if (n->IsBlock()) {
|
if (n->IsBlock()) {
|
||||||
const Block* b = static_cast<const Block*>(n);
|
const Block* b = static_cast<const Block*>(n);
|
||||||
|
|
||||||
@@ -96,6 +92,10 @@ void VideoRenderWorker::HashNodeRecursively(QCryptographicHash *hash, const Node
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Get time adjustment
|
||||||
|
// For a single frame, we only care about one of the times
|
||||||
|
rational input_time = n->InputTimeAdjustment(input, TimeRange(time, time)).in();
|
||||||
|
|
||||||
if (input->IsConnected()) {
|
if (input->IsConnected()) {
|
||||||
// Traverse down this edge
|
// Traverse down this edge
|
||||||
HashNodeRecursively(hash, input->get_connected_node(), input_time);
|
HashNodeRecursively(hash, input->get_connected_node(), input_time);
|
||||||
|
|||||||
Reference in New Issue
Block a user