33 std::lock_guard
lk(mutex_);
35 return *writableFrame_.get();
41 std::lock_guard
lk(mutex_);
42 lastFrame_ = std::move(writableFrame_);
43 notify(std::static_pointer_cast<MediaFrame>(lastFrame_));
49 std::lock_guard
lk(mutex_);
50 lastFrame_ = std::move(
frame);
51 notify(std::static_pointer_cast<MediaFrame>(lastFrame_));
57 std::lock_guard
lk(mutex_);
58 writableFrame_.reset();
62std::shared_ptr<VideoFrame>
65 std::lock_guard
lk(mutex_);
93std::map<std::string, std::string>
96 return {{
"name",
name},
113 node[
"name"] = rhs.
name;
115 node[
"input"] = rhs.
input;
125 if (not node.IsMap()) {
126 JAMI_WARN(
"Unable to decode VideoSettings YAML node");
129 rhs.
name = node[
"name"].as<std::string>();
130 rhs.
unique_id = node[
"id"].as<std::string>();
131 rhs.
input = node[
"input"].as<std::string>();
132 rhs.
video_size = node[
"video_size"].as<std::string>();
133 rhs.
channel = node[
"channel"].as<std::string>();
134 rhs.
framerate = node[
"framerate"].as<std::string>();
141 out << convert<jami::video::VideoSettings>::encode(v);
std::shared_ptr< VideoFrame > obtainLastFrame()
VideoFrame & getNewFrame()
Emitter & operator<<(Emitter &out, const jami::video::VideoSettings &v)
static std::string extractString(const std::map< std::string, std::string > &settings, const std::string &key)
void emitSignal(Args... args)
libjami::VideoFrame VideoFrame
std::map< std::string, std::string > to_map() const