34 std::lock_guard
lk(mutex_);
36 return *writableFrame_.get();
42 std::lock_guard
lk(mutex_);
43 lastFrame_ = std::move(writableFrame_);
44 notify(std::static_pointer_cast<MediaFrame>(lastFrame_));
50 std::lock_guard
lk(mutex_);
51 lastFrame_ = std::move(
frame);
52 notify(std::static_pointer_cast<MediaFrame>(lastFrame_));
58 std::lock_guard
lk(mutex_);
59 writableFrame_.reset();
63std::shared_ptr<VideoFrame>
66 std::lock_guard
lk(mutex_);
94std::map<std::string, std::string>
97 return {{
"name",
name},
114 node[
"name"] = rhs.
name;
116 node[
"input"] = rhs.
input;
126 if (not node.IsMap()) {
127 JAMI_WARN(
"Unable to decode VideoSettings YAML node");
130 rhs.
name = node[
"name"].as<std::string>();
131 rhs.
unique_id = node[
"id"].as<std::string>();
132 rhs.
input = node[
"input"].as<std::string>();
133 rhs.
video_size = node[
"video_size"].as<std::string>();
134 rhs.
channel = node[
"channel"].as<std::string>();
135 rhs.
framerate = node[
"framerate"].as<std::string>();
142 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