|
MythTV
0.25-pre
|
This is the abstract base class for supporting recorder hardware. More...
#include <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) | |
| virtual | ~RecorderBase () |
| void | SetFrameRate (double rate) |
| Sets the video frame rate. | |
| void | SetRecording (const ProgramInfo *pginfo) |
| Changes the Recording from the one set initially with SetOptionsFromProfile(). | |
| void | SetRingBuffer (RingBuffer *rbuf) |
| Tells recorder to use an externally created ringbuffer. | |
| virtual void | SetOption (const QString &opt, const QString &value) |
| Set an specific option. | |
| virtual void | SetOption (const QString &opt, int value) |
| Set an specific integer option. | |
| virtual void | SetVideoFilters (QString &filters)=0 |
| Tells recorder which filters to use. | |
| virtual void | SetOptionsFromProfile (RecordingProfile *profile, const QString &videodev, const QString &audiodev, const QString &vbidev)=0 |
| Sets basic recorder options. | |
| virtual void | SetNextRecording (const ProgramInfo *, RingBuffer *)=0 |
| Sets next recording info, to be applied as soon as practical. | |
| virtual void | Initialize (void)=0 |
| This is called between SetOptionsFromProfile() and run() to initialize any devices, etc. | |
| virtual void | run (void)=0 |
| run() starts the recording process, and does not exit until the recording is complete. | |
| virtual void | Reset (void)=0 |
| Reset the recorder to the startup state. | |
| virtual bool | IsErrored (void)=0 |
| Tells us whether an unrecoverable error has been encountered. | |
| virtual long long | GetFramesWritten (void)=0 |
| Returns number of frames written to disk. | |
| virtual int | GetVideoFd (void)=0 |
| Returns file descriptor of recorder device. | |
| int64_t | GetKeyframePosition (uint64_t desired) const |
| Returns closest keyframe position before the desired frame. | |
| bool | GetKeyframePositions (int64_t start, int64_t end, frm_pos_map_t &) const |
| virtual void | StopRecording (void) |
| StopRecording() signals to the recorder that it should stop recording and exit cleanly. | |
| virtual bool | IsRecording (void) |
| Tells whether the StartRecorder() loop is running. | |
| virtual bool | IsRecordingRequested (void) |
| Tells us if StopRecording() has been called. | |
| virtual RecordingQuality * | GetRecordingQuality (void) const |
| Returns a report about the current recordings quality. | |
| virtual void | Pause (bool clear=true) |
| Pause tells recorder to pause, it should not block. | |
| virtual void | Unpause (void) |
| Unpause tells recorder to unpause. | |
| virtual bool | IsPaused (bool holding_lock=false) const |
| Returns true iff recorder is paused. | |
| virtual bool | WaitForPause (int timeout=1000) |
| WaitForPause blocks until recorder is actually paused, or timeout milliseconds elapse. | |
| double | GetFrameRate (void) |
| Returns an approximation of the frame rate. | |
| virtual void | CheckForRingBufferSwitch (void) |
| If requested, switch to new RingBuffer/ProgramInfo objects. | |
| void | SavePositionMap (bool force=false) |
| Save the seektable to the DB. | |
Static Public Member Functions | |
| static RecorderBase * | CreateRecorder (TVRec *tvrec, ChannelBase *channel, const RecordingProfile &profile, const GeneralDBOptions &genOpt, const DVBDBOptions &dvbOpt) |
Protected Member Functions | |
| void | SetIntOption (RecordingProfile *profile, const QString &name) |
| Convenience function used to set integer options from a profile. | |
| void | SetStrOption (RecordingProfile *profile, const QString &name) |
| Convenience function used to set QString options from a profile. | |
| virtual bool | PauseAndWait (int timeout=100) |
| If request_pause is true, sets pause and blocks up to timeout milliseconds or until unpaused, whichever is sooner. | |
| virtual void | ResetForNewFile (void)=0 |
| virtual void | ClearStatistics (void) |
| virtual void | FinishRecording (void)=0 |
| virtual void | StartNewFile (void) |
| void | SetPositionMapType (MarkTypes type) |
| Set seektable type. | |
| void | AspectChange (uint ratio, long long frame) |
| Note a change in aspect ratio in the recordedmark table. | |
| void | ResolutionChange (uint width, uint height, long long frame) |
| Note a change in video size in the recordedmark table. | |
| void | FrameRateChange (uint framerate, long long frame) |
| Note a change in video frame rate in the recordedmark table. | |
| void | SetDuration (uint64_t duration) |
| Note the total duration in the recordedmark table. | |
Protected Attributes | |
| TVRec * | tvrec |
| RingBuffer * | ringBuffer |
| bool | weMadeBuffer |
| QString | videocodec |
| QString | videodevice |
| bool | ntsc |
| bool | ntsc_framerate |
| double | video_frame_rate |
| uint | m_videoAspect |
| uint | m_videoHeight |
| uint | m_videoWidth |
| double | m_frameRate |
| ProgramInfo * | curRecording |
| QMutex | pauseLock |
| bool | request_pause |
| bool | paused |
| QWaitCondition | pauseWait |
| QWaitCondition | unpauseWait |
| bool | request_recording |
| True if API call has requested a recording be [re]started. | |
| bool | recording |
| True while recording is actually being performed. | |
| QWaitCondition | recordingWait |
| QMutex | nextRingBufferLock |
| RingBuffer * | nextRingBuffer |
| ProgramInfo * | nextRecording |
| MarkTypes | positionMapType |
| QMutex | positionMapLock |
| frm_pos_map_t | positionMap |
| frm_pos_map_t | positionMapDelta |
| MythTimer | positionMapTimer |
| QMutex | statisticsLock |
| QDateTime | timeOfFirstData |
| QDateTime | timeOfLatestData |
| RecordingGaps | recordingGaps |
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 41 of file recorderbase.h.
Definition at line 205 of file recorderbase.h.
| RecorderBase::RecorderBase | ( | TVRec * | rec | ) |
Definition at line 39 of file recorderbase.cpp.
| RecorderBase::~RecorderBase | ( | void | ) | [virtual] |
Definition at line 57 of file recorderbase.cpp.
| void RecorderBase::SetFrameRate | ( | double | rate | ) | [inline] |
Sets the video frame rate.
Definition at line 50 of file recorderbase.h.
Referenced by SetOption(), and Transcode::TranscodeFile().
| void RecorderBase::SetRecording | ( | const ProgramInfo * | 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 81 of file recorderbase.cpp.
Referenced by CheckForRingBufferSwitch(), TVRec::TuningNewRecorder(), TVRec::TuningRestartRecorder(), and ~RecorderBase().
| void RecorderBase::SetRingBuffer | ( | RingBuffer * | rbuf | ) |
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 67 of file recorderbase.cpp.
Referenced by CheckForRingBufferSwitch(), Transcode::TranscodeFile(), TVRec::TuningFrequency(), TVRec::TuningNewRecorder(), and TVRec::TuningRestartRecorder().
| void RecorderBase::SetOption | ( | const QString & | opt, |
| const QString & | value | ||
| ) | [virtual] |
Set an specific option.
Base options include: codec, videodevice, tvformat (ntsc,ntsc-jp,pal-m), vbiformat ("none","pal teletext","ntsc").
Reimplemented in NuppelVideoRecorder, DTVRecorder, V4LRecorder, and MpegRecorder.
Definition at line 99 of file recorderbase.cpp.
Referenced by CreateRecorder(), SetIntOption(), and SetStrOption().
| void RecorderBase::SetOption | ( | const QString & | opt, |
| int | value | ||
| ) | [virtual] |
Set an specific integer option.
There are no integer options in RecorderBase.
Reimplemented in NuppelVideoRecorder, ASIRecorder, DTVRecorder, V4LRecorder, and MpegRecorder.
Definition at line 138 of file recorderbase.cpp.
| virtual void RecorderBase::SetVideoFilters | ( | QString & | filters | ) | [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().
| virtual void RecorderBase::SetOptionsFromProfile | ( | RecordingProfile * | profile, |
| const QString & | videodev, | ||
| const QString & | audiodev, | ||
| const QString & | vbidev | ||
| ) | [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, FirewireRecorder, DTVRecorder, IPTVRecorder, ImportRecorder, and MpegRecorder.
Referenced by CreateRecorder().
| virtual void RecorderBase::SetNextRecording | ( | const ProgramInfo * | , |
| RingBuffer * | |||
| ) | [pure virtual] |
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.
Implemented in NuppelVideoRecorder, and DTVRecorder.
Referenced by TVRec::SwitchLiveTVRingBuffer(), and TVRec::SwitchRecordingRingBuffer().
| virtual void RecorderBase::Initialize | ( | void | ) | [pure virtual] |
This is called between SetOptionsFromProfile() and run() to initialize any devices, etc.
Implemented in NuppelVideoRecorder, DTVRecorder, and MpegRecorder.
Referenced by TVRec::TuningNewRecorder().
| virtual void RecorderBase::run | ( | void | ) | [pure virtual] |
run() starts the recording process, and does not exit until the recording is complete.
Implemented in NuppelVideoRecorder, ASIRecorder, FirewireRecorder, ImportRecorder, IPTVRecorder, MpegRecorder, DVBRecorder, CetonRecorder, and HDHRRecorder.
| virtual void RecorderBase::Reset | ( | void | ) | [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().
| virtual bool RecorderBase::IsErrored | ( | void | ) | [pure virtual] |
Tells us whether an unrecoverable error has been encountered.
Implemented in DTVRecorder.
Referenced by TVRec::run(), and TVRec::TuningNewRecorder().
| virtual long long RecorderBase::GetFramesWritten | ( | void | ) | [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, and DTVRecorder.
Referenced by TVRec::GetFramesWritten().
| virtual int RecorderBase::GetVideoFd | ( | void | ) | [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().
| int64_t RecorderBase::GetKeyframePosition | ( | uint64_t | 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 344 of file recorderbase.cpp.
Referenced by TVRec::GetKeyframePosition().
| bool RecorderBase::GetKeyframePositions | ( | int64_t | start, |
| int64_t | end, | ||
| frm_pos_map_t & | map | ||
| ) | const |
Definition at line 364 of file recorderbase.cpp.
Referenced by TVRec::GetKeyframePositions().
| void RecorderBase::StopRecording | ( | void | ) | [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 MpegRecorder, and V4LRecorder.
Definition at line 170 of file recorderbase.cpp.
Referenced by TVRec::TeardownRecorder(), DTVRecorder::~DTVRecorder(), and IPTVRecorder::~IPTVRecorder().
| bool RecorderBase::IsRecording | ( | void | ) | [virtual] |
Tells whether the StartRecorder() loop is running.
Reimplemented in NuppelVideoRecorder, and MpegRecorder.
Definition at line 189 of file recorderbase.cpp.
Referenced by TVRec::IsReallyRecording(), and TVRec::TuningNewRecorder().
| bool RecorderBase::IsRecordingRequested | ( | void | ) | [virtual] |
Tells us if StopRecording() has been called.
Definition at line 196 of file recorderbase.cpp.
Referenced by NuppelVideoRecorder::DoMJPEG(), NuppelVideoRecorder::DoV4L1(), NuppelVideoRecorder::DoV4L2(), HDHRRecorder::run(), CetonRecorder::run(), DVBRecorder::run(), MpegRecorder::run(), IPTVRecorder::run(), ImportRecorder::run(), FirewireRecorder::run(), and ASIRecorder::run().
| RecordingQuality * RecorderBase::GetRecordingQuality | ( | void | ) | const [virtual] |
Returns a report about the current recordings quality.
Reimplemented in DTVRecorder.
Definition at line 336 of file recorderbase.cpp.
Referenced by CheckForRingBufferSwitch(), and TVRec::TeardownRecorder().
| void RecorderBase::Pause | ( | bool | clear = true | ) | [virtual] |
Pause tells recorder to pause, it should not block.
Once paused the recorder calls tvrec->RecorderPaused().
| clear | if true any generated timecodes should be reset. |
Reimplemented in NuppelVideoRecorder, and MpegRecorder.
Definition at line 209 of file recorderbase.cpp.
Referenced by TVRec::PauseRecorder().
| void RecorderBase::Unpause | ( | void | ) | [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 220 of file recorderbase.cpp.
Referenced by TVRec::TuningRestartRecorder().
| bool RecorderBase::IsPaused | ( | bool | holding_lock = false | ) | const [virtual] |
Returns true iff recorder is paused.
Reimplemented in NuppelVideoRecorder.
Definition at line 228 of file recorderbase.cpp.
Referenced by IPTVRecorder::AddData(), TVRec::HandleTuning(), DVBRecorder::PauseAndWait(), HDHRRecorder::PauseAndWait(), CetonRecorder::PauseAndWait(), MpegRecorder::PauseAndWait(), IPTVRecorder::PauseAndWait(), FirewireRecorder::PauseAndWait(), PauseAndWait(), and WaitForPause().
| bool RecorderBase::WaitForPause | ( | int | timeout = 1000 | ) | [virtual] |
WaitForPause blocks until recorder is actually paused, or timeout milliseconds elapse.
| timeout | number of milliseconds to wait defaults to 1000. |
Definition at line 244 of file recorderbase.cpp.
| double RecorderBase::GetFrameRate | ( | void | ) | [inline] |
Returns an approximation of the frame rate.
Definition at line 195 of file recorderbase.h.
Referenced by TVRec::GetFramerate().
| void RecorderBase::CheckForRingBufferSwitch | ( | void | ) | [virtual] |
If requested, switch to new RingBuffer/ProgramInfo objects.
Definition at line 297 of file recorderbase.cpp.
Referenced by NuppelVideoRecorder::doWriteThread(), DTVRecorder::HandleH264Keyframe(), DTVRecorder::HandleKeyframe(), and TVRec::SwitchLiveTVRingBuffer().
| void RecorderBase::SavePositionMap | ( | bool | force = false | ) |
Save the seektable to the DB.
This saves the postition 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. |
Definition at line 393 of file recorderbase.cpp.
Referenced by DTVRecorder::FinishRecording(), NuppelVideoRecorder::FinishRecording(), TVRec::run(), DTVRecorder::SetNextRecording(), and NuppelVideoRecorder::SetNextRecording().
| RecorderBase * RecorderBase::CreateRecorder | ( | TVRec * | tvrec, |
| ChannelBase * | channel, | ||
| const RecordingProfile & | profile, | ||
| const GeneralDBOptions & | genOpt, | ||
| const DVBDBOptions & | dvbOpt | ||
| ) | [static] |
Definition at line 479 of file recorderbase.cpp.
Referenced by TVRec::TuningNewRecorder().
| void RecorderBase::SetIntOption | ( | RecordingProfile * | profile, |
| const QString & | name | ||
| ) | [protected] |
Convenience function used to set integer options from a profile.
Reimplemented in MpegRecorder.
Definition at line 145 of file recorderbase.cpp.
Referenced by ASIRecorder::SetOptionsFromProfile(), NuppelVideoRecorder::SetOptionsFromProfile(), and Transcode::TranscodeFile().
| void RecorderBase::SetStrOption | ( | RecordingProfile * | profile, |
| const QString & | name | ||
| ) | [protected] |
Convenience function used to set QString options from a profile.
Reimplemented in MpegRecorder.
Definition at line 155 of file recorderbase.cpp.
Referenced by DTVRecorder::SetOptionsFromProfile().
| bool RecorderBase::PauseAndWait | ( | int | timeout = 100 | ) | [protected, virtual] |
If request_pause 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 FirewireRecorder, IPTVRecorder, MpegRecorder, CetonRecorder, HDHRRecorder, and DVBRecorder.
Definition at line 272 of file recorderbase.cpp.
Referenced by ASIRecorder::run(), and V4LRecorder::RunVBIDevice().
| virtual void RecorderBase::ResetForNewFile | ( | void | ) | [protected, pure virtual] |
Implemented in NuppelVideoRecorder, and DTVRecorder.
Referenced by CheckForRingBufferSwitch().
| void RecorderBase::ClearStatistics | ( | void | ) | [protected, virtual] |
Reimplemented in DTVRecorder.
Definition at line 328 of file recorderbase.cpp.
Referenced by RecorderBase().
| virtual void RecorderBase::FinishRecording | ( | void | ) | [protected, pure virtual] |
Implemented in NuppelVideoRecorder, and DTVRecorder.
Referenced by CheckForRingBufferSwitch().
| virtual void RecorderBase::StartNewFile | ( | void | ) | [inline, protected, virtual] |
Reimplemented in NuppelVideoRecorder.
Definition at line 235 of file recorderbase.h.
Referenced by CheckForRingBufferSwitch().
| void RecorderBase::SetPositionMapType | ( | MarkTypes | type | ) | [inline, protected] |
Set seektable type.
Definition at line 239 of file recorderbase.h.
Referenced by DTVRecorder::DTVRecorder(), and NuppelVideoRecorder::NuppelVideoRecorder().
| void RecorderBase::AspectChange | ( | uint | ratio, |
| long long | frame | ||
| ) | [protected] |
Note a change in aspect ratio in the recordedmark table.
Definition at line 436 of file recorderbase.cpp.
Referenced by DTVRecorder::FindH264Keyframes(), DTVRecorder::FindMPEG2Keyframes(), DTVRecorder::FindPSKeyFrames(), and NuppelVideoRecorder::UpdateResolutions().
| void RecorderBase::ResolutionChange | ( | uint | width, |
| uint | height, | ||
| long long | frame | ||
| ) | [protected] |
Note a change in video size in the recordedmark table.
Definition at line 459 of file recorderbase.cpp.
Referenced by DTVRecorder::FindH264Keyframes(), DTVRecorder::FindMPEG2Keyframes(), DTVRecorder::FindPSKeyFrames(), and NuppelVideoRecorder::UpdateResolutions().
| void RecorderBase::FrameRateChange | ( | uint | framerate, |
| long long | frame | ||
| ) | [protected] |
Note a change in video frame rate in the recordedmark table.
Definition at line 465 of file recorderbase.cpp.
Referenced by DTVRecorder::FindH264Keyframes(), DTVRecorder::FindMPEG2Keyframes(), DTVRecorder::FindPSKeyFrames(), and NuppelVideoRecorder::UpdateResolutions().
| void RecorderBase::SetDuration | ( | uint64_t | duration | ) | [protected] |
Note the total duration in the recordedmark table.
Definition at line 471 of file recorderbase.cpp.
friend class Transcode [friend] |
Definition at line 43 of file recorderbase.h.
TVRec* RecorderBase::tvrec [protected] |
Definition at line 257 of file recorderbase.h.
Referenced by CheckForRingBufferSwitch(), NuppelVideoRecorder::doAudioThread(), NuppelVideoRecorder::DoMJPEG(), NuppelVideoRecorder::DoV4L1(), NuppelVideoRecorder::DoV4L2(), NuppelVideoRecorder::doWriteThread(), DVBRecorder::PauseAndWait(), HDHRRecorder::PauseAndWait(), CetonRecorder::PauseAndWait(), MpegRecorder::PauseAndWait(), FirewireRecorder::PauseAndWait(), IPTVRecorder::PauseAndWait(), and PauseAndWait().
RingBuffer* RecorderBase::ringBuffer [protected] |
Definition at line 258 of file recorderbase.h.
Referenced by DTVRecorder::BufferedWrite(), CheckForRingBufferSwitch(), NuppelVideoRecorder::CreateNuppelFile(), DTVRecorder::FindAudioKeyframes(), DTVRecorder::FindH264Keyframes(), DTVRecorder::FindMPEG2Keyframes(), DTVRecorder::FindOtherKeyframes(), DTVRecorder::FindPSKeyFrames(), DTVRecorder::FinishRecording(), NuppelVideoRecorder::FinishRecording(), DTVRecorder::HandleKeyframe(), DTVRecorder::HandleSingleProgramPAT(), DTVRecorder::HandleSingleProgramPMT(), NuppelVideoRecorder::Initialize(), DTVRecorder::ProcessAudioTSPacket(), DTVRecorder::ProcessVideoTSPacket(), ImportRecorder::run(), ASIRecorder::run(), NuppelVideoRecorder::run(), SavePositionMap(), DTVRecorder::SetNextRecording(), NuppelVideoRecorder::SetNextRecording(), SetRingBuffer(), NuppelVideoRecorder::UpdateSeekTable(), NuppelVideoRecorder::WriteAudio(), NuppelVideoRecorder::WriteFileHeader(), NuppelVideoRecorder::WriteFrameheader(), NuppelVideoRecorder::WriteHeader(), NuppelVideoRecorder::WriteKeyFrameAdjustTable(), NuppelVideoRecorder::WriteSeekTable(), NuppelVideoRecorder::WriteText(), NuppelVideoRecorder::WriteVideo(), NuppelVideoRecorder::~NuppelVideoRecorder(), and ~RecorderBase().
bool RecorderBase::weMadeBuffer [protected] |
Definition at line 259 of file recorderbase.h.
Referenced by NuppelVideoRecorder::Initialize(), SetRingBuffer(), NuppelVideoRecorder::~NuppelVideoRecorder(), and ~RecorderBase().
QString RecorderBase::videocodec [protected] |
Definition at line 261 of file recorderbase.h.
Referenced by NuppelVideoRecorder::DoV4L2(), NuppelVideoRecorder::Initialize(), NuppelVideoRecorder::run(), SetOption(), and NuppelVideoRecorder::SetupAVCodecVideo().
QString RecorderBase::videodevice [protected] |
Definition at line 262 of file recorderbase.h.
Referenced by DVBRecorder::DVBRecorder(), NuppelVideoRecorder::MJPEGInit(), DVBRecorder::Open(), ImportRecorder::Open(), NuppelVideoRecorder::Open(), MpegRecorder::OpenMpegFileAsInput(), MpegRecorder::OpenV4L2DeviceAsInput(), MpegRecorder::run(), and SetOption().
bool RecorderBase::ntsc [protected] |
Definition at line 264 of file recorderbase.h.
Referenced by NuppelVideoRecorder::DoMJPEG(), NuppelVideoRecorder::DoV4L2(), NuppelVideoRecorder::Initialize(), and SetOption().
bool RecorderBase::ntsc_framerate [protected] |
Definition at line 265 of file recorderbase.h.
Referenced by NuppelVideoRecorder::BufferIt().
double RecorderBase::video_frame_rate [protected] |
Definition at line 266 of file recorderbase.h.
Referenced by DTVRecorder::FindAudioKeyframes(), NuppelVideoRecorder::SetupAVCodecVideo(), NuppelVideoRecorder::UpdateResolutions(), and NuppelVideoRecorder::WriteFileHeader().
uint RecorderBase::m_videoAspect [protected] |
Definition at line 268 of file recorderbase.h.
Referenced by CheckForRingBufferSwitch(), DTVRecorder::FindH264Keyframes(), DTVRecorder::FindMPEG2Keyframes(), DTVRecorder::FindPSKeyFrames(), and NuppelVideoRecorder::UpdateResolutions().
uint RecorderBase::m_videoHeight [protected] |
Definition at line 270 of file recorderbase.h.
Referenced by AspectChange(), CheckForRingBufferSwitch(), DTVRecorder::FindH264Keyframes(), DTVRecorder::FindMPEG2Keyframes(), DTVRecorder::FindPSKeyFrames(), and NuppelVideoRecorder::UpdateResolutions().
uint RecorderBase::m_videoWidth [protected] |
Definition at line 271 of file recorderbase.h.
Referenced by AspectChange(), CheckForRingBufferSwitch(), DTVRecorder::FindH264Keyframes(), DTVRecorder::FindMPEG2Keyframes(), DTVRecorder::FindPSKeyFrames(), and NuppelVideoRecorder::UpdateResolutions().
double RecorderBase::m_frameRate [protected] |
Definition at line 272 of file recorderbase.h.
Referenced by CheckForRingBufferSwitch(), DTVRecorder::FindH264Keyframes(), DTVRecorder::FindMPEG2Keyframes(), DTVRecorder::FindPSKeyFrames(), and NuppelVideoRecorder::UpdateResolutions().
ProgramInfo* RecorderBase::curRecording [protected] |
Definition at line 274 of file recorderbase.h.
Referenced by AspectChange(), DTVRecorder::BufferedWrite(), CheckForRingBufferSwitch(), DTVRecorder::FinishRecording(), NuppelVideoRecorder::FinishRecording(), FrameRateChange(), GetRecordingQuality(), ImportRecorder::Open(), MpegRecorder::Reset(), DTVRecorder::Reset(), NuppelVideoRecorder::Reset(), ResolutionChange(), ImportRecorder::run(), SavePositionMap(), SetDuration(), DTVRecorder::SetNextRecording(), NuppelVideoRecorder::SetNextRecording(), and SetRecording().
QMutex RecorderBase::pauseLock [mutable, protected] |
Definition at line 277 of file recorderbase.h.
Referenced by NuppelVideoRecorder::doAudioThread(), NuppelVideoRecorder::DoMJPEG(), NuppelVideoRecorder::DoV4L1(), NuppelVideoRecorder::DoV4L2(), NuppelVideoRecorder::doWriteThread(), V4LRecorder::IsHelperRequested(), NuppelVideoRecorder::IsPaused(), IsPaused(), IsRecording(), IsRecordingRequested(), NuppelVideoRecorder::KillChildren(), MpegRecorder::Pause(), NuppelVideoRecorder::Pause(), Pause(), DVBRecorder::PauseAndWait(), HDHRRecorder::PauseAndWait(), CetonRecorder::PauseAndWait(), MpegRecorder::PauseAndWait(), IPTVRecorder::PauseAndWait(), FirewireRecorder::PauseAndWait(), PauseAndWait(), HDHRRecorder::run(), CetonRecorder::run(), DVBRecorder::run(), IPTVRecorder::run(), MpegRecorder::run(), ImportRecorder::run(), FirewireRecorder::run(), ASIRecorder::run(), NuppelVideoRecorder::run(), MpegRecorder::StopRecording(), StopRecording(), Unpause(), WaitForPause(), and V4LRecorder::~V4LRecorder().
bool RecorderBase::request_pause [protected] |
Definition at line 278 of file recorderbase.h.
Referenced by NuppelVideoRecorder::doAudioThread(), NuppelVideoRecorder::DoMJPEG(), NuppelVideoRecorder::DoV4L1(), NuppelVideoRecorder::DoV4L2(), NuppelVideoRecorder::doWriteThread(), MpegRecorder::Pause(), NuppelVideoRecorder::Pause(), Pause(), DVBRecorder::PauseAndWait(), HDHRRecorder::PauseAndWait(), CetonRecorder::PauseAndWait(), MpegRecorder::PauseAndWait(), IPTVRecorder::PauseAndWait(), FirewireRecorder::PauseAndWait(), PauseAndWait(), HDHRRecorder::run(), CetonRecorder::run(), DVBRecorder::run(), MpegRecorder::run(), FirewireRecorder::run(), ASIRecorder::run(), Unpause(), and WaitForPause().
bool RecorderBase::paused [protected] |
Definition at line 279 of file recorderbase.h.
Referenced by IsPaused(), MpegRecorder::Pause(), DVBRecorder::PauseAndWait(), HDHRRecorder::PauseAndWait(), CetonRecorder::PauseAndWait(), MpegRecorder::PauseAndWait(), FirewireRecorder::PauseAndWait(), IPTVRecorder::PauseAndWait(), and PauseAndWait().
QWaitCondition RecorderBase::pauseWait [protected] |
Definition at line 280 of file recorderbase.h.
Referenced by NuppelVideoRecorder::doAudioThread(), NuppelVideoRecorder::DoMJPEG(), NuppelVideoRecorder::DoV4L1(), NuppelVideoRecorder::DoV4L2(), NuppelVideoRecorder::doWriteThread(), DVBRecorder::PauseAndWait(), HDHRRecorder::PauseAndWait(), CetonRecorder::PauseAndWait(), MpegRecorder::PauseAndWait(), FirewireRecorder::PauseAndWait(), IPTVRecorder::PauseAndWait(), PauseAndWait(), MpegRecorder::ReaderPaused(), and WaitForPause().
QWaitCondition RecorderBase::unpauseWait [protected] |
Definition at line 281 of file recorderbase.h.
Referenced by NuppelVideoRecorder::doAudioThread(), NuppelVideoRecorder::DoMJPEG(), NuppelVideoRecorder::DoV4L1(), NuppelVideoRecorder::DoV4L2(), NuppelVideoRecorder::doWriteThread(), NuppelVideoRecorder::KillChildren(), NuppelVideoRecorder::Pause(), DVBRecorder::PauseAndWait(), HDHRRecorder::PauseAndWait(), CetonRecorder::PauseAndWait(), MpegRecorder::PauseAndWait(), IPTVRecorder::PauseAndWait(), FirewireRecorder::PauseAndWait(), PauseAndWait(), HDHRRecorder::run(), CetonRecorder::run(), DVBRecorder::run(), MpegRecorder::run(), ImportRecorder::run(), FirewireRecorder::run(), ASIRecorder::run(), StopRecording(), Unpause(), and V4LRecorder::~V4LRecorder().
bool RecorderBase::request_recording [protected] |
True if API call has requested a recording be [re]started.
Definition at line 283 of file recorderbase.h.
Referenced by V4LRecorder::IsHelperRequested(), IsRecordingRequested(), HDHRRecorder::run(), CetonRecorder::run(), DVBRecorder::run(), MpegRecorder::run(), IPTVRecorder::run(), ImportRecorder::run(), FirewireRecorder::run(), ASIRecorder::run(), NuppelVideoRecorder::run(), and StopRecording().
bool RecorderBase::recording [protected] |
True while recording is actually being performed.
Reimplemented in NuppelVideoRecorder.
Definition at line 285 of file recorderbase.h.
Referenced by MpegRecorder::IsRecording(), IsRecording(), IPTVRecorder::PauseAndWait(), HDHRRecorder::run(), CetonRecorder::run(), DVBRecorder::run(), MpegRecorder::run(), IPTVRecorder::run(), ImportRecorder::run(), FirewireRecorder::run(), ASIRecorder::run(), and StopRecording().
QWaitCondition RecorderBase::recordingWait [protected] |
Definition at line 286 of file recorderbase.h.
Referenced by HDHRRecorder::run(), CetonRecorder::run(), DVBRecorder::run(), MpegRecorder::run(), IPTVRecorder::run(), ImportRecorder::run(), FirewireRecorder::run(), ASIRecorder::run(), NuppelVideoRecorder::run(), and StopRecording().
QMutex RecorderBase::nextRingBufferLock [protected] |
Definition at line 290 of file recorderbase.h.
Referenced by CheckForRingBufferSwitch(), DTVRecorder::SetNextRecording(), and NuppelVideoRecorder::SetNextRecording().
RingBuffer* RecorderBase::nextRingBuffer [protected] |
Definition at line 291 of file recorderbase.h.
Referenced by CheckForRingBufferSwitch(), DTVRecorder::SetNextRecording(), and NuppelVideoRecorder::SetNextRecording().
ProgramInfo* RecorderBase::nextRecording [protected] |
Definition at line 292 of file recorderbase.h.
Referenced by CheckForRingBufferSwitch(), DTVRecorder::SetNextRecording(), and NuppelVideoRecorder::SetNextRecording().
MarkTypes RecorderBase::positionMapType [protected] |
Definition at line 295 of file recorderbase.h.
Referenced by SavePositionMap().
QMutex RecorderBase::positionMapLock [mutable, protected] |
Definition at line 296 of file recorderbase.h.
Referenced by NuppelVideoRecorder::FinishRecording(), GetKeyframePosition(), GetKeyframePositions(), DTVRecorder::HandleH264Keyframe(), DTVRecorder::HandleKeyframe(), DTVRecorder::ResetForNewFile(), NuppelVideoRecorder::ResetForNewFile(), NuppelVideoRecorder::run(), SavePositionMap(), and NuppelVideoRecorder::UpdateSeekTable().
frm_pos_map_t RecorderBase::positionMap [protected] |
Definition at line 297 of file recorderbase.h.
Referenced by NuppelVideoRecorder::FinishRecording(), GetKeyframePosition(), GetKeyframePositions(), DTVRecorder::HandleH264Keyframe(), DTVRecorder::HandleKeyframe(), DTVRecorder::ResetForNewFile(), NuppelVideoRecorder::ResetForNewFile(), NuppelVideoRecorder::run(), SavePositionMap(), and NuppelVideoRecorder::UpdateSeekTable().
frm_pos_map_t RecorderBase::positionMapDelta [protected] |
Definition at line 298 of file recorderbase.h.
Referenced by NuppelVideoRecorder::FinishRecording(), DTVRecorder::HandleH264Keyframe(), DTVRecorder::HandleKeyframe(), DTVRecorder::ResetForNewFile(), NuppelVideoRecorder::ResetForNewFile(), NuppelVideoRecorder::run(), SavePositionMap(), and NuppelVideoRecorder::UpdateSeekTable().
MythTimer RecorderBase::positionMapTimer [protected] |
Definition at line 299 of file recorderbase.h.
Referenced by SavePositionMap().
QMutex RecorderBase::statisticsLock [mutable, protected] |
Definition at line 306 of file recorderbase.h.
Referenced by DTVRecorder::BufferedWrite(), ClearStatistics(), GetRecordingQuality(), and DTVRecorder::HandleTimestamps().
QDateTime RecorderBase::timeOfFirstData [protected] |
Definition at line 307 of file recorderbase.h.
Referenced by DTVRecorder::BufferedWrite(), ClearStatistics(), and GetRecordingQuality().
QDateTime RecorderBase::timeOfLatestData [protected] |
Definition at line 308 of file recorderbase.h.
Referenced by DTVRecorder::BufferedWrite(), ClearStatistics(), and GetRecordingQuality().
RecordingGaps RecorderBase::recordingGaps [protected] |
Definition at line 309 of file recorderbase.h.
Referenced by ClearStatistics(), GetRecordingQuality(), and DTVRecorder::HandleTimestamps().
1.7.6.1