27 m_session.setVideoFrameInput(&m_videoInput);
29 QObject::connect(&m_videoGenerator, &VideoGenerator::frameCreated,
30 &m_videoInput, &QVideoFrameInput::sendVideoFrame);
33 m_recorder.setAutoStop(
true);
34 m_videoGenerator.emitEmptyFrameOnStop();
39 m_session.setAudioBufferInput(&m_audioInput);
41 QObject::connect(&m_audioGenerator, &AudioGenerator::audioBufferCreated,
42 &m_audioInput, &QAudioBufferInput::sendAudioBuffer);
45 m_recorder.setAutoStop(
true);
46 m_audioGenerator.emitEmptyBufferOnStop();
52 QObject::connect(&m_videoInput, &QVideoFrameInput::readyToSendVideoFrame,
53 &m_videoGenerator, &VideoGenerator::nextFrame);
56 QObject::connect(&m_audioInput, &QAudioBufferInput::readyToSendAudioBuffer,
57 &m_audioGenerator, &AudioGenerator::nextBuffer);
60 m_session.setRecorder(&m_recorder);
61 m_recorder.setQuality(QMediaRecorder::VeryHighQuality);
63 if (m_recorder.outputLocation().isEmpty()) {
66 if (!m_tempFile.open()) {
67 qWarning(
"Failed to open file: %s (%s)",
68 qPrintable(m_tempFile.fileName()), qPrintable(m_tempFile.errorString()));
72 m_recorder.setOutputLocation(m_tempFile.fileName());
82 m_session.setVideoSink(m_videoSink);