From 4f1baece33c6c324a14b22508d5755f7ac6885dd Mon Sep 17 00:00:00 2001 From: Stephen Miller <56742918+StevenMiller123@users.noreply.github.com> Date: Sat, 22 Feb 2025 21:47:44 -0600 Subject: [PATCH] Avoid processing job buffers before codec initialization (#2507) --- src/core/libraries/ajm/ajm_instance.cpp | 5 +++++ src/core/libraries/ajm/ajm_instance.h | 1 + 2 files changed, 6 insertions(+) diff --git a/src/core/libraries/ajm/ajm_instance.cpp b/src/core/libraries/ajm/ajm_instance.cpp index 8af105c77..01b1d2b21 100644 --- a/src/core/libraries/ajm/ajm_instance.cpp +++ b/src/core/libraries/ajm/ajm_instance.cpp @@ -66,6 +66,7 @@ void AjmInstance::ExecuteJob(AjmJob& job) { LOG_TRACE(Lib_Ajm, "Initializing instance {}", job.instance_id); auto& params = job.input.init_params.value(); m_codec->Initialize(¶ms, sizeof(params)); + is_initialized = true; } if (job.input.resample_parameters.has_value()) { 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()) { std::span in_buf(job.input.buffer); SparseOutputBuffer out_buf(job.output.buffers); diff --git a/src/core/libraries/ajm/ajm_instance.h b/src/core/libraries/ajm/ajm_instance.h index 9d0f6b9f3..e02ac6ffb 100644 --- a/src/core/libraries/ajm/ajm_instance.h +++ b/src/core/libraries/ajm/ajm_instance.h @@ -96,6 +96,7 @@ private: AjmSidebandResampleParameters m_resample_parameters{}; u32 m_total_samples{}; std::unique_ptr m_codec; + bool is_initialized = false; }; } // namespace Libraries::Ajm