summaryrefslogtreecommitdiff
path: root/src/ipa/rkisp1/rkisp1.cpp
diff options
context:
space:
mode:
authorJacopo Mondi <jacopo@jmondi.org>2021-02-17 16:04:34 +0100
committerJacopo Mondi <jacopo@jmondi.org>2021-03-03 09:50:12 +0100
commit64c17f73a08fd121c233e655d6ded9790c03dda5 (patch)
treeec797bd5c44c79a362ad5f6787f56b31ebaed09a /src/ipa/rkisp1/rkisp1.cpp
parentad9eee2a7d91cd6113242194b8bc7be905436cb5 (diff)
android: Introduce CameraBuffer interface
In order to provide support for different memory backends, move the MappedCamera3Buffer class definition outside of the CameraDevice class to its own file and rename it in CameraBuffer. The interface defined in camera_buffer.h will be implemented by different backends that will be placed in the src/android/mm subdirectory. Provide a first implementation for the 'generic android' backend which matches the existing one. Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
Diffstat (limited to 'src/ipa/rkisp1/rkisp1.cpp')
0 files changed, 0 insertions, 0 deletions
SIGALRM, &sa, nullptr); return 0; } int run() { Timer timer; /* Event processing interruption by signal. */ std::chrono::steady_clock::time_point start = std::chrono::steady_clock::now(); timer.start(1000); struct itimerval itimer = {}; itimer.it_value.tv_usec = 500000; interrupt = false; setitimer(ITIMER_REAL, &itimer, nullptr); dispatcher->processEvents(); std::chrono::steady_clock::time_point stop = std::chrono::steady_clock::now(); std::chrono::steady_clock::duration duration = stop - start; int msecs = std::chrono::duration_cast<std::chrono::milliseconds>(duration).count(); if (abs(msecs - 1000) > 50) { cout << "Event processing restart test failed" << endl; return TestFail; } /* Event processing interruption. */ timer.start(1000); dispatcher->interrupt(); dispatcher->processEvents(); if (!timer.isRunning()) { cout << "Event processing immediate interruption failed" << endl; return TestFail; } timer.start(1000); itimer.it_value.tv_usec = 500000; interrupt = true; setitimer(ITIMER_REAL, &itimer, nullptr); dispatcher->processEvents(); if (!timer.isRunning()) { cout << "Event processing delayed interruption failed" << endl; return TestFail; } return TestPass; } void cleanup() { } }; TEST_REGISTER(EventDispatcherTest)