diff --git a/CMakeLists.txt b/CMakeLists.txt index 761a7fa81a54b95ba0d9ca0fd63af2335149e808..c2702880e4f31395f0c1398c652b602b38ada047 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -475,7 +475,7 @@ if (BUILD_CALIBRATION) endif() if (BUILD_RECONSTRUCT) - add_subdirectory(applications/reconstruct) + #add_subdirectory(applications/reconstruct) endif() if (HAVE_NANOGUI) diff --git a/applications/gui2/src/frameview.cpp b/applications/gui2/src/frameview.cpp index c22596b647e482ad231b680678d88ce533a2a2a4..190a9ddda06cb1cfdfaaa5d13c244c58a865d238 100644 --- a/applications/gui2/src/frameview.cpp +++ b/applications/gui2/src/frameview.cpp @@ -119,7 +119,7 @@ void FrameView::draw(NVGcontext *ctx) { glDisable(GL_SCISSOR_TEST); } -void FrameView::set(const std::shared_ptr<ftl::data::FrameSet> &fs, int fid, ftl::codecs::Channel c, cudaStream_t s, bool cp) { +void FrameView::set(const ftl::data::FrameSetPtr &fs, int fid, ftl::codecs::Channel c, cudaStream_t s, bool cp) { if (!std::atomic_load(&fs_)) { fid_ = fid; channel_ = c; diff --git a/applications/gui2/src/frameview.hpp b/applications/gui2/src/frameview.hpp index 0d23ccf904f1613d494f684c0d033449230aa5bd..32176ee12f890f5183547ea3cb161d8c9816b43c 100644 --- a/applications/gui2/src/frameview.hpp +++ b/applications/gui2/src/frameview.hpp @@ -22,7 +22,7 @@ public: * at next draw() call. Can be called from any thread. Saves parameters * and copies the shared pointer. The other set() method is used in next * draw call to perform the operation. */ - void set(const std::shared_ptr<ftl::data::FrameSet>& fs, int fid, ftl::codecs::Channel channel, cudaStream_t stream=0, bool copy=true); + void set(const ftl::data::FrameSetPtr& fs, int fid, ftl::codecs::Channel channel, cudaStream_t stream=0, bool copy=true); /** Set a frame in OpenGL context. May only be called from GUI thread (draw * or GUI callback */ void set(const NVGcontext *ctx, ftl::data::Frame &f, ftl::codecs::Channel c, cudaStream_t s=0, bool cp=true); diff --git a/applications/gui2/src/inputoutput.hpp b/applications/gui2/src/inputoutput.hpp index 38722e16129a50a19770f8b0bbb00a71ff9fcbc0..529af2427e61c350d34d46e939f14b1e4fb88aeb 100644 --- a/applications/gui2/src/inputoutput.hpp +++ b/applications/gui2/src/inputoutput.hpp @@ -30,16 +30,16 @@ public: InputOutput(const InputOutput&) = delete; void operator=(const InputOutput&) = delete; - ftl::Handle addCallback(const std::function<bool(const std::shared_ptr<ftl::data::FrameSet>&)>&); + ftl::Handle addCallback(const std::function<bool(const ftl::data::FrameSetPtr&)>&); ftl::net::Universe* net() const; ftl::ctrl::Master* master() const { return master_.get(); } ftl::stream::Feed* feed() const { return feed_.get(); } private: - void processFrameSet_(const std::shared_ptr<ftl::data::FrameSet>&); + void processFrameSet_(const ftl::data::FrameSetPtr&); - ftl::Handler<const std::shared_ptr<ftl::data::FrameSet>&> cb_; + ftl::Handler<const ftl::data::FrameSetPtr&> cb_; ftl::Handle hr_; // receiver handle ftl::net::Universe* net_; diff --git a/applications/gui2/src/modules/camera/control.cpp b/applications/gui2/src/modules/camera/control.cpp index 771f38f8f028e0a01793c75f346af8c11ba686b2..30594061272151b7af2c36cf5cbae19fb1769cb6 100644 --- a/applications/gui2/src/modules/camera/control.cpp +++ b/applications/gui2/src/modules/camera/control.cpp @@ -8,7 +8,7 @@ void Camera::activate() { filter = io->feed()->filter({ftl::codecs::Channel::Colour}); filter->on( - [this, view](const std::shared_ptr<ftl::data::FrameSet>& fs){ + [this, view](const ftl::data::FrameSetPtr& fs){ view->update(fs, source_idx); screen->redraw(); return true; diff --git a/applications/gui2/src/modules/camera/view.cpp b/applications/gui2/src/modules/camera/view.cpp index ab576b950b535b3ffcb797c124e1b91160990101..44f25b1c63067b32986c161b50baf74094d485a2 100644 --- a/applications/gui2/src/modules/camera/view.cpp +++ b/applications/gui2/src/modules/camera/view.cpp @@ -44,7 +44,7 @@ void CameraView::draw(NVGcontext *ctx) { View::draw(ctx); } -void CameraView::update(const std::shared_ptr<ftl::data::FrameSet>& fs, int fid) { +void CameraView::update(const ftl::data::FrameSetPtr& fs, int fid) { auto channel = ftl::codecs::Channel::Colour; fview->set(fs, fid, channel, 0, true); diff --git a/applications/gui2/src/modules/camera/view.hpp b/applications/gui2/src/modules/camera/view.hpp index 5213820fb164176cab251bccd6fd980671d42151..225987df40a834bed7023e076cd24919291535a8 100644 --- a/applications/gui2/src/modules/camera/view.hpp +++ b/applications/gui2/src/modules/camera/view.hpp @@ -21,7 +21,7 @@ public: ~CameraView(); virtual void draw(NVGcontext *ctx) override; - void update(const std::shared_ptr<ftl::data::FrameSet>& fs, int fid); + void update(const ftl::data::FrameSetPtr& fs, int fid); private: diff --git a/applications/gui2/src/modules/thumbnails/control.cpp b/applications/gui2/src/modules/thumbnails/control.cpp index 06a114692c27847dd9b84079b3cdbcc509977e65..5628c59e22e50c5989c3dd31908033c634e1df33 100644 --- a/applications/gui2/src/modules/thumbnails/control.cpp +++ b/applications/gui2/src/modules/thumbnails/control.cpp @@ -34,7 +34,7 @@ void ThumbnailsController::show_thumbnails() { auto* filter = io->feed()->filter({Channel::Colour}); filter->on( - [this, thumb_view](const std::shared_ptr<ftl::data::FrameSet>& fs){ + [this, thumb_view](const ftl::data::FrameSetPtr& fs){ thumb_view->update(fs); screen->redraw(); return true; diff --git a/applications/gui2/src/modules/thumbnails/view.cpp b/applications/gui2/src/modules/thumbnails/view.cpp index 947d13e384369c0ee0b6a5ee7f66b84a2d7dab01..cf291110ce17a4b194e98861e6db98f054ff08ed 100644 --- a/applications/gui2/src/modules/thumbnails/view.cpp +++ b/applications/gui2/src/modules/thumbnails/view.cpp @@ -67,7 +67,7 @@ Thumbnails::~Thumbnails() { } -void Thumbnails::update(const std::shared_ptr<ftl::data::FrameSet>& fs) { +void Thumbnails::update(const ftl::data::FrameSetPtr& fs) { if (!fs_) { fs_ = fs; } diff --git a/applications/gui2/src/modules/thumbnails/view.hpp b/applications/gui2/src/modules/thumbnails/view.hpp index c84a2c744ad504d99d627d09465405e443c21001..0ceb9e6418f5c483327bc0798cf82d99620a3e81 100644 --- a/applications/gui2/src/modules/thumbnails/view.hpp +++ b/applications/gui2/src/modules/thumbnails/view.hpp @@ -17,7 +17,7 @@ public: Thumbnails(nanogui::Widget *parent, ThumbnailsController *controller); virtual ~Thumbnails(); - void update(const std::shared_ptr<ftl::data::FrameSet>& fs); + void update(const ftl::data::FrameSetPtr& fs); virtual void draw(NVGcontext *ctx) override; private: diff --git a/components/common/cpp/test/msgpack_unit.cpp b/components/common/cpp/test/msgpack_unit.cpp index c5e79d3bf91e34f2ac672ffcb53919b9a884a196..940706125069952bb015017fcbfaaf03e83f5f2e 100644 --- a/components/common/cpp/test/msgpack_unit.cpp +++ b/components/common/cpp/test/msgpack_unit.cpp @@ -60,17 +60,25 @@ TEST_CASE( "msgpack cv::Mat" ) { SECTION( "Mat::ones(Size(1, 5), CV_8UC3)" ) { Mat A = Mat::ones(Size(1, 5), CV_8UC3); Mat B = msgpack_unpack<Mat>(msgpack_pack(A)); - + REQUIRE(A.size() == B.size()); REQUIRE(A.type() == B.type()); - REQUIRE(cv::countNonZero(A != B) == 0); + + cv::Mat diff; + cv::absdiff(A, B, diff); + REQUIRE(cv::countNonZero(diff.reshape(1, diff.total())) == 0); + + // how is it possible this REQUIRE() passed earlier? Multi-channel + // images can not be used in countNonZero() and A != B returns multi + // channel result. (test fixed by comparison above) + //REQUIRE(cv::countNonZero(A != B) == 0); } SECTION ( "Mat 10x10 CV_64FC1 with random values [-1000, 1000]" ) { Mat A(Size(10, 10), CV_64FC1); cv::randu(A, -1000, 1000); Mat B = msgpack_unpack<Mat>(msgpack_pack(A)); - + REQUIRE(A.size() == B.size()); REQUIRE(A.type() == B.type()); REQUIRE(cv::countNonZero(A != B) == 0); @@ -82,9 +90,9 @@ TEST_CASE( "msgpack cv::Mat" ) { msgpack::zone z; auto obj = msgpack::object(A, z); - + Mat B = msgpack_unpack<Mat>(msgpack_pack(obj)); - + REQUIRE(A.size() == B.size()); REQUIRE(A.type() == B.type()); REQUIRE(cv::countNonZero(A != B) == 0); @@ -97,7 +105,7 @@ TEST_CASE( "msgpack cv::Mat" ) { A.setTo(0); Mat B = msgpack_unpack<Mat>(msgpack_pack(A)); - + REQUIRE(A.size() == B.size()); REQUIRE(A.type() == B.type()); REQUIRE(cv::countNonZero(A != B) == 0); @@ -111,7 +119,7 @@ TEST_CASE( "msgpack cv::Mat" ) { auto res = msgpack_unpack<cv::Rect2d>(msgpack_pack(cv::Rect2d(1,2,3,4))); REQUIRE(res == cv::Rect2d(1,2,3,4)); } - + SECTION( "Vec<T, SIZE>" ) { auto res = msgpack_unpack<cv::Vec4d>(msgpack_pack(cv::Vec4d(1,2,3,4))); REQUIRE(res == cv::Vec4d(1,2,3,4)); diff --git a/components/rgbd-sources/include/ftl/rgbd/source.hpp b/components/rgbd-sources/include/ftl/rgbd/source.hpp index 1a3177d2ca5cbd2b427c83d8d85740cad2fcfb96..1a1cb2a26c93a10402ebb1b2eb17c14cef9268ac 100644 --- a/components/rgbd-sources/include/ftl/rgbd/source.hpp +++ b/components/rgbd-sources/include/ftl/rgbd/source.hpp @@ -169,7 +169,7 @@ class SourceGenerator : public ftl::data::Generator { public: explicit SourceGenerator(Source *src) : source_(src) {} - inline ftl::Handle onFrameSet(const std::function<bool(const std::shared_ptr<ftl::data::FrameSet>&)> &cb) override { + inline ftl::Handle onFrameSet(const ftl::data::FrameSetCallback &cb) override { return source_->onFrame([this,cb](ftl::data::Frame &frame) { auto fs = ftl::data::FrameSet::fromFrame(frame); return cb(fs); diff --git a/components/streams/include/ftl/streams/builder.hpp b/components/streams/include/ftl/streams/builder.hpp index 38b18fd5cbf6eda0fd300c4e81f71b700c8b8533..040b141385b23bf0ede0af5914fcfb16167adf6e 100644 --- a/components/streams/include/ftl/streams/builder.hpp +++ b/components/streams/include/ftl/streams/builder.hpp @@ -27,7 +27,7 @@ class Builder { //inline void setID(int id) { id_ = id; } - inline ftl::Handle onFrameSet(const std::function<bool(const std::shared_ptr<ftl::data::FrameSet>&)> &cb) { return cb_.on(cb); } + inline ftl::Handle onFrameSet(const ftl::data::FrameSetCallback &cb) { return cb_.on(cb); } /** * Instead of pushing a frame, find or create a direct reference to one. @@ -67,7 +67,7 @@ class Builder { //std::list<ftl::data::FrameSet*> allocated_; // Keep memory allocations size_t head_; - ftl::Handler<const std::shared_ptr<ftl::data::FrameSet>&> cb_; + ftl::Handler<const ftl::data::FrameSetPtr&> cb_; MUTEX mutex_; int mspf_; int64_t last_ts_; diff --git a/components/streams/include/ftl/streams/feed.hpp b/components/streams/include/ftl/streams/feed.hpp index 7992950ee3b212cec1956c03a51348727c1f4510..784b8f6de2ea7802b31251b3b111a1e0e4f0cc01 100644 --- a/components/streams/include/ftl/streams/feed.hpp +++ b/components/streams/include/ftl/streams/feed.hpp @@ -34,7 +34,7 @@ public: const std::unordered_set<ftl::codecs::Channel>& channels() const { return channels_; }; const std::unordered_set<uint32_t>& sources() const { return sources_; }; - void on(const ftl::data::FrameSetHandler &cb); + void on(const ftl::data::FrameSetCallback &cb); private: Filter(Feed* feed, const std::unordered_set<uint32_t>& sources, const std::unordered_set<ftl::codecs::Channel>& channels); diff --git a/components/streams/include/ftl/streams/receiver.hpp b/components/streams/include/ftl/streams/receiver.hpp index c9a061ce35786721fe1b34c1397692ba5cb30293..4d109a1f085e24504d3e92a9b094938e935e676b 100644 --- a/components/streams/include/ftl/streams/receiver.hpp +++ b/components/streams/include/ftl/streams/receiver.hpp @@ -34,7 +34,7 @@ class Receiver : public ftl::Configurable, public ftl::data::Generator { * Register a callback for received framesets. Sources are automatically * created to match the data received. */ - ftl::Handle onFrameSet(const std::function<bool(const std::shared_ptr<ftl::data::FrameSet>&)> &cb) override; + ftl::Handle onFrameSet(const ftl::data::FrameSetCallback &cb) override; /** * Add a frameset handler to a specific stream ID. @@ -48,7 +48,7 @@ class Receiver : public ftl::Configurable, public ftl::data::Generator { private: ftl::stream::Stream *stream_; ftl::data::Pool *pool_; - ftl::SingletonHandler<const std::shared_ptr<ftl::data::FrameSet>&> callback_; + ftl::SingletonHandler<const ftl::data::FrameSetPtr&> callback_; std::unordered_map<uint32_t, ftl::streams::Builder> builders_; std::list<ftl::Handle> handles_; ftl::codecs::Channel second_channel_; diff --git a/components/streams/include/ftl/streams/renderer.hpp b/components/streams/include/ftl/streams/renderer.hpp index 58c081ae7dddf491b3635e78a6a7c1bb1aa3531d..9c286028b15b5fdc071667718d75528eb41d948f 100644 --- a/components/streams/include/ftl/streams/renderer.hpp +++ b/components/streams/include/ftl/streams/renderer.hpp @@ -1,7 +1,6 @@ #ifndef _FTL_RENDER_GENERATOR_HPP_ #define _FTL_RENDER_GENERATOR_HPP_ - #include <ftl/data/new_frameset.hpp> #include <ftl/rgbd/frameset.hpp> #include <ftl/audio/frameset.hpp> @@ -17,11 +16,13 @@ class Renderer : public ftl::Configurable, public ftl::data::Generator { public: explicit Renderer(nlohmann::json &config, ftl::data::Pool *, uint32_t fsid); ~Renderer(); - ftl::Handle onFrameSet(const std::function<bool(const std::shared_ptr<ftl::data::FrameSet>&)> &cb) override; + ftl::Handle onFrameSet(const ftl::data::FrameSetCallback &cb) override; + void submit(const ftl::data::FrameSetPtr &fs); + private: ftl::streams::Builder builder_; ftl::Handle builder_handle_; - ftl::SingletonHandler<const std::shared_ptr<ftl::data::FrameSet>&> callback_; + ftl::SingletonHandler<const ftl::data::FrameSetPtr&> callback_; ftl::data::FrameSetPtr input_; std::unique_ptr<ftl::render::CUDARender> renderer_; }; diff --git a/components/streams/src/feed.cpp b/components/streams/src/feed.cpp index 2d846136e8c705442eccd8e821d43665896b5168..584785f4ed40b7b20cc73710edd6638f3ad1ef01 100644 --- a/components/streams/src/feed.cpp +++ b/components/streams/src/feed.cpp @@ -19,7 +19,7 @@ Feed::Filter::~Filter() { } -void Feed::Filter::on(const ftl::data::FrameSetHandler &cb) { +void Feed::Filter::on(const ftl::data::FrameSetCallback &cb) { std::unique_lock<std::mutex> lk(feed_->mtx_); if (std::find(feed_->filters_.begin(), feed_->filters_.end(),this) == feed_->filters_.end()) { @@ -74,7 +74,7 @@ Feed::Feed(nlohmann::json &config, ftl::net::Universe*net) : }); handle_receiver_ = receiver_->onFrameSet( - [this](const std::shared_ptr<ftl::data::FrameSet>& fs) { + [this](const ftl::data::FrameSetPtr& fs) { if (pre_pipelines_.count(fs->frameset()) == 1) { pre_pipelines_[fs->frameset()]->apply(*fs, *fs, 0); } @@ -288,6 +288,6 @@ uint32_t Feed::allocateFrameSetId() { } -/*ftl::Handle Feed::onFrameSet(const ftl::stream::ftl::data::FrameSetHandler &f) { +/*ftl::Handle Feed::onFrameSet(const ftl::stream::ftl::data::FrameSetCallback &f) { return frameset_cb_.on(f); }*/ diff --git a/components/streams/src/receiver.cpp b/components/streams/src/receiver.cpp index 839d7cde171a47b8e518af42b1d288682070d3e4..cf21177f0e37a5d4a99efee05f95481c33c4326d 100644 --- a/components/streams/src/receiver.cpp +++ b/components/streams/src/receiver.cpp @@ -63,7 +63,7 @@ ftl::streams::Builder &Receiver::builder(uint32_t id) { b.setID(id); b.setPool(pool_); b.setBufferSize(value("frameset_buffer_size", 3)); - handles_.push_back(std::move(b.onFrameSet([this](const std::shared_ptr<ftl::data::FrameSet>& fs) { + handles_.push_back(std::move(b.onFrameSet([this](const ftl::data::FrameSetPtr& fs) { callback_.trigger(fs); return true; }))); @@ -430,7 +430,7 @@ void Receiver::setStream(ftl::stream::Stream *s) { }); } -ftl::Handle Receiver::onFrameSet(const std::function<bool(const std::shared_ptr<ftl::data::FrameSet>&)> &cb) { +ftl::Handle Receiver::onFrameSet(const std::function<bool(const ftl::data::FrameSetPtr&)> &cb) { //for (auto &b : builders_) // b.second.onFrameSet(cb); return callback_.on(cb); diff --git a/components/streams/src/renderer.cpp b/components/streams/src/renderer.cpp index 910589dce5488250a87e134e32779c7a23697071..243d1a8761ac0e54da88b8280d83f8092ed76bae 100644 --- a/components/streams/src/renderer.cpp +++ b/components/streams/src/renderer.cpp @@ -20,22 +20,33 @@ Renderer::Renderer(nlohmann::json &config, ftl::data::Pool *p, uint32_t fsid) : builder_handle_ = builder_.onFrameSet([this](const ftl::data::FrameSetPtr &fs){ // wrong way auto &frame_out = builder_.get(fs->timestamp(), 0).cast<ftl::rgbd::Frame>(); + auto input = input_; + renderer_->begin(frame_out, ftl::codecs::Channel::Left); renderer_->submit( - fs.get(), + input.get(), ftl::codecs::Channels<0>(ftl::codecs::Channel::Colour), Eigen::Matrix4d::Identity()); - //auto &frame = fs_out->frames[0].cast<ftl::rgbd::Frame>(); - //frame.get<ftl::rgbd::Frame>(); - // return true; }); } +void Renderer::submit(const ftl::data::FrameSetPtr &fs) { + input_ = fs; + auto &frame_out = builder_.get(fs->timestamp(), 0).cast<ftl::rgbd::Frame>(); + auto input = input_; + renderer_->begin(frame_out, ftl::codecs::Channel::Left); + renderer_->submit( + input.get(), + ftl::codecs::Channels<0>(ftl::codecs::Channel::Colour), + Eigen::Matrix4d::Identity()); +} + Renderer::~Renderer() { } -ftl::Handle Renderer::onFrameSet(const std::function<bool(const std::shared_ptr<ftl::data::FrameSet>&)> &cb) { - return callback_.on(cb); +ftl::Handle Renderer::onFrameSet(const std::function<bool(const ftl::data::FrameSetPtr&)> &cb) { + //return callback_.on(cb); + return builder_.onFrameSet(cb); } diff --git a/components/streams/test/builder_unit.cpp b/components/streams/test/builder_unit.cpp index cb3f4b0d2a9cf96dc8cf3bde3848957512ddace7..345f1885b3610586834572179787eceda5091cfc 100644 --- a/components/streams/test/builder_unit.cpp +++ b/components/streams/test/builder_unit.cpp @@ -73,7 +73,7 @@ TEST_CASE("ftl::streams::Builder can complete a frameset", "[]") { int fsid = 0; - auto h = builder.onFrameSet([&fsid](const std::shared_ptr<ftl::data::FrameSet>& fs) { + auto h = builder.onFrameSet([&fsid](const ftl::data::FrameSetPtr& fs) { fsid = fs->frameset(); return false; }); @@ -96,7 +96,7 @@ TEST_CASE("ftl::streams::Builder can complete a frameset", "[]") { int fsid = 0; - auto h = builder.onFrameSet([&fsid](const std::shared_ptr<ftl::data::FrameSet>& fs) { + auto h = builder.onFrameSet([&fsid](const ftl::data::FrameSetPtr& fs) { fsid = fs->frameset(); return false; }); @@ -120,7 +120,7 @@ TEST_CASE("ftl::streams::Builder can complete a frameset", "[]") { int fsid = 0; - auto h = builder.onFrameSet([&fsid](const std::shared_ptr<ftl::data::FrameSet>& fs) { + auto h = builder.onFrameSet([&fsid](const ftl::data::FrameSetPtr& fs) { fsid = fs->frameset(); return false; }); diff --git a/components/streams/test/receiver_unit.cpp b/components/streams/test/receiver_unit.cpp index 6f6ebe291c1095446e9049c13b7a779559623187..97694aaac4685963440e09bf3b77c1e1aa522ed9 100644 --- a/components/streams/test/receiver_unit.cpp +++ b/components/streams/test/receiver_unit.cpp @@ -108,7 +108,7 @@ TEST_CASE( "Receiver generating onFrameSet" ) { stream.post(spkt, pkt); int count = 0; - auto h = receiver->onFrameSet([&count](const std::shared_ptr<ftl::data::FrameSet>& fs) { + auto h = receiver->onFrameSet([&count](const ftl::data::FrameSetPtr& fs) { ++count; REQUIRE( fs->timestamp() == 10 ); @@ -138,7 +138,7 @@ TEST_CASE( "Receiver generating onFrameSet" ) { stream.post(spkt, pkt); std::atomic<int> mask = 0; - auto h = receiver->onFrameSet([&mask](const std::shared_ptr<ftl::data::FrameSet>& fs) { + auto h = receiver->onFrameSet([&mask](const ftl::data::FrameSetPtr& fs) { mask |= 1 << fs->frameset(); return true; }); @@ -163,7 +163,7 @@ TEST_CASE( "Receiver generating onFrameSet" ) { stream.post(spkt, pkt); int count = 0; - auto h = receiver->onFrameSet([&count](const std::shared_ptr<ftl::data::FrameSet>& fs) { + auto h = receiver->onFrameSet([&count](const ftl::data::FrameSetPtr& fs) { ++count; REQUIRE( fs->timestamp() == 10 ); @@ -197,7 +197,7 @@ TEST_CASE( "Receiver generating onFrameSet" ) { stream.post(spkt, pkt); int count = 0; - auto h = receiver->onFrameSet([&count](const std::shared_ptr<ftl::data::FrameSet>& fs) { + auto h = receiver->onFrameSet([&count](const ftl::data::FrameSetPtr& fs) { ++count; REQUIRE( fs->timestamp() == 10 ); @@ -232,7 +232,7 @@ TEST_CASE( "Receiver generating onFrameSet" ) { stream.post(spkt, pkt); int count = 0; - auto h = receiver->onFrameSet([&count](const std::shared_ptr<ftl::data::FrameSet>& fs) { + auto h = receiver->onFrameSet([&count](const ftl::data::FrameSetPtr& fs) { ++count; REQUIRE( fs->timestamp() == 10 ); @@ -314,7 +314,7 @@ TEST_CASE( "Receiver sync bugs" ) { int count = 0; int64_t ts = 0; bool haswrongchan = false; - auto h = receiver->onFrameSet([&count,&ts,&haswrongchan](const std::shared_ptr<ftl::data::FrameSet>& fs) { + auto h = receiver->onFrameSet([&count,&ts,&haswrongchan](const ftl::data::FrameSetPtr& fs) { ++count; ts = fs->timestamp(); @@ -398,7 +398,7 @@ TEST_CASE( "Receiver non zero buffer" ) { REQUIRE( r ); int count = 0; - auto h = receiver->onFrameSet([&count](const std::shared_ptr<ftl::data::FrameSet>& fs) { + auto h = receiver->onFrameSet([&count](const ftl::data::FrameSetPtr& fs) { ++count; REQUIRE( fs->timestamp() == 10 ); @@ -469,7 +469,7 @@ TEST_CASE( "Receiver for data channels" ) { stream.post(spkt, pkt); int count = 0; - auto h = receiver->onFrameSet([&count](const std::shared_ptr<ftl::data::FrameSet>& fs) { + auto h = receiver->onFrameSet([&count](const ftl::data::FrameSetPtr& fs) { ++count; REQUIRE( fs->timestamp() == 10 ); @@ -497,7 +497,7 @@ TEST_CASE( "Receiver for data channels" ) { stream.post(spkt, pkt); int count = 0; - auto h = receiver->onFrameSet([&count](const std::shared_ptr<ftl::data::FrameSet>& fs) { + auto h = receiver->onFrameSet([&count](const ftl::data::FrameSetPtr& fs) { ++count; REQUIRE( fs->timestamp() == 10 ); diff --git a/components/structures/include/ftl/data/new_frameset.hpp b/components/structures/include/ftl/data/new_frameset.hpp index 6b4a95311253d84d422c82a2c8e14c0443a96da4..6acba56a194f2b45d930fbb3db0aec0329f35b35 100644 --- a/components/structures/include/ftl/data/new_frameset.hpp +++ b/components/structures/include/ftl/data/new_frameset.hpp @@ -100,11 +100,11 @@ class FrameSet : public ftl::data::Frame { }; using FrameSetPtr = std::shared_ptr<ftl::data::FrameSet>; -using FrameSetHandler = std::function<bool(const FrameSetPtr&)>; +using FrameSetCallback = std::function<bool(const FrameSetPtr&)>; class Generator { public: - virtual ftl::Handle onFrameSet(const FrameSetHandler &)=0; + virtual ftl::Handle onFrameSet(const FrameSetCallback &)=0; }; /** diff --git a/components/structures/src/new_frame.cpp b/components/structures/src/new_frame.cpp index 0e8befa0d302c41a9eca0b16c48721d6afbb3c7d..c91aef2f7bdf6d64bc54543f41bce4ce3a301c86 100644 --- a/components/structures/src/new_frame.cpp +++ b/components/structures/src/new_frame.cpp @@ -85,7 +85,7 @@ bool ftl::data::Frame::has(ftl::codecs::Channel c) const { if (i != data_.end() && i->second.status != ftl::data::ChannelStatus::INVALID) { return true; } else { - return (parent_ && parent_->has(c)); + return (parent_ && parent_->has(c)); } } @@ -113,7 +113,7 @@ std::any &Frame::createAnyChange(ftl::codecs::Channel c, ftl::data::ChangeType t if (status_ != FrameStatus::CREATED) throw FTL_Error("Cannot apply change after store " << static_cast<int>(status_)); ftl::data::Frame::ChannelData *d; - + if (parent_) { UNIQUE_LOCK(mutex(), lk); d = &(data_[c]); @@ -136,7 +136,7 @@ std::any &Frame::createAnyChange(ftl::codecs::Channel c, ftl::data::ChangeType t if (status_ != FrameStatus::CREATED) throw FTL_Error("Cannot apply change after store " << static_cast<int>(status_)); ftl::data::Frame::ChannelData *d; - + if (parent_) { UNIQUE_LOCK(mutex(), lk); d = &(data_[c]); @@ -370,7 +370,7 @@ ftl::Handle Session::onFlush(const std::function<bool(Frame&,ftl::codecs::Channe } void Session::notifyChanges(Frame &f) { - + } void Session::flush(Frame &f) {