summaryrefslogtreecommitdiff
path: root/test/serialization/generated_serializer/meson.build
diff options
context:
space:
mode:
authorHarvey Yang <chenghaoyang@chromium.org>2024-10-22 07:43:37 +0000
committerKieran Bingham <kieran.bingham@ideasonboard.com>2024-11-20 10:47:27 +0000
commit168488275aacc804ffd264187dca8b3e48b21d9e (patch)
tree70094c4cd01544c9de672885a18a0f3344e79c84 /test/serialization/generated_serializer/meson.build
parent83c5ad0facdbd0173da2bb9ac0f0adc74c3db5ba (diff)
libcamera: add DmaBufAllocator::exportBuffers()
Add a helper function exportBuffers in DmaBufAllocator to make it easier to use. It'll be used in Virtual Pipeline Handler and SoftwareIsp. Signed-off-by: Harvey Yang <chenghaoyang@chromium.org> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Diffstat (limited to 'test/serialization/generated_serializer/meson.build')
0 files changed, 0 insertions, 0 deletions
/thread.h> #include <libcamera/base/timer.h> #include "test.h" using namespace std; using namespace libcamera; class EventHandler : public Object { public: EventHandler() : notified_(false) { int ret = pipe(pipefd_); if (ret < 0) { ret = errno; cout << "pipe() failed: " << strerror(ret) << endl; } notifier_ = new EventNotifier(pipefd_[0], EventNotifier::Read, this); notifier_->activated.connect(this, &EventHandler::readReady); } ~EventHandler() { delete notifier_; close(pipefd_[0]); close(pipefd_[1]); } int notify() { std::string data("H2G2"); ssize_t ret; memset(data_, 0, sizeof(data_)); size_ = 0; ret = write(pipefd_[1], data.data(), data.size()); if (ret < 0) { cout << "Pipe write failed" << endl; return TestFail; } return TestPass; } bool notified() const { return notified_; } private: void readReady([[maybe_unused]] EventNotifier *notifier) { size_ = read(notifier_->fd(), data_, sizeof(data_)); notified_ = true; } EventNotifier *notifier_; int pipefd_[2]; bool notified_; char data_[16]; ssize_t size_; }; class EventThreadTest : public Test { protected: int run() { Thread thread; thread.start(); /* * Fire the event notifier and then move the notifier to a * different thread. The notifier will not notice the event * immediately as there is no event dispatcher loop running in * the main thread. This tests that a notifier being moved to a * different thread will correctly process already pending * events in the new thread. */