1 #include "output-drv.hpp"
8 class output_driver_timecodev2
: public output_driver
11 output_driver_timecodev2(const std::string
& filename
)
14 out
= new std::ofstream(filename
.c_str(), std::ios_base::binary
);
18 throw std::runtime_error("Unable to open output file");
19 *out
<< "# timecode format v2" << std::endl
;
20 set_video_callback
<output_driver_timecodev2
>(*this,
21 &output_driver_timecodev2::video_callback
);
24 ~output_driver_timecodev2()
34 void video_callback(uint64_t timestamp
, const uint8_t* raw_rgbx_data
)
36 *out
<< (unsigned long long)timestamp
/ 1000000 << std::endl
;
42 class output_driver_timecodev2_factory
: output_driver_factory
45 output_driver_timecodev2_factory()
46 : output_driver_factory("timecodev2")
50 output_driver
& make(const std::string
& type
, const std::string
& name
, const std::string
& parameters
)
53 throw std::runtime_error("timecodev2 output does not take parameters");
54 return *new output_driver_timecodev2(name
);