Unregisters IOService, releases all owned readers, clears stored buffers.
79{
80 {
81 std::vector<uint32_t> ids;
82 {
86 ids.push_back(id);
87 }
88 for (auto id : ids)
90 }
91
93 if (w->is_open()) {
94 auto fut = w->close();
95 fut.wait();
96 }
97 }
98
101
103
104 {
107 }
108
109 {
112 }
113
114 {
118 }
119
121}
#define MF_INFO(comp, ctx,...)
std::unordered_map< uint64_t, std::shared_ptr< CameraReader > > m_camera_readers
std::unordered_map< std::shared_ptr< Kakshya::SoundFileContainer >, std::vector< std::shared_ptr< Buffers::SoundContainerBuffer > > > m_audio_buffers
std::unordered_map< uint32_t, AudioCaptureState > m_audio_captures
void stop_capture(uint32_t capture_id)
Stop a running capture and finalise the file.
std::vector< std::shared_ptr< SoundFileWriter > > m_writers
std::shared_mutex m_camera_mutex
std::shared_mutex m_buffers_mutex
std::shared_ptr< Registry::Service::IOService > m_io_service
std::shared_mutex m_readers_mutex
std::mutex m_audio_captures_mutex
std::unordered_map< uint64_t, std::shared_ptr< VideoFileReader > > m_video_readers
std::unordered_map< std::shared_ptr< Kakshya::VideoFileContainer >, std::shared_ptr< Buffers::VideoContainerBuffer > > m_video_buffers
static BackendRegistry & instance()
Get the global registry instance.
void unregister_service()
Unregister a service.
@ Init
Engine/subsystem initialization.
@ Core
Core engine, backend, subsystems.