#pragma once #include "../submodules/libcamlite/src/libcamlite.hpp" #include "../submodules/libcamlite/src/stream_info.hpp" #include "rust/cxx.h" #include #include namespace libcamlite { struct LibCamWrapCallback; class LibCamWrap { public: LibCamWrap(); void setCallback(rust::Box obj) const; void setupLowres(const StreamParams& params) const; void setupH264(const StreamParams& paramsIn, uint8_t intra, const rust::String& profile, const rust::String& bitrate) const; void start(bool detach) const; void stop() const; private: class Impl; std::shared_ptr impl; }; std::unique_ptr new_libcamwrap(); std::unique_ptr new_streaminfo(); }