Avoid processing job buffers before codec initialization (#2507)

This commit is contained in:
Stephen Miller 2025-02-22 21:47:44 -06:00 committed by GitHub
parent 0aaeea4837
commit 4f1baece33
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 6 additions and 0 deletions

View file

@ -66,6 +66,7 @@ void AjmInstance::ExecuteJob(AjmJob& job) {
LOG_TRACE(Lib_Ajm, "Initializing instance {}", job.instance_id); LOG_TRACE(Lib_Ajm, "Initializing instance {}", job.instance_id);
auto& params = job.input.init_params.value(); auto& params = job.input.init_params.value();
m_codec->Initialize(&params, sizeof(params)); m_codec->Initialize(&params, sizeof(params));
is_initialized = true;
} }
if (job.input.resample_parameters.has_value()) { if (job.input.resample_parameters.has_value()) {
LOG_ERROR(Lib_Ajm, "Unimplemented: resample parameters"); LOG_ERROR(Lib_Ajm, "Unimplemented: resample parameters");
@ -89,6 +90,10 @@ void AjmInstance::ExecuteJob(AjmJob& job) {
} }
} }
if (!is_initialized) {
return;
}
if (!job.input.buffer.empty() && !job.output.buffers.empty()) { if (!job.input.buffer.empty() && !job.output.buffers.empty()) {
std::span<u8> in_buf(job.input.buffer); std::span<u8> in_buf(job.input.buffer);
SparseOutputBuffer out_buf(job.output.buffers); SparseOutputBuffer out_buf(job.output.buffers);

View file

@ -96,6 +96,7 @@ private:
AjmSidebandResampleParameters m_resample_parameters{}; AjmSidebandResampleParameters m_resample_parameters{};
u32 m_total_samples{}; u32 m_total_samples{};
std::unique_ptr<AjmCodec> m_codec; std::unique_ptr<AjmCodec> m_codec;
bool is_initialized = false;
}; };
} // namespace Libraries::Ajm } // namespace Libraries::Ajm