MythTV master
|
This is a specialization of RecorderBase used to handle MPEG-2, MPEG-4, MPEG-4 AVC, DVB and ATSC streams. More...
#include <libmythtv/recorders/dtvrecorder.h>
Public Member Functions | |
DTVRecorder (TVRec *rec) | |
~DTVRecorder () override | |
void | SetOption (const QString &name, const QString &value) override |
Set an specific option. More... | |
void | SetOption (const QString &name, int value) override |
handles the "wait_for_seqstart" option. More... | |
void | SetOptionsFromProfile (RecordingProfile *profile, const QString &videodev, const QString &audiodev, const QString &vbidev) override |
Sets basic recorder options. More... | |
bool | IsErrored (void) override |
Tells us whether an unrecoverable error has been encountered. More... | |
long long | GetFramesWritten (void) override |
Returns number of frames written to disk. More... | |
void | SetVideoFilters (QString &) override |
Tells recorder which filters to use. More... | |
void | Initialize (void) override |
This is called between SetOptionsFromProfile() and run() to initialize any devices, etc. More... | |
int | GetVideoFd (void) override |
Returns file descriptor of recorder device. More... | |
virtual void | SetStreamData (MPEGStreamData *data) |
MPEGStreamData * | GetStreamData (void) const |
void | Reset (void) override |
Reset the recorder to the startup state. More... | |
void | ClearStatistics (void) override |
RecordingQuality * | GetRecordingQuality (const RecordingInfo *r) const override |
Returns a report about the current recordings quality. More... | |
void | HandlePAT (const ProgramAssociationTable *_pat) override |
void | HandleCAT (const ConditionalAccessTable *) override |
void | HandlePMT (uint progNum, const ProgramMapTable *_pmt) override |
void | HandleEncryptionStatus (uint, bool) override |
void | HandleSingleProgramPAT (ProgramAssociationTable *pat, bool insert) override |
void | HandleSingleProgramPMT (ProgramMapTable *pmt, bool insert) override |
void | HandleSTT (const SystemTimeTable *) override |
void | HandleVCT (uint, const VirtualChannelTable *) override |
void | HandleMGT (const MasterGuideTable *) override |
void | HandleTDT (const TimeDateTable *) override |
void | HandleNIT (const NetworkInformationTable *) override |
void | HandleSDT (uint, const ServiceDescriptionTable *) override |
bool | ProcessTSPacket (const TSPacket &tspacket) override |
bool | ProcessVideoTSPacket (const TSPacket &tspacket) override |
bool | ProcessAudioTSPacket (const TSPacket &tspacket) override |
bool | ProcessAVTSPacket (const TSPacket &tspacket) |
Common code for processing either audio or video packets. More... | |
![]() | |
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... | |
![]() | |
virtual void | HandlePAT (const ProgramAssociationTable *pat)=0 |
virtual void | HandleCAT (const ConditionalAccessTable *cat)=0 |
virtual void | HandlePMT (uint program_num, const ProgramMapTable *pmt)=0 |
virtual void | HandleEncryptionStatus (uint program_number, bool encrypted)=0 |
virtual void | HandleSplice (const SpliceInformationTable *) |
virtual void | HandleSingleProgramPAT (ProgramAssociationTable *, bool insert)=0 |
virtual void | HandleSingleProgramPMT (ProgramMapTable *, bool insert)=0 |
virtual void | HandleTDT (const TimeDateTable *)=0 |
virtual void | HandleNIT (const NetworkInformationTable *)=0 |
virtual void | HandleSDT (uint tsid, const ServiceDescriptionTable *)=0 |
virtual void | HandleSTT (const SystemTimeTable *)=0 |
virtual void | HandleMGT (const MasterGuideTable *)=0 |
virtual void | HandleVCT (uint pid, const VirtualChannelTable *)=0 |
virtual bool | ProcessTSPacket (const TSPacket &tspacket)=0 |
virtual bool | ProcessVideoTSPacket (const TSPacket &tspacket)=0 |
virtual bool | ProcessAudioTSPacket (const TSPacket &tspacket)=0 |
virtual void | FindPSKeyFrames (const uint8_t *buffer, uint len)=0 |
Protected Member Functions | |
virtual void | InitStreamData (void) |
void | FinishRecording (void) override |
Flushes the ringbuffer, and if this is not a live LiveTV recording saves the position map and filesize. More... | |
void | ResetForNewFile (void) override |
void | HandleKeyframe (int64_t extra) |
This save the current frame to the position maps and handles ringbuffer switching. More... | |
void | HandleTimestamps (int stream_id, int64_t pts, int64_t dts) |
void | UpdateFramesWritten (void) |
void | BufferedWrite (const TSPacket &tspacket, bool insert=false) |
bool | FindAudioKeyframes (const TSPacket *tspacket) |
bool | FindMPEG2Keyframes (const TSPacket *tspacket) |
Locates the keyframes and saves them to the position map. More... | |
bool | FindH2645Keyframes (const TSPacket *tspacket) |
void | HandleH2645Keyframe (void) |
This save the current frame to the position maps and handles ringbuffer switching. More... | |
void | FindPSKeyFrames (const uint8_t *buffer, uint len) override |
bool | FindOtherKeyframes (const TSPacket *tspacket) |
Non-Audio/Video data. More... | |
bool | CheckCC (uint pid, uint new_cnt) |
virtual QString | GetSIStandard (void) const |
virtual void | SetCAMPMT (const ProgramMapTable *) |
virtual void | UpdateCAMTimeOffset (void) |
![]() | |
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) |
![]() | |
virtual | ~MPEGStreamListener ()=default |
![]() | |
virtual | ~MPEGSingleProgramStreamListener ()=default |
![]() | |
virtual | ~DVBMainStreamListener ()=default |
![]() | |
virtual | ~ATSCMainStreamListener ()=default |
![]() | |
virtual | ~TSPacketListener ()=default |
![]() | |
virtual | ~TSPacketListenerAV ()=default |
![]() | |
virtual | ~PSStreamListener ()=default |
Static Protected Attributes | |
static const uint | kMaxKeyFrameDistance = 80 |
If the number of regular frames detected since the last detected keyframe exceeds this value, then we begin marking random regular frames as keyframes. More... | |
static const unsigned char | kPayloadStartSeen = 0x2 |
![]() | |
static constexpr std::chrono::milliseconds | kTimeOfLatestDataIntervalTarget { 5s } |
timeOfLatest update interval target in milliseconds. More... | |
Additional Inherited Members | |
![]() | |
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 } |
![]() | |
static RecorderBase * | CreateRecorder (TVRec *tvrec, ChannelBase *channel, RecordingProfile &profile, const GeneralDBOptions &genOpt) |
This is a specialization of RecorderBase used to handle MPEG-2, MPEG-4, MPEG-4 AVC, DVB and ATSC streams.
Definition at line 26 of file dtvrecorder.h.
|
explicit |
Definition at line 52 of file dtvrecorder.cpp.
|
override |
Definition at line 67 of file dtvrecorder.cpp.
Definition at line 260 of file dtvrecorder.cpp.
Referenced by HandleSingleProgramPAT(), HandleSingleProgramPMT(), ProcessAVTSPacket(), ProcessTSPacket(), and FirewireRecorder::ProcessTSPacket().
Definition at line 225 of file dtvrecorder.h.
Referenced by ProcessAVTSPacket(), and ProcessTSPacket().
|
overridevirtual |
Reimplemented from RecorderBase.
Definition at line 185 of file dtvrecorder.cpp.
Referenced by ResetForNewFile().
Definition at line 767 of file dtvrecorder.cpp.
Referenced by ProcessAudioTSPacket().
Definition at line 873 of file dtvrecorder.cpp.
Referenced by ProcessVideoTSPacket().
Locates the keyframes and saves them to the position map.
This searches for three magic integers in the stream. The picture start code 0x00000100, the GOP code 0x000001B8, and the sequence start code 0x000001B3. The GOP code is prefered, but is only required of MPEG1 streams, the sequence start code is a decent fallback for MPEG2 streams, and if all else fails we just look for the picture start codes and call every 16th frame a keyframe.
NOTE: This does not only find keyframes but also tracks the total frames as well. At least a couple times seeking has been broken by short-circuiting the search once a keyframe stream id has been found. This may work on some channels, but will break on others so algorithmic optimizations should be done with great care.
Definition at line 406 of file dtvrecorder.cpp.
Referenced by ProcessVideoTSPacket().
Non-Audio/Video data.
For streams which contain no audio/video, write just 1 key-frame at the start.
Definition at line 807 of file dtvrecorder.cpp.
Referenced by ProcessTSPacket().
|
overrideprotectedvirtual |
Implements PSStreamListener.
Definition at line 1123 of file dtvrecorder.cpp.
Referenced by MpegRecorder::run().
|
overrideprotectedvirtual |
Flushes the ringbuffer, and if this is not a live LiveTV recording saves the position map and filesize.
Reimplemented from RecorderBase.
Definition at line 127 of file dtvrecorder.cpp.
Referenced by ASIRecorder::run(), CetonRecorder::run(), DVBRecorder::run(), ExternalRecorder::run(), FirewireRecorder::run(), HDHRRecorder::run(), ImportRecorder::run(), IPTVRecorder::run(), MpegRecorder::run(), SatIPRecorder::run(), and V4L2encRecorder::run().
|
inlineoverridevirtual |
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.
Implements RecorderBase.
Reimplemented in ImportRecorder.
Definition at line 49 of file dtvrecorder.h.
Referenced by MpegRecorder::run().
|
overridevirtual |
Returns a report about the current recordings quality.
Reimplemented from RecorderBase.
Reimplemented in ImportRecorder.
Definition at line 1707 of file dtvrecorder.cpp.
|
inlineprotectedvirtual |
Reimplemented in CetonRecorder, DVBRecorder, HDHRRecorder, and SatIPRecorder.
Definition at line 124 of file dtvrecorder.h.
Referenced by HandlePMT().
|
inline |
Definition at line 58 of file dtvrecorder.h.
Referenced by FindAudioKeyframes(), FindOtherKeyframes(), HandlePAT(), FirewireRecorder::ProcessTSPacket(), TVRec::SetupDTVSignalMonitor(), TVRec::TuningFrequency(), TVRec::TuningOnSameMultiplex(), TVRec::TuningShutdowns(), and DVBRecorder::UpdateCAMTimeOffset().
|
inlineoverridevirtual |
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.
Implements RecorderBase.
Reimplemented in MpegRecorder.
Definition at line 54 of file dtvrecorder.h.
|
inlineoverridevirtual |
Implements MPEGStreamListener.
Definition at line 66 of file dtvrecorder.h.
Implements MPEGStreamListener.
Definition at line 68 of file dtvrecorder.h.
|
protected |
This save the current frame to the position maps and handles ringbuffer switching.
Definition at line 1092 of file dtvrecorder.cpp.
Referenced by FindH2645Keyframes().
|
protected |
This save the current frame to the position maps and handles ringbuffer switching.
Definition at line 833 of file dtvrecorder.cpp.
Referenced by FindAudioKeyframes(), FindMPEG2Keyframes(), FindOtherKeyframes(), FindPSKeyFrames(), and ProcessTSPacket().
|
inlineoverridevirtual |
Implements ATSCMainStreamListener.
Definition at line 77 of file dtvrecorder.h.
|
inlineoverridevirtual |
Implements DVBMainStreamListener.
Definition at line 81 of file dtvrecorder.h.
|
overridevirtual |
Implements MPEGStreamListener.
Definition at line 1309 of file dtvrecorder.cpp.
|
overridevirtual |
Implements MPEGStreamListener.
Definition at line 1361 of file dtvrecorder.cpp.
|
inlineoverridevirtual |
Implements DVBMainStreamListener.
Definition at line 82 of file dtvrecorder.h.
|
overridevirtual |
Implements MPEGSingleProgramStreamListener.
Definition at line 1390 of file dtvrecorder.cpp.
Referenced by MpegRecorder::RestartEncoding(), MpegRecorder::run(), ASIRecorder::StartNewFile(), CetonRecorder::StartNewFile(), DVBRecorder::StartNewFile(), ExternalRecorder::StartNewFile(), HDHRRecorder::StartNewFile(), IPTVRecorder::StartNewFile(), SatIPRecorder::StartNewFile(), and V4L2encRecorder::StartNewFile().
|
overridevirtual |
Implements MPEGSingleProgramStreamListener.
Definition at line 1410 of file dtvrecorder.cpp.
Referenced by MpegRecorder::RestartEncoding(), MpegRecorder::run(), ASIRecorder::StartNewFile(), CetonRecorder::StartNewFile(), DVBRecorder::StartNewFile(), ExternalRecorder::StartNewFile(), HDHRRecorder::StartNewFile(), IPTVRecorder::StartNewFile(), SatIPRecorder::StartNewFile(), and V4L2encRecorder::StartNewFile().
|
inlineoverridevirtual |
Implements ATSCMainStreamListener.
Definition at line 75 of file dtvrecorder.h.
|
inlineoverridevirtual |
Implements DVBMainStreamListener.
Definition at line 80 of file dtvrecorder.h.
|
protected |
Definition at line 650 of file dtvrecorder.cpp.
Referenced by FindMPEG2Keyframes().
|
inlineoverridevirtual |
Implements ATSCMainStreamListener.
Definition at line 76 of file dtvrecorder.h.
|
inlineoverridevirtual |
This is called between SetOptionsFromProfile() and run() to initialize any devices, etc.
Implements RecorderBase.
Reimplemented in MpegRecorder.
Definition at line 53 of file dtvrecorder.h.
|
protectedvirtual |
Reimplemented in FirewireRecorder, ImportRecorder, and MpegRecorder.
Definition at line 232 of file dtvrecorder.cpp.
Referenced by SetStreamData().
|
inlineoverridevirtual |
Tells us whether an unrecoverable error has been encountered.
Implements RecorderBase.
Definition at line 46 of file dtvrecorder.h.
Referenced by ASIRecorder::run(), CetonRecorder::run(), DVBRecorder::run(), ExternalRecorder::run(), FirewireRecorder::run(), HDHRRecorder::run(), ImportRecorder::run(), IPTVRecorder::run(), MpegRecorder::run(), SatIPRecorder::run(), V4L2encRecorder::run(), and V4LRecorder::RunVBIDevice().
Implements TSPacketListenerAV.
Definition at line 1644 of file dtvrecorder.cpp.
Referenced by FirewireRecorder::ProcessTSPacket().
Common code for processing either audio or video packets.
Definition at line 1668 of file dtvrecorder.cpp.
Referenced by ProcessAudioTSPacket(), and ProcessVideoTSPacket().
Implements TSPacketListener.
Reimplemented in FirewireRecorder, and MpegRecorder.
Definition at line 1548 of file dtvrecorder.cpp.
Referenced by MpegRecorder::ProcessTSPacket().
Implements TSPacketListenerAV.
Definition at line 1610 of file dtvrecorder.cpp.
Referenced by FirewireRecorder::ProcessTSPacket().
|
overridevirtual |
Reset the recorder to the startup state.
This is used after Pause(bool), WaitForPause() and after the RingBuffer's StopReads() method has been called.
Implements RecorderBase.
Reimplemented in MpegRecorder.
Definition at line 205 of file dtvrecorder.cpp.
|
overrideprotectedvirtual |
Implements RecorderBase.
Definition at line 141 of file dtvrecorder.cpp.
Referenced by DTVRecorder(), ASIRecorder::Open(), CetonRecorder::Open(), DVBRecorder::Open(), ExternalRecorder::Open(), FirewireRecorder::Open(), HDHRRecorder::Open(), ImportRecorder::Open(), IPTVRecorder::Open(), MpegRecorder::Open(), SatIPRecorder::Open(), Reset(), and MpegRecorder::Reset().
|
inlineprotectedvirtual |
Reimplemented in DVBRecorder.
Definition at line 125 of file dtvrecorder.h.
Referenced by HandlePMT().
|
overridevirtual |
Set an specific option.
Base options include: codec, videodevice, tvformat (ntsc,ntsc-jp,pal-m), vbiformat ("none","pal teletext","ntsc").
Reimplemented from RecorderBase.
Reimplemented in V4LRecorder, and MpegRecorder.
Definition at line 92 of file dtvrecorder.cpp.
Referenced by V4LRecorder::SetOption(), ASIRecorder::SetOptionsFromProfile(), SetOptionsFromProfile(), and ImportRecorder::SetOptionsFromProfile().
|
overridevirtual |
handles the "wait_for_seqstart" option.
Reimplemented from RecorderBase.
Reimplemented in V4LRecorder, and MpegRecorder.
Definition at line 103 of file dtvrecorder.cpp.
|
overridevirtual |
Sets basic recorder options.
SetOptionsFromProfile is used to tell the recorder about the recording profile as well as the devices to use.
Implements RecorderBase.
Reimplemented in FirewireRecorder, ImportRecorder, MpegRecorder, and V4L2encRecorder.
Definition at line 113 of file dtvrecorder.cpp.
|
virtual |
Reimplemented in IPTVRecorder.
Definition at line 219 of file dtvrecorder.cpp.
Referenced by ASIRecorder::ASIRecorder(), DVBRecorder::Open(), HDHRRecorder::Open(), SatIPRecorder::Open(), MpegRecorder::run(), IPTVRecorder::SetStreamData(), TVRec::SetupDTVSignalMonitor(), TVRec::TuningNewRecorderReal(), and ~DTVRecorder().
|
inlineoverridevirtual |
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.
Implements RecorderBase.
Reimplemented in MpegRecorder.
Definition at line 52 of file dtvrecorder.h.
|
inlineprotectedvirtual |
Reimplemented in DVBRecorder.
Definition at line 126 of file dtvrecorder.h.
Referenced by HandleSTT(), and HandleTDT().
|
protected |
Definition at line 734 of file dtvrecorder.cpp.
Referenced by FindAudioKeyframes(), FindH2645Keyframes(), FindMPEG2Keyframes(), FindOtherKeyframes(), FindPSKeyFrames(), and ProcessTSPacket().
|
staticprotected |
If the number of regular frames detected since the last detected keyframe exceeds this value, then we begin marking random regular frames as keyframes.
Definition at line 221 of file dtvrecorder.h.
Referenced by FindMPEG2Keyframes(), and FindPSKeyFrames().
|
staticprotected |
Definition at line 222 of file dtvrecorder.h.
Referenced by ProcessAVTSPacket().
|
protected |
Definition at line 141 of file dtvrecorder.h.
Referenced by FindPSKeyFrames(), and ResetForNewFile().
|
protected |
Definition at line 135 of file dtvrecorder.h.
Referenced by FindAudioKeyframes().
Definition at line 166 of file dtvrecorder.h.
Referenced by BufferedWrite(), FindAudioKeyframes(), FindH2645Keyframes(), FindMPEG2Keyframes(), ProcessAudioTSPacket(), ProcessAVTSPacket(), ProcessTSPacket(), and ProcessVideoTSPacket().
|
protected |
Definition at line 183 of file dtvrecorder.h.
Referenced by CheckCC(), ProcessAVTSPacket(), ProcessTSPacket(), MpegRecorder::ProcessTSPacket(), and ResetForNewFile().
|
mutableprotected |
Definition at line 194 of file dtvrecorder.h.
Referenced by ClearStatistics(), GetRecordingQuality(), ProcessAVTSPacket(), and ProcessTSPacket().
|
protected |
non-empty iff irrecoverable recording error detected
Definition at line 161 of file dtvrecorder.h.
Referenced by IsErrored(), MpegRecorder::OpenMpegFileAsInput(), MpegRecorder::OpenV4L2DeviceAsInput(), ResetForNewFile(), ASIRecorder::run(), CetonRecorder::run(), DVBRecorder::run(), ExternalRecorder::run(), FirewireRecorder::run(), HDHRRecorder::run(), IPTVRecorder::run(), MpegRecorder::run(), SatIPRecorder::run(), V4L2encRecorder::run(), MpegRecorder::SetVideoCaptureFormat(), MpegRecorder::StartEncoding(), and V4L2encRecorder::V4L2encRecorder().
|
protected |
Definition at line 137 of file dtvrecorder.h.
Referenced by BufferedWrite(), FindAudioKeyframes(), FindH2645Keyframes(), FindMPEG2Keyframes(), FindPSKeyFrames(), HandleH2645Keyframe(), HandleKeyframe(), HandleTimestamps(), ProcessAudioTSPacket(), ProcessAVTSPacket(), ProcessTSPacket(), ProcessVideoTSPacket(), and ResetForNewFile().
|
protected |
Definition at line 195 of file dtvrecorder.h.
Referenced by ClearStatistics(), FindAudioKeyframes(), FindH2645Keyframes(), FindMPEG2Keyframes(), FindOtherKeyframes(), FindPSKeyFrames(), and ProcessTSPacket().
|
protected |
Definition at line 196 of file dtvrecorder.h.
Referenced by ClearStatistics(), FindH2645Keyframes(), FindMPEG2Keyframes(), FindPSKeyFrames(), FinishRecording(), GetFramesWritten(), HandleH2645Keyframe(), HandleKeyframe(), and UpdateFramesWritten().
|
protected |
Definition at line 152 of file dtvrecorder.h.
Referenced by FindH2645Keyframes(), HandleH2645Keyframe(), HandleSingleProgramPMT(), ExternalRecorder::PauseAndWait(), MpegRecorder::Reset(), MpegRecorder::StartEncoding(), V4L2encRecorder::StartEncoding(), and ~DTVRecorder().
Definition at line 175 of file dtvrecorder.h.
Referenced by HandlePMT(), and ProcessTSPacket().
Definition at line 157 of file dtvrecorder.h.
Referenced by FindOtherKeyframes(), and ResetForNewFile().
|
protected |
PAT on input side.
Definition at line 172 of file dtvrecorder.h.
Referenced by HandlePAT(), and ~DTVRecorder().
|
protected |
PMT on input side.
Definition at line 174 of file dtvrecorder.h.
Referenced by HandlePMT(), ProcessTSPacket(), ASIRecorder::run(), CetonRecorder::run(), DVBRecorder::run(), ExternalRecorder::run(), HDHRRecorder::run(), IPTVRecorder::run(), SatIPRecorder::run(), V4L2encRecorder::run(), and ~DTVRecorder().
|
protected |
Definition at line 138 of file dtvrecorder.h.
Referenced by FindMPEG2Keyframes(), FindPSKeyFrames(), and ResetForNewFile().
|
protected |
Definition at line 140 of file dtvrecorder.h.
Referenced by FindAudioKeyframes(), FindH2645Keyframes(), FindMPEG2Keyframes(), FindOtherKeyframes(), FindPSKeyFrames(), ProcessTSPacket(), and ResetForNewFile().
|
protected |
Definition at line 139 of file dtvrecorder.h.
Referenced by FindMPEG2Keyframes(), FindPSKeyFrames(), and ResetForNewFile().
|
protected |
Definition at line 187 of file dtvrecorder.h.
Referenced by DTVRecorder().
Definition at line 213 of file dtvrecorder.h.
Referenced by FindMPEG2Keyframes(), and HandleTimestamps().
|
protected |
Definition at line 143 of file dtvrecorder.h.
Referenced by FindPSKeyFrames(), and ResetForNewFile().
|
mutableprotected |
Definition at line 193 of file dtvrecorder.h.
Referenced by ClearStatistics(), GetRecordingQuality(), ProcessAVTSPacket(), and ProcessTSPacket().
|
protected |
Definition at line 167 of file dtvrecorder.h.
Referenced by BufferedWrite(), DTVRecorder(), FindAudioKeyframes(), FindH2645Keyframes(), FindMPEG2Keyframes(), FindOtherKeyframes(), FindPSKeyFrames(), ProcessAudioTSPacket(), ProcessTSPacket(), ProcessVideoTSPacket(), and MpegRecorder::RestartEncoding().
Definition at line 150 of file dtvrecorder.h.
Referenced by FindH2645Keyframes().
|
protected |
Definition at line 134 of file dtvrecorder.h.
Referenced by FindH2645Keyframes().
|
mutableprotected |
Definition at line 170 of file dtvrecorder.h.
Referenced by HandlePAT(), and HandlePMT().
|
protected |
Definition at line 182 of file dtvrecorder.h.
Referenced by ProcessAVTSPacket().
|
protected |
Definition at line 146 of file dtvrecorder.h.
Referenced by FindMPEG2Keyframes(), and ResetForNewFile().
|
protected |
Definition at line 131 of file dtvrecorder.h.
Referenced by MpegRecorder::run(), and SetOption().
Definition at line 178 of file dtvrecorder.h.
Referenced by ASIRecorder::ASIRecorder(), DVBRecorder::Open(), HDHRRecorder::Open(), SatIPRecorder::Open(), ASIRecorder::run(), DVBRecorder::run(), HDHRRecorder::run(), SatIPRecorder::run(), SetOption(), ASIRecorder::StartNewFile(), DVBRecorder::StartNewFile(), HDHRRecorder::StartNewFile(), and SatIPRecorder::StartNewFile().
Definition at line 179 of file dtvrecorder.h.
Referenced by ASIRecorder::ASIRecorder(), DVBRecorder::Open(), HDHRRecorder::Open(), SatIPRecorder::Open(), ProcessTSPacket(), ASIRecorder::run(), DVBRecorder::run(), HDHRRecorder::run(), SatIPRecorder::run(), ASIRecorder::StartNewFile(), DVBRecorder::StartNewFile(), HDHRRecorder::StartNewFile(), and SatIPRecorder::StartNewFile().
|
protected |
Definition at line 180 of file dtvrecorder.h.
Referenced by ProcessTSPacket().
|
protected |
Definition at line 147 of file dtvrecorder.h.
Referenced by FindMPEG2Keyframes(), ResetForNewFile(), and UpdateFramesWritten().
|
protected |
Definition at line 209 of file dtvrecorder.h.
Referenced by FindH2645Keyframes().
|
protected |
Definition at line 184 of file dtvrecorder.h.
Referenced by HandleSingleProgramPAT(), and HandleSingleProgramPMT().
Definition at line 151 of file dtvrecorder.h.
Referenced by FindH2645Keyframes(), ExternalRecorder::run(), MpegRecorder::StartEncoding(), and V4L2encRecorder::StartEncoding().
|
protected |
Definition at line 136 of file dtvrecorder.h.
Referenced by FindH2645Keyframes(), FindMPEG2Keyframes(), FindPSKeyFrames(), Reset(), MpegRecorder::Reset(), and ResetForNewFile().
|
protected |
Definition at line 163 of file dtvrecorder.h.
Referenced by ASIRecorder::ASIRecorder(), GetStreamData(), HandlePAT(), HandlePMT(), InitStreamData(), FirewireRecorder::InitStreamData(), MpegRecorder::InitStreamData(), IPTVRecorder::Open(), CetonRecorder::PauseAndWait(), DVBRecorder::PauseAndWait(), ExternalRecorder::PauseAndWait(), HDHRRecorder::PauseAndWait(), IPTVRecorder::PauseAndWait(), MpegRecorder::PauseAndWait(), SatIPRecorder::PauseAndWait(), V4L2encRecorder::PauseAndWait(), MpegRecorder::Reset(), MpegRecorder::RestartEncoding(), ASIRecorder::run(), CetonRecorder::run(), DVBRecorder::run(), ExternalRecorder::run(), HDHRRecorder::run(), IPTVRecorder::run(), MpegRecorder::run(), SatIPRecorder::run(), V4L2encRecorder::run(), SetStreamData(), IPTVRecorder::SetStreamData(), ASIRecorder::StartNewFile(), CetonRecorder::StartNewFile(), DVBRecorder::StartNewFile(), ExternalRecorder::StartNewFile(), HDHRRecorder::StartNewFile(), IPTVRecorder::StartNewFile(), SatIPRecorder::StartNewFile(), and V4L2encRecorder::StartNewFile().
|
protected |
Definition at line 129 of file dtvrecorder.h.
Referenced by GetVideoFd().
|
protected |
Definition at line 181 of file dtvrecorder.h.
Referenced by HandleSingleProgramPMT(), ProcessTSPacket(), and ProcessVideoTSPacket().
|
protected |
Milliseconds from the start to m_tdTickCount = 0.
Definition at line 200 of file dtvrecorder.h.
Referenced by ClearStatistics(), and UpdateFramesWritten().
|
protected |
Count of the number of equivalent interlaced fields that have passed since m_tdBase.
Definition at line 207 of file dtvrecorder.h.
Referenced by ClearStatistics(), and UpdateFramesWritten().
|
protected |
Definition at line 208 of file dtvrecorder.h.
Referenced by ClearStatistics(), and UpdateFramesWritten().
|
protected |
Total milliseconds that have passed since the start of the recording.
Definition at line 198 of file dtvrecorder.h.
Referenced by ClearStatistics(), FinishRecording(), HandleH2645Keyframe(), HandleKeyframe(), and UpdateFramesWritten().
|
protected |
Definition at line 189 of file dtvrecorder.h.
Referenced by ClearStatistics(), and HandleTimestamps().
|
protected |
Definition at line 191 of file dtvrecorder.h.
Referenced by ClearStatistics(), FindMPEG2Keyframes(), and HandleTimestamps().
|
protected |
Definition at line 192 of file dtvrecorder.h.
Referenced by HandleTimestamps().
|
protected |
Definition at line 190 of file dtvrecorder.h.
Referenced by ClearStatistics(), FindMPEG2Keyframes(), and HandleTimestamps().
Definition at line 215 of file dtvrecorder.h.
Referenced by HandleSingleProgramPMT(), V4L2encRecorder::Open(), and MpegRecorder::OpenV4L2DeviceAsInput().
Definition at line 188 of file dtvrecorder.h.
Referenced by HandleTimestamps().
|
protected |
Definition at line 142 of file dtvrecorder.h.
Referenced by FindPSKeyFrames(), and ResetForNewFile().
Wait for the a GOP/SEQ-start before sending data.
Definition at line 155 of file dtvrecorder.h.
Referenced by BufferedWrite(), FindAudioKeyframes(), FindH2645Keyframes(), FindMPEG2Keyframes(), FindPSKeyFrames(), ProcessAVTSPacket(), ProcessTSPacket(), ExternalRecorder::run(), MpegRecorder::run(), SetOption(), MpegRecorder::StartEncoding(), and V4L2encRecorder::StartEncoding().