audio: separate the decoder interface from AJM jobs

This commit is contained in:
nmzik
2026-09-06 14:07:12 +04:00
parent 093911a1dc
commit 30c7715d3f
6 changed files with 178 additions and 164 deletions
+3 -2
View File
@@ -1,6 +1,7 @@
#pragma once
#include "common/assert.h"
#include "libs/ajm/decoder.h"
#include <cstdint>
@@ -14,7 +15,7 @@ extern "C" {
namespace Libs::Audio::Ajm {
static AVSampleFormat AjmSampleEncodingToAvFormat(AjmSampleEncoding encoding) {
inline AVSampleFormat AjmSampleEncodingToAvFormat(AjmSampleEncoding encoding) {
switch (encoding) {
case AjmSampleEncoding::S16: return AV_SAMPLE_FMT_S16;
case AjmSampleEncoding::S32: return AV_SAMPLE_FMT_S32;
@@ -24,7 +25,7 @@ static AVSampleFormat AjmSampleEncodingToAvFormat(AjmSampleEncoding encoding) {
return AV_SAMPLE_FMT_S16;
}
static AVFrame* AjmConvertFfmpegFrame(const AVFrame* frame, AjmSampleEncoding encoding,
inline AVFrame* AjmConvertFfmpegFrame(const AVFrame* frame, AjmSampleEncoding encoding,
AjmDecodeResult* result) {
if (frame == nullptr || result == nullptr) {
return nullptr;