31 void addWave(std::span<const StereoFloat> data);
37 void start(
bool recordAudio,
bool recordVideo,
bool recordMono,
38 bool recordStereo,
const Filename& filename);
39 void status(std::span<const TclObject> tokens,
TclObject& result)
const;
42 void processStop (std::span<const TclObject> tokens);
50 void execute(std::span<const TclObject> tokens,
TclObject& result)
override;
51 [[nodiscard]] std::string help(std::span<const TclObject> tokens)
const override;
52 void tabCompletion(std::vector<std::string>& tokens)
const override;
55 std::vector<int16_t> audioBuf;
56 std::unique_ptr<AviWriter> aviWriter;
57 std::unique_ptr<Wav16Writer> wavWriter;
58 std::vector<PostProcessor*> postProcessors;
61 EmuTime prevTime = EmuTime::infinity();
64 unsigned frameHeight = 0;
66 bool warnedSampleRate;
void addImage(FrameSource *frame, EmuTime::param time)
AviRecorder(Reactor &reactor)
void addWave(std::span< const StereoFloat > data)
unsigned getFrameHeight() const
static constexpr EmuDuration infinity()
This class represents a filename.
Interface for getting lines from a video frame.
Contains the main loop of openMSX.
This file implemented 3 utility functions: