@@ -33,7 +33,8 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
FootageJob(const QString& decoder, const QString& filename, Track::Type type, const rational& length) :
|
||||
FootageJob(const TimeRange &time, const QString& decoder, const QString& filename, Track::Type type, const rational& length) :
|
||||
time_(time),
|
||||
decoder_(decoder),
|
||||
filename_(filename),
|
||||
type_(type),
|
||||
@@ -96,7 +97,11 @@ public:
|
||||
length_ = length;
|
||||
}
|
||||
|
||||
const TimeRange &time() const { return time_; }
|
||||
|
||||
private:
|
||||
TimeRange time_;
|
||||
|
||||
QString decoder_;
|
||||
|
||||
QString filename_;
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
|
||||
#include "acceleratedjob.h"
|
||||
#include "codec/samplebuffer.h"
|
||||
#include "common/timerange.h"
|
||||
|
||||
namespace olive {
|
||||
|
||||
@@ -32,14 +33,16 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
SampleJob(const NodeValue& value)
|
||||
SampleJob(const TimeRange &time, const NodeValue& value)
|
||||
{
|
||||
samples_ = value.toSamples();
|
||||
time_ = time;
|
||||
}
|
||||
|
||||
SampleJob(const QString& from, const NodeValueRow& row)
|
||||
SampleJob(const TimeRange &time, const QString& from, const NodeValueRow& row)
|
||||
{
|
||||
samples_ = row[from].toSamples();
|
||||
time_ = time;
|
||||
}
|
||||
|
||||
const SampleBuffer &samples() const
|
||||
@@ -52,9 +55,13 @@ public:
|
||||
return samples_.is_allocated();
|
||||
}
|
||||
|
||||
const TimeRange &time() const { return time_; }
|
||||
|
||||
private:
|
||||
SampleBuffer samples_;
|
||||
|
||||
TimeRange time_;
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
@@ -54,7 +54,7 @@ TexturePtr RenderProcessor::GenerateTexture(const rational &time, const rational
|
||||
|
||||
NodeValue tex_val = table.Get(NodeValue::kTexture);
|
||||
|
||||
ResolveJobs(tex_val, range);
|
||||
ResolveJobs(tex_val);
|
||||
|
||||
return tex_val.toTexture();
|
||||
}
|
||||
@@ -226,7 +226,7 @@ void RenderProcessor::Run()
|
||||
|
||||
NodeValue sample_val = table.Get(NodeValue::kSamples);
|
||||
|
||||
ResolveJobs(sample_val, time);
|
||||
ResolveJobs(sample_val);
|
||||
|
||||
SampleBuffer samples = sample_val.toSamples();
|
||||
if (samples.is_allocated()) {
|
||||
@@ -522,7 +522,7 @@ void RenderProcessor::ProcessAudioFootage(SampleBuffer &destination, const Foota
|
||||
}
|
||||
}
|
||||
|
||||
void RenderProcessor::ProcessShader(TexturePtr destination, const Node *node, const TimeRange &range, const ShaderJob &job)
|
||||
void RenderProcessor::ProcessShader(TexturePtr destination, const Node *node, const ShaderJob &job)
|
||||
{
|
||||
if (!render_ctx_) {
|
||||
return;
|
||||
|
||||
@@ -48,7 +48,7 @@ protected:
|
||||
|
||||
virtual void ProcessAudioFootage(SampleBuffer &destination, const FootageJob &stream, const TimeRange &input_time) override;
|
||||
|
||||
virtual void ProcessShader(TexturePtr destination, const Node *node, const TimeRange &range, const ShaderJob& job) override;
|
||||
virtual void ProcessShader(TexturePtr destination, const Node *node, const ShaderJob& job) override;
|
||||
|
||||
virtual void ProcessSamples(SampleBuffer &destination, const Node *node, const TimeRange &range, const SampleJob &job) override;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user