Deep redesign of frame grabbers to prevent multiple frame captures

(slow) and optimize distribution of gabbed frames to multiple recording
and streaming pipelines (e.g. record H264 *and* share stream on the
network). New implementation of Loopback source for LINUX using
v4l2loopback (experimental).
This commit is contained in:
brunoherbelin
2020-11-09 23:56:41 +01:00
parent 1c1a0e9b33
commit 56dfbc737d
16 changed files with 1170 additions and 833 deletions

View File

@@ -815,9 +815,6 @@ void Mixer::swap()
session_ = back_session_;
back_session_ = tmp;
// swap recorders
back_session_->transferFrameGrabber(session_);
// attach new session's nodes to views
for (auto source_iter = session_->begin(); source_iter != session_->end(); source_iter++)
attach(*source_iter);
@@ -850,9 +847,6 @@ void Mixer::swap()
// reset History manager
Action::manager().clear();
// inform streaming manager
Streaming::manager().setSession(session_);
// notification
Log::Notify("Session %s loaded. %d source(s) created.", session_->filename().c_str(), session_->numSource());
}