Add MetadataFrame
This commit is contained in:
18
src/PyMetadataFrame.cpp
Normal file
18
src/PyMetadataFrame.cpp
Normal file
@@ -0,0 +1,18 @@
|
||||
#include "PyMetadataFrame.hpp"
|
||||
|
||||
PyMetadataFrame::PyMetadataFrame(int length_, int64_t timecode_,
|
||||
const std::string &data_)
|
||||
: _data(data_) {
|
||||
length = length_;
|
||||
timecode = timecode_;
|
||||
p_data = &_data[0];
|
||||
}
|
||||
|
||||
PyMetadataFrame::~PyMetadataFrame() {}
|
||||
|
||||
const std::string &PyMetadataFrame::getData() const { return _data; }
|
||||
|
||||
void PyMetadataFrame::setData(const std::string &data) {
|
||||
_data = data;
|
||||
p_data = &_data[0];
|
||||
}
|
||||
15
src/PyMetadataFrame.hpp
Normal file
15
src/PyMetadataFrame.hpp
Normal file
@@ -0,0 +1,15 @@
|
||||
#include <string>
|
||||
|
||||
#include <Processing.NDI.Lib.h>
|
||||
|
||||
class PyMetadataFrame : public NDIlib_metadata_frame_t {
|
||||
public:
|
||||
PyMetadataFrame(int length_, int64_t timecode_, const std::string &data_);
|
||||
virtual ~PyMetadataFrame();
|
||||
|
||||
const std::string &getData() const;
|
||||
void setData(const std::string &data);
|
||||
|
||||
private:
|
||||
std::string _data;
|
||||
};
|
||||
12
src/main.cpp
12
src/main.cpp
@@ -1,6 +1,7 @@
|
||||
#include <pybind11/numpy.h>
|
||||
#include <pybind11/pybind11.h>
|
||||
|
||||
#include "PyMetadataFrame.hpp"
|
||||
#include "PySource.hpp"
|
||||
#include "PyVideoFrame.hpp"
|
||||
|
||||
@@ -148,13 +149,14 @@ PYBIND11_MODULE(NDIlib, m) {
|
||||
.def_readwrite("metadata", &NDIlib_audio_frame_v2_t::p_metadata)
|
||||
.def_readwrite("timestamp", &NDIlib_audio_frame_v2_t::timestamp);
|
||||
|
||||
py::class_<NDIlib_metadata_frame_t>(m, "MetadataFrame")
|
||||
.def(py::init<int, int64_t, char *>(), py::arg("length") = 0,
|
||||
py::class_<PyMetadataFrame>(m, "MetadataFrame")
|
||||
.def(py::init<int, int64_t, const std::string &>(), py::arg("length") = 0,
|
||||
py::arg("timecode") = NDIlib_send_timecode_synthesize,
|
||||
py::arg("data") = nullptr)
|
||||
.def_readwrite("length", &NDIlib_metadata_frame_t::length)
|
||||
.def_readwrite("timecode", &NDIlib_metadata_frame_t::timecode)
|
||||
.def_readwrite("data", &NDIlib_metadata_frame_t::p_data);
|
||||
.def_readwrite("length", &PyMetadataFrame::length)
|
||||
.def_readwrite("timecode", &PyMetadataFrame::timecode)
|
||||
.def_property("data", &PyMetadataFrame::getData,
|
||||
&PyMetadataFrame::setData);
|
||||
|
||||
py::class_<NDIlib_tally_t>(m, "Tally")
|
||||
.def(py::init<bool, bool>(), py::arg("on_program") = false,
|
||||
|
||||
Reference in New Issue
Block a user