MythTV
master
|
This is the abstract base class for supporting recorder hardware. More...
#include <libmythtv/recorders/recorderbase.h>
Public Types | |
enum | AspectRatio { ASPECT_UNKNOWN = 0x00, ASPECT_1_1 = 0x01, ASPECT_4_3 = 0x02, ASPECT_16_9 = 0x03, ASPECT_2_21_1 = 0x04, ASPECT_CUSTOM = 0x05 } |
Public Member Functions | |
RecorderBase (TVRec *rec) | |
~RecorderBase () override | |
void | SetFrameRate (double rate) |
Sets the video frame rate. More... | |
void | SetRecording (const RecordingInfo *pginfo) |
Changes the Recording from the one set initially with SetOptionsFromProfile(). More... | |
void | SetRingBuffer (MythMediaBuffer *Buffer) |
Tells recorder to use an externally created ringbuffer. More... | |
virtual void | SetOption (const QString &name, const QString &value) |
Set an specific option. More... | |
virtual void | SetOption (const QString &name, int value) |
Set an specific integer option. More... | |
void | SetBoolOption (const QString &name, bool value) |
Set an specific boolean option. More... | |
virtual void | SetVideoFilters (QString &filters)=0 |
Tells recorder which filters to use. More... | |
virtual void | SetOptionsFromProfile (RecordingProfile *profile, const QString &videodev, const QString &audiodev, const QString &vbidev)=0 |
Sets basic recorder options. More... | |
void | SetNextRecording (const RecordingInfo *ri, MythMediaBuffer *Buffer) |
Sets next recording info, to be applied as soon as practical. More... | |
virtual void | Initialize (void)=0 |
This is called between SetOptionsFromProfile() and run() to initialize any devices, etc. More... | |
void | run (void) override=0 |
run() starts the recording process, and does not exit until the recording is complete. More... | |
virtual void | Reset (void)=0 |
Reset the recorder to the startup state. More... | |
virtual bool | IsErrored (void)=0 |
Tells us whether an unrecoverable error has been encountered. More... | |
virtual long long | GetFramesWritten (void)=0 |
Returns number of frames written to disk. More... | |
virtual int | GetVideoFd (void)=0 |
Returns file descriptor of recorder device. More... | |
long long | GetKeyframePosition (long long desired) const |
Returns closest keyframe position before the desired frame. More... | |
bool | GetKeyframePositions (long long start, long long end, frm_pos_map_t &map) const |
bool | GetKeyframeDurations (long long start, long long end, frm_pos_map_t &map) const |
virtual void | StopRecording (void) |
StopRecording() signals to the recorder that it should stop recording and exit cleanly. More... | |
virtual bool | IsRecording (void) |
Tells whether the StartRecorder() loop is running. More... | |
virtual bool | IsRecordingRequested (void) |
Tells us if StopRecording() has been called. More... | |
virtual RecordingQuality * | GetRecordingQuality (const RecordingInfo *ri) const |
Returns a report about the current recordings quality. More... | |
virtual void | Pause (bool clear=true) |
Pause tells recorder to pause, it should not block. More... | |
virtual void | Unpause (void) |
Unpause tells recorder to unpause. More... | |
virtual bool | IsPaused (bool holding_lock=false) const |
Returns true iff recorder is paused. More... | |
virtual bool | WaitForPause (std::chrono::milliseconds timeout=1s) |
WaitForPause blocks until recorder is actually paused, or timeout milliseconds elapse. More... | |
double | GetFrameRate (void) const |
Returns the latest frame rate. More... | |
virtual bool | CheckForRingBufferSwitch (void) |
If requested, switch to new RingBuffer/ProgramInfo objects. More... | |
void | SavePositionMap (bool force=false, bool finished=false) |
Save the seektable to the DB. More... | |
Static Public Member Functions | |
static RecorderBase * | CreateRecorder (TVRec *tvrec, ChannelBase *channel, RecordingProfile &profile, const GeneralDBOptions &genOpt) |
Protected Member Functions | |
void | SetIntOption (RecordingProfile *profile, const QString &name) |
Convenience function used to set integer options from a profile. More... | |
void | SetStrOption (RecordingProfile *profile, const QString &name) |
Convenience function used to set QString options from a profile. More... | |
virtual bool | PauseAndWait (std::chrono::milliseconds timeout=100ms) |
If m_requestPause is true, sets pause and blocks up to timeout milliseconds or until unpaused, whichever is sooner. More... | |
virtual void | ResetForNewFile (void)=0 |
virtual void | SetRecordingStatus (RecStatus::Type status, const QString &file, int line) |
virtual void | ClearStatistics (void) |
virtual void | FinishRecording (void) |
virtual void | StartNewFile (void) |
void | SetPositionMapType (MarkTypes type) |
Set seektable type. More... | |
void | AspectChange (uint aspect, long long frame) |
Note a change in aspect ratio in the recordedmark table. More... | |
void | ResolutionChange (uint width, uint height, long long frame) |
Note a change in video size in the recordedmark table. More... | |
void | FrameRateChange (uint framerate, uint64_t frame) |
Note a change in video frame rate in the recordedmark table. More... | |
void | VideoScanChange (SCAN_t scan, uint64_t frame) |
Note a change in video scan type in the recordedmark table. More... | |
void | VideoCodecChange (AVCodecID vCodec) |
Note a change in video codec. More... | |
void | AudioCodecChange (AVCodecID aCodec) |
Note a change in audio codec. More... | |
void | SetDuration (std::chrono::milliseconds duration) |
Note the total duration in the recordedmark table. More... | |
void | SetTotalFrames (uint64_t total_frames) |
Note the total frames in the recordedmark table. More... | |
void | TryWriteProgStartMark (const frm_pos_map_t &durationDeltaCopy) |
Static Protected Attributes | |
static constexpr std::chrono::milliseconds | kTimeOfLatestDataIntervalTarget { 5s } |
timeOfLatest update interval target in milliseconds. More... | |
Friends | |
class | Transcode |
This is the abstract base class for supporting recorder hardware.
For a digital streams specialization, see the DTVRecorder. For a specialization for MPEG hardware encoded analog streams, see MpegRecorder. For a specialization for software encoding of frame grabber recorders, see NuppelVideoRecorder.
Definition at line 51 of file recorderbase.h.
Enumerator | |
---|---|
ASPECT_UNKNOWN | |
ASPECT_1_1 | |
ASPECT_4_3 | |
ASPECT_16_9 | |
ASPECT_2_21_1 | |
ASPECT_CUSTOM |
Definition at line 221 of file recorderbase.h.
|
explicit |
Definition at line 48 of file recorderbase.cpp.
|
override |
Definition at line 54 of file recorderbase.cpp.
|
inline |
void RecorderBase::SetRecording | ( | const RecordingInfo * | pginfo | ) |
Changes the Recording from the one set initially with SetOptionsFromProfile().
This method is useful for LiveTV, when we do not want to pause the recorder for a SetOptionsFromProfile() call just because a new program is comming on.
Definition at line 89 of file recorderbase.cpp.
Referenced by CheckForRingBufferSwitch(), TVRec::TuningNewRecorder(), TVRec::TuningRestartRecorder(), and ~RecorderBase().
void RecorderBase::SetRingBuffer | ( | MythMediaBuffer * | Buffer | ) |
Tells recorder to use an externally created ringbuffer.
If this an external RingBuffer is set, it should be before any Initialize(), Open(), or StartRecorder() calls. Externally created RingBuffers are not deleted in the Recorder's destructor.
Definition at line 75 of file recorderbase.cpp.
Referenced by CheckForRingBufferSwitch(), TVRec::TuningFrequency(), TVRec::TuningNewRecorder(), and TVRec::TuningRestartRecorder().
|
virtual |
Set an specific option.
Base options include: codec, videodevice, tvformat (ntsc,ntsc-jp,pal-m), vbiformat ("none","pal teletext","ntsc").
Reimplemented in MpegRecorder, NuppelVideoRecorder, DTVRecorder, and V4LRecorder.
Definition at line 155 of file recorderbase.cpp.
Referenced by SetIntOption(), DTVRecorder::SetOption(), and SetStrOption().
|
virtual |
Set an specific integer option.
There are no integer options in RecorderBase.
Reimplemented in NuppelVideoRecorder, MpegRecorder, DTVRecorder, and V4LRecorder.
Definition at line 198 of file recorderbase.cpp.
|
inline |
Set an specific boolean option.
This is a helper function to enforce type checking.
Definition at line 104 of file recorderbase.h.
|
pure virtual |
Tells recorder which filters to use.
These filters are used by frame grabber encoders to lower the bitrate while keeping quality good. They must execute quickly so that frames are not lost by the recorder.
Implemented in NuppelVideoRecorder, DTVRecorder, and MpegRecorder.
Referenced by TVRec::SetVideoFiltersForChannel().
|
pure virtual |
Sets basic recorder options.
SetOptionsFromProfile is used to tell the recorder about the recording profile as well as the devices to use.
Implemented in NuppelVideoRecorder, ASIRecorder, V4L2encRecorder, DTVRecorder, ImportRecorder, and MpegRecorder.
void RecorderBase::SetNextRecording | ( | const RecordingInfo * | ri, |
MythMediaBuffer * | Buffer | ||
) |
Sets next recording info, to be applied as soon as practical.
This should not lose any frames on the switchover, and should initialize the RingBuffer stream with headers as appropriate.
The switch does not have to happen immediately, but should happen soon. (i.e. it can wait for a key frame..)
This calls TVRec::RingBufferChanged() when the switch happens.
Definition at line 126 of file recorderbase.cpp.
Referenced by TVRec::SwitchLiveTVRingBuffer(), and TVRec::SwitchRecordingRingBuffer().
|
pure virtual |
This is called between SetOptionsFromProfile() and run() to initialize any devices, etc.
Implemented in NuppelVideoRecorder, DTVRecorder, and MpegRecorder.
Referenced by TVRec::TuningNewRecorder().
|
overridepure virtual |
run() starts the recording process, and does not exit until the recording is complete.
Implemented in NuppelVideoRecorder, ASIRecorder, FirewireRecorder, ExternalRecorder, ImportRecorder, V4L2encRecorder, MpegRecorder, IPTVRecorder, CetonRecorder, DVBRecorder, HDHRRecorder, and SatIPRecorder.
|
pure virtual |
Reset the recorder to the startup state.
This is used after Pause(bool), WaitForPause() and after the RingBuffer's StopReads() method has been called.
Implemented in NuppelVideoRecorder, DTVRecorder, and MpegRecorder.
Referenced by TVRec::TuningRestartRecorder().
|
pure virtual |
Tells us whether an unrecoverable error has been encountered.
Implemented in DTVRecorder.
Referenced by TVRec::run(), and TVRec::TuningNewRecorder().
|
pure virtual |
Returns number of frames written to disk.
It is not always safe to seek up to this frame in a player because frames may not be written in display order.
Implemented in NuppelVideoRecorder, DTVRecorder, and ImportRecorder.
Referenced by TVRec::GetFramesWritten().
|
pure virtual |
Returns file descriptor of recorder device.
This is used by channel when only one open file descriptor is allowed on a device node. This is the case with video4linux devices and similar devices in BSD. It is not needed by newer drivers, such as those used for DVB.
Implemented in NuppelVideoRecorder, DTVRecorder, and MpegRecorder.
Referenced by TVRec::TuningNewRecorder(), and TVRec::TuningRestartRecorder().
long long RecorderBase::GetKeyframePosition | ( | long long | desired | ) | const |
Returns closest keyframe position before the desired frame.
This returns -1 if a keyframe position cannot be found for a frame. This could be true if the keyframe has not yet been seen by the recorder(unlikely), or if a keyframe map does not exist or is not up to date. The latter can happen because the video is an external video, because the database is corrupted, or because this is a live recording and it is being read by a remote frontend faster than the keyframes can be saved to the database.
Definition at line 528 of file recorderbase.cpp.
Referenced by TVRec::GetKeyframePosition().
bool RecorderBase::GetKeyframePositions | ( | long long | start, |
long long | end, | ||
frm_pos_map_t & | map | ||
) | const |
Definition at line 549 of file recorderbase.cpp.
Referenced by TVRec::GetKeyframePositions().
bool RecorderBase::GetKeyframeDurations | ( | long long | start, |
long long | end, | ||
frm_pos_map_t & | map | ||
) | const |
Definition at line 571 of file recorderbase.cpp.
Referenced by TVRec::GetKeyframeDurations().
|
virtual |
StopRecording() signals to the recorder that it should stop recording and exit cleanly.
This function should block until recorder has finished up.
Reimplemented in V4LRecorder.
Definition at line 230 of file recorderbase.cpp.
Referenced by V4LRecorder::StopRecording(), TVRec::TeardownRecorder(), DTVRecorder::~DTVRecorder(), and IPTVRecorder::~IPTVRecorder().
|
virtual |
Tells whether the StartRecorder() loop is running.
Reimplemented in NuppelVideoRecorder, and MpegRecorder.
Definition at line 249 of file recorderbase.cpp.
Referenced by TVRec::IsReallyRecording(), and TVRec::TuningNewRecorder().
|
virtual |
Tells us if StopRecording() has been called.
Definition at line 256 of file recorderbase.cpp.
Referenced by NuppelVideoRecorder::DoV4L2(), SatIPRecorder::run(), HDHRRecorder::run(), CetonRecorder::run(), DVBRecorder::run(), IPTVRecorder::run(), MpegRecorder::run(), V4L2encRecorder::run(), ImportRecorder::run(), ExternalRecorder::run(), FirewireRecorder::run(), and ASIRecorder::run().
|
virtual |
Returns a report about the current recordings quality.
Reimplemented in DTVRecorder, and ImportRecorder.
Definition at line 513 of file recorderbase.cpp.
Referenced by CheckForRingBufferSwitch(), DTVRecorder::GetRecordingQuality(), and TVRec::TeardownRecorder().
Pause tells recorder to pause, it should not block.
Once paused the recorder calls m_tvrec->RecorderPaused().
clear | if true any generated timecodes should be reset. |
Reimplemented in NuppelVideoRecorder, and MpegRecorder.
Definition at line 269 of file recorderbase.cpp.
Referenced by TVRec::PauseRecorder().
|
virtual |
Unpause tells recorder to unpause.
This is an asynchronous call it should not wait block waiting for the command to be processed.
Definition at line 279 of file recorderbase.cpp.
Referenced by TVRec::TuningRestartRecorder().
Returns true iff recorder is paused.
Reimplemented in NuppelVideoRecorder.
Definition at line 287 of file recorderbase.cpp.
Referenced by TVRec::HandleTuning(), SatIPRecorder::PauseAndWait(), IPTVRecorder::PauseAndWait(), DVBRecorder::PauseAndWait(), HDHRRecorder::PauseAndWait(), MpegRecorder::PauseAndWait(), CetonRecorder::PauseAndWait(), V4L2encRecorder::PauseAndWait(), FirewireRecorder::PauseAndWait(), ExternalRecorder::PauseAndWait(), PauseAndWait(), IPTVRecorder::SetStreamData(), and WaitForPause().
|
virtual |
WaitForPause blocks until recorder is actually paused, or timeout milliseconds elapse.
timeout | number of milliseconds to wait defaults to 1000. |
Definition at line 304 of file recorderbase.cpp.
|
inline |
Returns the latest frame rate.
Definition at line 211 of file recorderbase.h.
Referenced by FinishRecording(), and TVRec::GetFramerate().
|
virtual |
If requested, switch to new RingBuffer/ProgramInfo objects.
Definition at line 357 of file recorderbase.cpp.
Referenced by NuppelVideoRecorder::doWriteThread(), DTVRecorder::HandleH2645Keyframe(), DTVRecorder::HandleKeyframe(), SavePositionMap(), and TVRec::SwitchLiveTVRingBuffer().
Save the seektable to the DB.
This saves the position map delta to the database if force is true or there are 30 frames in the map or there are five frames in the map with less than 30 frames in the non-delta position map.
force | If true this forces a DB sync. |
finished | Is this a finished recording? |
Definition at line 601 of file recorderbase.cpp.
Referenced by FinishRecording(), TVRec::run(), and SetNextRecording().
|
static |
Definition at line 869 of file recorderbase.cpp.
Referenced by TVRec::TuningNewRecorder().
|
protected |
Convenience function used to set integer options from a profile.
Definition at line 205 of file recorderbase.cpp.
Referenced by DTVRecorder::SetOptionsFromProfile(), ASIRecorder::SetOptionsFromProfile(), and NuppelVideoRecorder::SetOptionsFromProfile().
|
protected |
Convenience function used to set QString options from a profile.
Definition at line 215 of file recorderbase.cpp.
Referenced by DTVRecorder::SetOptionsFromProfile().
|
protectedvirtual |
If m_requestPause is true, sets pause and blocks up to timeout milliseconds or until unpaused, whichever is sooner.
This is the where we actually do the pausing. For most recorders that need to do something special on pause, this is the method to overide.
timeout | number of milliseconds to wait defaults to 100. |
Reimplemented in V4L2encRecorder, ExternalRecorder, FirewireRecorder, CetonRecorder, MpegRecorder, HDHRRecorder, DVBRecorder, IPTVRecorder, and SatIPRecorder.
Definition at line 332 of file recorderbase.cpp.
Referenced by ASIRecorder::run(), and V4LRecorder::RunVBIDevice().
|
protectedpure virtual |
Implemented in NuppelVideoRecorder, and DTVRecorder.
Referenced by CheckForRingBufferSwitch().
|
protectedvirtual |
Definition at line 401 of file recorderbase.cpp.
Referenced by DTVRecorder::BufferedWrite(), DTVRecorder::HandleTimestamps(), MpegRecorder::run(), V4L2encRecorder::run(), ImportRecorder::run(), and ExternalRecorder::run().
|
protectedvirtual |
Reimplemented in DTVRecorder.
Definition at line 431 of file recorderbase.cpp.
Referenced by DTVRecorder::ClearStatistics(), and RecorderBase().
|
protectedvirtual |
Reimplemented in NuppelVideoRecorder, and DTVRecorder.
Definition at line 442 of file recorderbase.cpp.
Referenced by CheckForRingBufferSwitch(), and DTVRecorder::FinishRecording().
|
inlineprotectedvirtual |
Reimplemented in NuppelVideoRecorder, ASIRecorder, ExternalRecorder, V4L2encRecorder, DVBRecorder, CetonRecorder, HDHRRecorder, IPTVRecorder, and SatIPRecorder.
Definition at line 252 of file recorderbase.h.
Referenced by CheckForRingBufferSwitch().
|
inlineprotected |
Set seektable type.
Definition at line 256 of file recorderbase.h.
Referenced by DTVRecorder::DTVRecorder(), and NuppelVideoRecorder::NuppelVideoRecorder().
|
protected |
Note a change in aspect ratio in the recordedmark table.
Definition at line 750 of file recorderbase.cpp.
Referenced by DTVRecorder::FindH2645Keyframes(), DTVRecorder::FindMPEG2Keyframes(), DTVRecorder::FindPSKeyFrames(), and NuppelVideoRecorder::UpdateResolutions().
Note a change in video size in the recordedmark table.
Definition at line 801 of file recorderbase.cpp.
Referenced by DTVRecorder::FindH2645Keyframes(), DTVRecorder::FindMPEG2Keyframes(), DTVRecorder::FindPSKeyFrames(), and NuppelVideoRecorder::UpdateResolutions().
|
protected |
Note a change in video frame rate in the recordedmark table.
Definition at line 817 of file recorderbase.cpp.
Referenced by DTVRecorder::FindH2645Keyframes(), DTVRecorder::FindMPEG2Keyframes(), DTVRecorder::FindPSKeyFrames(), and NuppelVideoRecorder::UpdateResolutions().
|
protected |
Note a change in video scan type in the recordedmark table.
Definition at line 832 of file recorderbase.cpp.
Referenced by DTVRecorder::FindH2645Keyframes().
|
protected |
Note a change in video codec.
Definition at line 838 of file recorderbase.cpp.
Referenced by DTVRecorder::HandleSingleProgramPMT().
|
protected |
Note a change in audio codec.
Definition at line 847 of file recorderbase.cpp.
Referenced by DTVRecorder::HandleSingleProgramPMT().
|
protected |
Note the total duration in the recordedmark table.
Definition at line 856 of file recorderbase.cpp.
Referenced by DTVRecorder::FinishRecording().
|
protected |
Note the total frames in the recordedmark table.
Definition at line 862 of file recorderbase.cpp.
Referenced by DTVRecorder::FinishRecording().
|
protected |
Definition at line 667 of file recorderbase.cpp.
Referenced by SavePositionMap().
|
friend |
Definition at line 53 of file recorderbase.h.
|
protected |
Definition at line 292 of file recorderbase.h.
Referenced by ASIRecorder::ASIRecorder(), CheckForRingBufferSwitch(), CetonRecorder::Close(), HDHRRecorder::Close(), DVBRecorder::Close(), V4L2encRecorder::Close(), ExternalRecorder::Close(), ASIRecorder::Close(), NuppelVideoRecorder::doAudioThread(), NuppelVideoRecorder::DoV4L2(), NuppelVideoRecorder::doWriteThread(), HDHRRecorder::Open(), CetonRecorder::Open(), DVBRecorder::Open(), V4L2encRecorder::Open(), ExternalRecorder::Open(), ASIRecorder::Open(), SatIPRecorder::PauseAndWait(), IPTVRecorder::PauseAndWait(), DVBRecorder::PauseAndWait(), HDHRRecorder::PauseAndWait(), MpegRecorder::PauseAndWait(), CetonRecorder::PauseAndWait(), V4L2encRecorder::PauseAndWait(), FirewireRecorder::PauseAndWait(), ExternalRecorder::PauseAndWait(), PauseAndWait(), and MpegRecorder::run().
|
protected |
Definition at line 293 of file recorderbase.h.
Referenced by DTVRecorder::BufferedWrite(), CheckForRingBufferSwitch(), NuppelVideoRecorder::CreateNuppelFile(), DTVRecorder::FindAudioKeyframes(), DTVRecorder::FindH2645Keyframes(), DTVRecorder::FindMPEG2Keyframes(), DTVRecorder::FindOtherKeyframes(), DTVRecorder::FindPSKeyFrames(), DTVRecorder::FinishRecording(), NuppelVideoRecorder::FinishRecording(), FinishRecording(), DTVRecorder::HandleKeyframe(), DTVRecorder::HandleSingleProgramPAT(), DTVRecorder::HandleSingleProgramPMT(), NuppelVideoRecorder::Initialize(), DTVRecorder::ProcessAudioTSPacket(), DTVRecorder::ProcessVideoTSPacket(), SatIPRecorder::run(), HDHRRecorder::run(), DVBRecorder::run(), ImportRecorder::run(), ASIRecorder::run(), NuppelVideoRecorder::run(), SavePositionMap(), SetNextRecording(), SetRingBuffer(), SatIPRecorder::StartNewFile(), HDHRRecorder::StartNewFile(), DVBRecorder::StartNewFile(), ASIRecorder::StartNewFile(), ImportRecorder::UpdateRecSize(), NuppelVideoRecorder::UpdateSeekTable(), NuppelVideoRecorder::WriteAudio(), NuppelVideoRecorder::WriteFileHeader(), NuppelVideoRecorder::WriteFrameheader(), NuppelVideoRecorder::WriteHeader(), NuppelVideoRecorder::WriteKeyFrameAdjustTable(), NuppelVideoRecorder::WriteSeekTable(), NuppelVideoRecorder::WriteText(), NuppelVideoRecorder::WriteVideo(), NuppelVideoRecorder::~NuppelVideoRecorder(), and ~RecorderBase().
Definition at line 294 of file recorderbase.h.
Referenced by NuppelVideoRecorder::Initialize(), SetRingBuffer(), NuppelVideoRecorder::~NuppelVideoRecorder(), and ~RecorderBase().
|
protected |
Definition at line 296 of file recorderbase.h.
Referenced by DTVRecorder::DTVRecorder(), FinishRecording(), NuppelVideoRecorder::NuppelVideoRecorder(), MpegRecorder::SetOption(), and SetRecording().
|
protected |
Definition at line 297 of file recorderbase.h.
Referenced by FinishRecording(), DTVRecorder::HandleSingleProgramPMT(), and DTVRecorder::ResetForNewFile().
|
protected |
Definition at line 298 of file recorderbase.h.
Referenced by FinishRecording(), DTVRecorder::HandleSingleProgramPMT(), and DTVRecorder::ResetForNewFile().
|
protected |
Definition at line 299 of file recorderbase.h.
Referenced by NuppelVideoRecorder::DoV4L2(), NuppelVideoRecorder::Initialize(), NuppelVideoRecorder::run(), SetOption(), and NuppelVideoRecorder::SetupAVCodecVideo().
|
protected |
Definition at line 300 of file recorderbase.h.
Referenced by DVBRecorder::DVBRecorder(), DVBRecorder::Open(), ImportRecorder::Open(), NuppelVideoRecorder::Open(), MpegRecorder::OpenMpegFileAsInput(), MpegRecorder::OpenV4L2DeviceAsInput(), MpegRecorder::run(), SetOption(), and MpegRecorder::StartEncoding().
Definition at line 302 of file recorderbase.h.
Referenced by NuppelVideoRecorder::DoV4L2(), NuppelVideoRecorder::Initialize(), and SetOption().
Definition at line 303 of file recorderbase.h.
Referenced by NuppelVideoRecorder::BufferIt().
|
protected |
Definition at line 304 of file recorderbase.h.
Referenced by DTVRecorder::FindAudioKeyframes(), NuppelVideoRecorder::SetupAVCodecVideo(), NuppelVideoRecorder::UpdateResolutions(), and NuppelVideoRecorder::WriteFileHeader().
|
protected |
Definition at line 306 of file recorderbase.h.
Referenced by AspectChange(), CheckForRingBufferSwitch(), DTVRecorder::FindH2645Keyframes(), DTVRecorder::FindMPEG2Keyframes(), DTVRecorder::FindPSKeyFrames(), and FinishRecording().
|
protected |
Definition at line 308 of file recorderbase.h.
Referenced by AspectChange(), CheckForRingBufferSwitch(), DTVRecorder::FindH2645Keyframes(), DTVRecorder::FindMPEG2Keyframes(), DTVRecorder::FindPSKeyFrames(), FinishRecording(), and NuppelVideoRecorder::UpdateResolutions().
|
protected |
Definition at line 309 of file recorderbase.h.
Referenced by AspectChange(), CheckForRingBufferSwitch(), DTVRecorder::FindH2645Keyframes(), DTVRecorder::FindMPEG2Keyframes(), DTVRecorder::FindPSKeyFrames(), FinishRecording(), and NuppelVideoRecorder::UpdateResolutions().
|
protected |
Definition at line 310 of file recorderbase.h.
Referenced by CheckForRingBufferSwitch(), DTVRecorder::FindH2645Keyframes(), DTVRecorder::FindMPEG2Keyframes(), DTVRecorder::FindPSKeyFrames(), DTVRecorder::UpdateFramesWritten(), and NuppelVideoRecorder::UpdateResolutions().
|
protected |
Definition at line 312 of file recorderbase.h.
Referenced by AspectChange(), AudioCodecChange(), DTVRecorder::BufferedWrite(), CheckForRingBufferSwitch(), DTVRecorder::FinishRecording(), FinishRecording(), FrameRateChange(), GetRecordingQuality(), DTVRecorder::HandleH2645Keyframe(), DTVRecorder::HandleKeyframe(), DTVRecorder::HandleTimestamps(), ImportRecorder::Open(), MpegRecorder::Reset(), DTVRecorder::Reset(), NuppelVideoRecorder::Reset(), ResolutionChange(), ImportRecorder::run(), SavePositionMap(), SetDuration(), SetNextRecording(), SetRecording(), SetRecordingStatus(), SetTotalFrames(), TryWriteProgStartMark(), ImportRecorder::UpdateRecSize(), VideoCodecChange(), VideoScanChange(), and NuppelVideoRecorder::WriteVideo().
|
mutableprotected |
Definition at line 315 of file recorderbase.h.
Referenced by NuppelVideoRecorder::doAudioThread(), NuppelVideoRecorder::DoV4L2(), NuppelVideoRecorder::doWriteThread(), V4LRecorder::IsHelperRequested(), NuppelVideoRecorder::IsPaused(), IsPaused(), IsRecording(), IsRecordingRequested(), NuppelVideoRecorder::KillChildren(), MpegRecorder::Pause(), NuppelVideoRecorder::Pause(), Pause(), SatIPRecorder::PauseAndWait(), IPTVRecorder::PauseAndWait(), DVBRecorder::PauseAndWait(), HDHRRecorder::PauseAndWait(), MpegRecorder::PauseAndWait(), CetonRecorder::PauseAndWait(), V4L2encRecorder::PauseAndWait(), ExternalRecorder::PauseAndWait(), FirewireRecorder::PauseAndWait(), PauseAndWait(), SatIPRecorder::run(), HDHRRecorder::run(), DVBRecorder::run(), CetonRecorder::run(), IPTVRecorder::run(), MpegRecorder::run(), V4L2encRecorder::run(), ImportRecorder::run(), ExternalRecorder::run(), FirewireRecorder::run(), ASIRecorder::run(), NuppelVideoRecorder::run(), StopRecording(), Unpause(), WaitForPause(), and V4LRecorder::~V4LRecorder().
Definition at line 316 of file recorderbase.h.
Referenced by NuppelVideoRecorder::doAudioThread(), NuppelVideoRecorder::DoV4L2(), NuppelVideoRecorder::doWriteThread(), MpegRecorder::Pause(), NuppelVideoRecorder::Pause(), Pause(), SatIPRecorder::PauseAndWait(), IPTVRecorder::PauseAndWait(), DVBRecorder::PauseAndWait(), HDHRRecorder::PauseAndWait(), MpegRecorder::PauseAndWait(), CetonRecorder::PauseAndWait(), V4L2encRecorder::PauseAndWait(), FirewireRecorder::PauseAndWait(), ExternalRecorder::PauseAndWait(), PauseAndWait(), SatIPRecorder::run(), HDHRRecorder::run(), CetonRecorder::run(), DVBRecorder::run(), IPTVRecorder::run(), MpegRecorder::run(), FirewireRecorder::run(), ASIRecorder::run(), Unpause(), and WaitForPause().
Definition at line 317 of file recorderbase.h.
Referenced by IsPaused(), MpegRecorder::Pause(), SatIPRecorder::PauseAndWait(), IPTVRecorder::PauseAndWait(), DVBRecorder::PauseAndWait(), HDHRRecorder::PauseAndWait(), MpegRecorder::PauseAndWait(), CetonRecorder::PauseAndWait(), V4L2encRecorder::PauseAndWait(), FirewireRecorder::PauseAndWait(), ExternalRecorder::PauseAndWait(), and PauseAndWait().
|
protected |
Definition at line 318 of file recorderbase.h.
Referenced by NuppelVideoRecorder::doAudioThread(), NuppelVideoRecorder::DoV4L2(), NuppelVideoRecorder::doWriteThread(), SatIPRecorder::PauseAndWait(), IPTVRecorder::PauseAndWait(), DVBRecorder::PauseAndWait(), HDHRRecorder::PauseAndWait(), MpegRecorder::PauseAndWait(), CetonRecorder::PauseAndWait(), V4L2encRecorder::PauseAndWait(), FirewireRecorder::PauseAndWait(), ExternalRecorder::PauseAndWait(), PauseAndWait(), MpegRecorder::ReaderPaused(), and WaitForPause().
|
protected |
Definition at line 319 of file recorderbase.h.
Referenced by NuppelVideoRecorder::doAudioThread(), NuppelVideoRecorder::DoV4L2(), NuppelVideoRecorder::doWriteThread(), NuppelVideoRecorder::KillChildren(), NuppelVideoRecorder::Pause(), SatIPRecorder::PauseAndWait(), IPTVRecorder::PauseAndWait(), DVBRecorder::PauseAndWait(), HDHRRecorder::PauseAndWait(), MpegRecorder::PauseAndWait(), CetonRecorder::PauseAndWait(), V4L2encRecorder::PauseAndWait(), FirewireRecorder::PauseAndWait(), ExternalRecorder::PauseAndWait(), PauseAndWait(), SatIPRecorder::run(), HDHRRecorder::run(), CetonRecorder::run(), DVBRecorder::run(), IPTVRecorder::run(), MpegRecorder::run(), ImportRecorder::run(), FirewireRecorder::run(), ASIRecorder::run(), StopRecording(), Unpause(), and V4LRecorder::~V4LRecorder().
True if API call has requested a recording be [re]started.
Definition at line 321 of file recorderbase.h.
Referenced by V4LRecorder::IsHelperRequested(), IsRecordingRequested(), SatIPRecorder::run(), HDHRRecorder::run(), CetonRecorder::run(), DVBRecorder::run(), IPTVRecorder::run(), MpegRecorder::run(), V4L2encRecorder::run(), ImportRecorder::run(), ExternalRecorder::run(), FirewireRecorder::run(), ASIRecorder::run(), NuppelVideoRecorder::run(), and StopRecording().
True while recording is actually being performed.
Definition at line 323 of file recorderbase.h.
Referenced by MpegRecorder::IsRecording(), IsRecording(), SatIPRecorder::run(), HDHRRecorder::run(), CetonRecorder::run(), DVBRecorder::run(), IPTVRecorder::run(), MpegRecorder::run(), V4L2encRecorder::run(), ImportRecorder::run(), ExternalRecorder::run(), FirewireRecorder::run(), ASIRecorder::run(), and StopRecording().
|
protected |
Definition at line 324 of file recorderbase.h.
Referenced by SatIPRecorder::run(), HDHRRecorder::run(), CetonRecorder::run(), DVBRecorder::run(), IPTVRecorder::run(), MpegRecorder::run(), V4L2encRecorder::run(), ImportRecorder::run(), ExternalRecorder::run(), FirewireRecorder::run(), ASIRecorder::run(), NuppelVideoRecorder::run(), and StopRecording().
|
protected |
Definition at line 328 of file recorderbase.h.
Referenced by CheckForRingBufferSwitch(), SetNextRecording(), and ~RecorderBase().
|
protected |
Definition at line 329 of file recorderbase.h.
Referenced by CheckForRingBufferSwitch(), SetNextRecording(), and ~RecorderBase().
|
protected |
Definition at line 330 of file recorderbase.h.
Referenced by CheckForRingBufferSwitch(), SetNextRecording(), and ~RecorderBase().
|
protected |
Definition at line 331 of file recorderbase.h.
Referenced by CheckForRingBufferSwitch(), and SavePositionMap().
|
protected |
Definition at line 334 of file recorderbase.h.
Referenced by SavePositionMap().
|
mutableprotected |
Definition at line 335 of file recorderbase.h.
Referenced by NuppelVideoRecorder::FinishRecording(), GetKeyframeDurations(), GetKeyframePosition(), GetKeyframePositions(), DTVRecorder::HandleH2645Keyframe(), DTVRecorder::HandleKeyframe(), DTVRecorder::ResetForNewFile(), NuppelVideoRecorder::ResetForNewFile(), NuppelVideoRecorder::run(), SavePositionMap(), and NuppelVideoRecorder::UpdateSeekTable().
|
protected |
Definition at line 336 of file recorderbase.h.
Referenced by NuppelVideoRecorder::FinishRecording(), GetKeyframePosition(), GetKeyframePositions(), DTVRecorder::HandleH2645Keyframe(), DTVRecorder::HandleKeyframe(), DTVRecorder::ResetForNewFile(), NuppelVideoRecorder::ResetForNewFile(), NuppelVideoRecorder::run(), SavePositionMap(), and NuppelVideoRecorder::UpdateSeekTable().
|
protected |
Definition at line 337 of file recorderbase.h.
Referenced by NuppelVideoRecorder::FinishRecording(), DTVRecorder::HandleH2645Keyframe(), DTVRecorder::HandleKeyframe(), DTVRecorder::ResetForNewFile(), NuppelVideoRecorder::ResetForNewFile(), NuppelVideoRecorder::run(), SavePositionMap(), and NuppelVideoRecorder::UpdateSeekTable().
|
protected |
Definition at line 338 of file recorderbase.h.
Referenced by GetKeyframeDurations(), DTVRecorder::HandleH2645Keyframe(), DTVRecorder::HandleKeyframe(), and DTVRecorder::ResetForNewFile().
|
protected |
Definition at line 339 of file recorderbase.h.
Referenced by DTVRecorder::HandleH2645Keyframe(), DTVRecorder::HandleKeyframe(), DTVRecorder::ResetForNewFile(), and SavePositionMap().
|
protected |
Definition at line 340 of file recorderbase.h.
Referenced by SavePositionMap().
|
protected |
Definition at line 343 of file recorderbase.h.
Referenced by SetRecording(), and TryWriteProgStartMark().
|
protected |
Definition at line 344 of file recorderbase.h.
Referenced by TryWriteProgStartMark().
|
protected |
Definition at line 345 of file recorderbase.h.
Referenced by TryWriteProgStartMark().
|
mutableprotected |
Definition at line 352 of file recorderbase.h.
Referenced by DTVRecorder::BufferedWrite(), ClearStatistics(), GetRecordingQuality(), DTVRecorder::HandleTimestamps(), and MpegRecorder::run().
|
protected |
Definition at line 353 of file recorderbase.h.
Referenced by DTVRecorder::BufferedWrite(), and ClearStatistics().
|
protected |
Definition at line 354 of file recorderbase.h.
Referenced by DTVRecorder::BufferedWrite(), ClearStatistics(), and GetRecordingQuality().
|
protected |
Definition at line 355 of file recorderbase.h.
Referenced by DTVRecorder::BufferedWrite(), and ClearStatistics().
|
protected |
Definition at line 356 of file recorderbase.h.
Referenced by DTVRecorder::BufferedWrite(), and ClearStatistics().
|
protected |
Definition at line 357 of file recorderbase.h.
Referenced by DTVRecorder::BufferedWrite(), ClearStatistics(), and GetRecordingQuality().
|
protected |
Definition at line 358 of file recorderbase.h.
Referenced by DTVRecorder::BufferedWrite().
|
protected |
Definition at line 359 of file recorderbase.h.
Referenced by ClearStatistics(), GetRecordingQuality(), DTVRecorder::HandleTimestamps(), and MpegRecorder::run().
|
staticconstexprprotected |
timeOfLatest update interval target in milliseconds.
Definition at line 361 of file recorderbase.h.
Referenced by DTVRecorder::BufferedWrite().