11struct AVFormatContext;
23 void SetOption(
const QString &opt,
int value)
override;
24 void SetOption(
const QString &opt,
const QString &value)
override;
28 const QString &videodev,
29 const QString &audiodev,
30 const QString &vbidev)
override;
33 void run(
void)
override;
34 void Reset(
void)
override;
75 void SetBitrate(
int bitrate,
int maxbitrate,
const QString & reason);
Buffers reads from device files.
QRecursiveMutex m_startStopEncodingLock
static const unsigned int kBuildBufferMaxSize
void InitStreamData(void) override
unsigned int m_mediumMpeg4PeakBitrate
static const std::array< const int, 14 > kAudRateL1
void SetVideoFilters(QString &) override
Tells recorder which filters to use.
void SetOption(const QString &opt, int value) override
handles the "wait_for_seqstart" option.
void run(void) override
run() starts the recording process, and does not exit until the recording is complete.
unsigned int m_mediumMpeg4AvgBitrate
bool PauseAndWait(std::chrono::milliseconds timeout=100ms) override
If m_requestPause is true, sets pause and blocks up to timeout milliseconds or until unpaused,...
void ReaderPaused(int) override
bool SetV4L2DeviceOptions(int chanfd)
static const std::array< const int, 14 > kAudRateL2
void Reset(void) override
Reset the recorder to the startup state.
void SetOptionsFromProfile(RecordingProfile *profile, const QString &videodev, const QString &audiodev, const QString &vbidev) override
Sets basic recorder options.
static const std::array< const std::string, 15 > kStreamType
bool ProcessTSPacket(const TSPacket &tspacket) override
void SetBitrate(int bitrate, int maxbitrate, const QString &reason)
void SetStrOption(RecordingProfile *profile, const QString &name)
bool SetRecordingVolume(int chanfd)
DeviceReadBuffer * m_deviceReadBuffer
void Initialize(void) override
This is called between SetOptionsFromProfile() and run() to initialize any devices,...
void SetIntOption(RecordingProfile *profile, const QString &name)
uint GetFilteredAudioSampleRate(void) const
static const std::array< const std::string, 4 > kAspectRatio
bool RestartEncoding(void)
bool OpenMpegFileAsInput(void)
bool IsRecording(void) override
Tells whether the StartRecorder() loop is running.
unsigned int m_lowMpeg4PeakBitrate
bool OpenV4L2DeviceAsInput(void)
bool SetLanguageMode(int chanfd)
Set audio language mode.
uint GetFilteredAudioLayer(void) const
static const std::array< const int, 14 > kAudRateL3
unsigned int m_highMpeg4PeakBitrate
bool HandleResolutionChanges(void)
unsigned int m_language
0 is Main Lang; 1 is SAP Lang; 2 is Dual
void Pause(bool clear=true) override
Pause tells recorder to pause, it should not block.
unsigned int m_lowMpeg4AvgBitrate
uint GetFilteredAudioBitRate(uint audio_layer) const
bool SetVideoCaptureFormat(int chanfd)
void FormatCC(uint code1, uint code2) override
bool SetVBIOptions(int chanfd)
void PriorityEvent(int) override
uint GetFilteredStreamType(void) const
int GetVideoFd(void) override
Returns file descriptor of recorder device.
unsigned int m_highMpeg4AvgBitrate
bool m_recording
True while recording is actually being performed.
QWaitCondition m_pauseWait
Used to access the data of a Transport Stream packet.
This is the coordinating class of the Recorder Subsystem.
Abstract base class for Video4Linux based recorders.
static void clear(SettingsMap &cache, SettingsMap &overrides, const QString &myKey)