WIP: one ./MistServer binary that contains everything
Created by: iameli
Terrible code. Proof-of-concept only. Doesn't work yet. But it does make one binary that boots a few things! Build the new ninja MistServer
target to try it out.
ninja MistServer && ./MistServer -g 8 -c ../config.json
Notes:
- This is one binary embedding
MistController MistOutHLS MistOutHTTP MistOutRTMP MistInBuffer MistSession
. So far only RTMP input and output work, HTTP is busted. Capabilities discovery is presently limited to some hardcoded JSON strings; you'd probably want to do codegen on that so capabilities can just be hardcoded at compile time. - I've had to go through a few different code paths that all call
execvp
themselves to prependUtil::getMyPath() + "MistServer"
. I assume the right path here would be to refactor all of those calls to use the same helper inprocs.h
so that can just be hardcoded/IFDEF'd in one place. - Everything other than the
ninja MistServer
target is broken on that branch, so there's obviously quite a bit of work to do on setting things up so that they can all be individual modules or one shared thing.