feat: garbage collection on startup, readable status strings, audio/float32
studio-manager: call mxlGarbageCollectFlows before launching nodes to
clean up stale flow directories left by previous crashed runs.
shared/NodeBase.hpp: add mxl_status_str(mxlStatus) — converts error
codes to readable names (e.g. MXL_ERR_OUT_OF_RANGE_TOO_LATE). All
nodes now log these names instead of raw integers.
shared/FlowDef.hpp: use "audio/float32" as media_type for 32-bit audio
flows, matching the MXL SDK examples. audio/L{n} kept for other depths.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -10,6 +10,7 @@
|
||||
#include <fcntl.h>
|
||||
#include <sys/wait.h>
|
||||
#include <unistd.h>
|
||||
#include <mxl/mxl.h>
|
||||
#include <mxl/time.h>
|
||||
#include "Signal.hpp"
|
||||
#include "FlowGraph.hpp"
|
||||
@@ -152,6 +153,16 @@ int main(int argc, char* argv[]) {
|
||||
}
|
||||
fprintf(stderr, "[studio-manager] domain: %s\n", domain.c_str());
|
||||
|
||||
// Clean up stale flow directories left by any previous crashed run
|
||||
{
|
||||
mxlInstance gc = mxlCreateInstance(domain.c_str(), nullptr);
|
||||
if (gc) {
|
||||
mxlGarbageCollectFlows(gc);
|
||||
mxlDestroyInstance(gc);
|
||||
fprintf(stderr, "[studio-manager] garbage collected stale flows\n");
|
||||
}
|
||||
}
|
||||
|
||||
// --- Build and launch the pipeline graph ---
|
||||
const dmf::FlowGraph graph = build_graph();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user