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:
@@ -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
|
||||
Reference in New Issue
Block a user