this feature will not last very long, its too hard to maintain, sometimes segfaults when encoder is finised or stops ?

moved into seperate folder, and cleaned up some components
This commit is contained in:
2026-06-25 09:23:01 +02:00
parent d605509588
commit 51421ffc2b
11 changed files with 757 additions and 4 deletions
+35
View File
@@ -0,0 +1,35 @@
#pragma once
extern "C" {
#include <libavcodec/avcodec.h>
}
namespace engine {
inline int pickSampleRate(const AVCodec *encoder, int sourceRate)
{
if (!encoder->supported_samplerates)
return sourceRate;
for (const int *r = encoder->supported_samplerates; *r != 0; ++r)
if (*r == sourceRate)
return sourceRate;
int best = 0;
for (const int *r = encoder->supported_samplerates; *r != 0; ++r) {
if (*r >= sourceRate) {
if (best == 0 || *r < best)
best = *r;
}
}
if (best != 0)
return best;
for (const int *r = encoder->supported_samplerates; *r != 0; ++r)
if (*r > best)
best = *r;
return best;
}
} // namespace engine