|
MythTV
0.25-pre
|
This is the coordinating class of the Recorder Subsystem. More...
#include <tv_rec.h>
Public Member Functions | |
| TVRec (int capturecardnum) | |
| Performs instance initialiation not requiring access to database. | |
| ~TVRec (void) | |
| Stops the event and scanning threads and deletes any ChannelBase, RingBuffer, and RecorderBase instances. | |
| bool | Init (void) |
| Performs instance initialization, returns true on success. | |
| void | RecordPending (const ProgramInfo *rcinfo, int secsleft, bool hasLater) |
| Tells TVRec "rcinfo" is the next pending recording. | |
| RecStatusType | StartRecording (const ProgramInfo *rcinfo) |
| Tells TVRec to Start recording the program "rcinfo" as soon as possible. | |
| RecStatusType | GetRecordingStatus (void) const |
| void | StopRecording (bool killFile=false) |
| Changes from a recording state to kState_None. | |
| void | FinishRecording (void) |
| Tells TVRec to finish the current recording as soon as possible. | |
| void | FrontendReady (void) |
| Tells TVRec that the frontend's TV class is ready for messages. | |
| void | CancelNextRecording (bool cancel) |
| Tells TVRec to cancel the upcoming recording. | |
| ProgramInfo * | GetRecording (void) |
| Allocates and returns a ProgramInfo for the current recording. | |
| bool | IsRunning (void) const |
| Returns true if event loop has not been told to shut down. | |
| void | Stop (void) |
| Tells TVRec to stop event loop. | |
| TVState | GetState (void) const |
| Returns the TVState of the recorder. | |
| bool | IsPlaying (void) |
| Returns "state == kState_RecordingPreRecorded". | |
| bool | IsRecording (void) |
| Returns "state == kState_RecordingRecordedOnly". | |
| bool | SetVideoFiltersForChannel (uint sourceid, const QString &channum) |
| bool | IsBusy (TunedInputInfo *busy_input=NULL, int time_buffer=5) const |
| Returns true if the recorder is busy, or will be within the next time_buffer seconds. | |
| bool | IsReallyRecording (void) |
| Returns true if frontend can consider the recorder started. | |
| float | GetFramerate (void) |
| Returns recordering frame rate from the recorder. | |
| long long | GetFramesWritten (void) |
| Returns number of frames written to disk by recorder. | |
| long long | GetFilePosition (void) |
| Returns total number of bytes written by RingBuffer. | |
| long long | GetMaxBitrate (void) const |
| Returns the maximum bits per second this recorder can produce. | |
| int64_t | GetKeyframePosition (uint64_t desired) const |
| Returns byte position in RingBuffer of a keyframe according to recorder. | |
| bool | GetKeyframePositions (int64_t start, int64_t end, frm_pos_map_t &) const |
| Returns byte position in RingBuffer of a keyframes according to recorder. | |
| void | SpawnLiveTV (LiveTVChain *newchain, bool pip, QString startchan) |
| Tells TVRec to spawn a "Live TV" recorder. | |
| QString | GetChainID (void) |
| Get the chainid of the livetv instance. | |
| void | StopLiveTV (void) |
| Tells TVRec to stop a "Live TV" recorder. | |
| void | PauseRecorder (void) |
| Tells "recorder" to pause, used for channel and input changes. | |
| void | ToggleChannelFavorite (QString) |
| Toggles whether the current channel should be on our favorites list. | |
| void | SetLiveRecording (int recording) |
| Tells the Scheduler about changes to the recording status of the LiveTV recording. | |
| vector< InputInfo > | GetFreeInputs (const vector< uint > &excluded_cards) const |
| Returns the recorder's available inputs. | |
| QString | GetInput (void) const |
| Returns current input. | |
| QString | SetInput (QString input, uint requestType=kFlagDetect) |
| Changes to the specified input. | |
| void | ChangeChannel (ChannelChangeDirection dir) |
| Changes to a channel in the 'dir' channel change direction. | |
| void | SetChannel (QString name, uint requestType=kFlagDetect) |
| Changes to a named channel on the current tuner. | |
| int | SetSignalMonitoringRate (int msec, int notifyFrontend=1) |
| Sets the signal monitoring rate. | |
| int | GetPictureAttribute (PictureAttribute attr) |
| int | ChangePictureAttribute (PictureAdjustType type, PictureAttribute attr, bool direction) |
| Returns current value [0,100] if it succeeds, -1 otherwise. | |
| bool | CheckChannel (QString name) const |
| Checks if named channel exists on current tuner. | |
| bool | ShouldSwitchToAnotherCard (QString chanid) |
| Checks if named channel exists on current tuner, or another tuner. | |
| bool | CheckChannelPrefix (const QString &, uint &, bool &, QString &) |
| Checks a prefix against the channels in the DB. | |
| void | GetNextProgram (BrowseDirection direction, QString &title, QString &subtitle, QString &desc, QString &category, QString &starttime, QString &endtime, QString &callsign, QString &iconpath, QString &channelname, uint &chanid, QString &seriesid, QString &programid) |
| bool | GetChannelInfo (uint &chanid, uint &sourceid, QString &callsign, QString &channum, QString &channame, QString &xmltvid) const |
| bool | SetChannelInfo (uint chanid, uint sourceid, QString oldchannum, QString callsign, QString channum, QString channame, QString xmltvid) |
| uint | GetCaptureCardNum (void) |
| Returns the caputure card number. | |
| bool | IsErrored (void) const |
| Returns true is "errored" is true, false otherwise. | |
| void | RingBufferChanged (RingBuffer *, ProgramInfo *, RecordingQuality *) |
| void | RecorderPaused (void) |
| This is a callback, called by the "recorder" instance when it has actually paused. | |
| void | SetNextLiveTVDir (QString dir) |
| uint | GetFlags (void) const |
| virtual void | AllGood (void) |
| Signal to be sent when you have a lock on all values. | |
| virtual void | StatusChannelTuned (const SignalMonitorValue &) |
| Signal to be sent with change change status. | |
| virtual void | StatusSignalLock (const SignalMonitorValue &) |
| Signal to be sent as true when it is safe to begin or continue recording, and false if it may not be safe. | |
| virtual void | StatusSignalStrength (const SignalMonitorValue &) |
| Signal to be sent with an actual signal value. | |
Static Public Member Functions | |
| static TVRec * | GetTVRec (uint cardid) |
Static Public Attributes | |
| static QMutex | cardsLock |
| static QMap< uint, TVRec * > | cards |
| static const uint | kSignalMonitoringRate = 50 |
| How many milliseconds the signal monitor should wait between checks. | |
| static const uint | kFlagFrontendReady = 0x00000001 |
| static const uint | kFlagRunMainLoop = 0x00000002 |
| static const uint | kFlagExitPlayer = 0x00000004 |
| static const uint | kFlagFinishRecording = 0x00000008 |
| static const uint | kFlagErrored = 0x00000010 |
| static const uint | kFlagCancelNextRecording = 0x00000020 |
| static const uint | kFlagLiveTV = 0x00000100 |
| final result desired is LiveTV recording | |
| static const uint | kFlagRecording = 0x00000200 |
| final result desired is a timed recording | |
| static const uint | kFlagAntennaAdjust = 0x00000400 |
| antenna adjusting mode (LiveTV without recording). | |
| static const uint | kFlagRec = 0x00000F00 |
| static const uint | kFlagEITScan = 0x00001000 |
| final result desired is an EIT Scan | |
| static const uint | kFlagCloseRec = 0x00002000 |
| close recorder, keep recording | |
| static const uint | kFlagKillRec = 0x00004000 |
| close recorder, discard recording | |
| static const uint | kFlagNoRec = 0x0000F000 |
| static const uint | kFlagKillRingBuffer = 0x00010000 |
| static const uint | kFlagWaitingForRecPause = 0x00100000 |
| static const uint | kFlagWaitingForSignal = 0x00200000 |
| static const uint | kFlagNeedToStartRecorder = 0x00800000 |
| static const uint | kFlagPendingActions = 0x00F00000 |
| static const uint | kFlagSignalMonitorRunning = 0x01000000 |
| static const uint | kFlagEITScannerRunning = 0x04000000 |
| static const uint | kFlagDummyRecorderRunning = 0x10000000 |
| static const uint | kFlagRecorderRunning = 0x20000000 |
| static const uint | kFlagAnyRecRunning = 0x30000000 |
| static const uint | kFlagAnyRunning = 0x3F000000 |
| static const uint | kFlagRingBufferReady = 0x40000000 |
| static const uint | kFlagDetect = 0x80000000 |
Protected Member Functions | |
| virtual void | run (void) |
| Event handling method, contains event loop. | |
| bool | WaitForEventThreadSleep (bool wake=true, ulong time=ULONG_MAX) |
| You MUST HAVE the stateChange-lock locked when you call this method! | |
Private Member Functions | |
| void | SetRingBuffer (RingBuffer *) |
| Sets "ringBuffer", deleting any existing RingBuffer. | |
| void | SetPseudoLiveTVRecording (ProgramInfo *) |
| Sets the pseudo LiveTV ProgramInfo. | |
| void | TeardownAll (void) |
| void | WakeEventLoop (void) |
| void | TeardownRecorder (uint request_flags) |
| Tears down the recorder. | |
| DTVRecorder * | GetDTVRecorder (void) |
| bool | CreateChannel (const QString &startChanNum, bool enter_power_save_mode) |
| void | CloseChannel (void) |
| DTVChannel * | GetDTVChannel (void) |
| V4LChannel * | GetV4LChannel (void) |
| bool | SetupSignalMonitor (bool enable_table_monitoring, bool EITscan, bool notify) |
| This creates a SignalMonitor instance and begins signal monitoring. | |
| bool | SetupDTVSignalMonitor (bool EITscan) |
| Tells DTVSignalMonitor what channel to look for. | |
| void | TeardownSignalMonitor (void) |
| If a SignalMonitor instance exists, the monitoring thread is stopped and the instance is deleted. | |
| DTVSignalMonitor * | GetDTVSignalMonitor (void) |
| bool | HasFlags (uint f) const |
| void | SetFlags (uint f) |
| void | ClearFlags (uint f) |
| void | HandleTuning (void) |
| Handles all tuning events. | |
| void | TuningShutdowns (const TuningRequest &) |
| This shuts down anything that needs to be shut down before handling the passed in tuning request. | |
| void | TuningFrequency (const TuningRequest &) |
| Performs initial tuning required for any tuning event. | |
| MPEGStreamData * | TuningSignalCheck (void) |
| This checks if we have a channel lock. | |
| void | TuningNewRecorder (MPEGStreamData *) |
| Creates a recorder instance. | |
| void | TuningRestartRecorder (void) |
| Restarts a stopped recorder or unpauses a paused recorder. | |
| QString | TuningGetChanNum (const TuningRequest &, QString &input) const |
| uint | TuningCheckForHWChange (const TuningRequest &, QString &channum, QString &inputname) |
| Returns cardid for device info row in capturecard if it changes. | |
| bool | TuningOnSameMultiplex (TuningRequest &request) |
| void | HandleStateChange (void) |
| Changes the internalState to the desiredNextState if possible. | |
| void | ChangeState (TVState nextState) |
| Puts a state change on the nextState queue. | |
| bool | StateIsRecording (TVState state) |
| Returns true if "state" is kState_RecordingOnly, or kState_WatchingLiveTV. | |
| bool | StateIsPlaying (TVState state) |
| Returns true if we are in any state associated with a player. | |
| TVState | RemovePlaying (TVState state) |
| Returns TVState that would remove the playing, but potentially keep recording if we are watching an in progress recording. | |
| TVState | RemoveRecording (TVState state) |
| If "state" is kState_RecordingOnly or kState_WatchingLiveTV, returns a kState_None, otherwise returns kState_Error. | |
| void | HandlePendingRecordings (void) |
| bool | WaitForNextLiveTVDir (void) |
| bool | GetProgramRingBufferForLiveTV (RecordingInfo **pginfo, RingBuffer **rb, const QString &channum, int inputID) |
| bool | CreateLiveTVRingBuffer (const QString &channum) |
| bool | SwitchLiveTVRingBuffer (const QString &channum, bool discont, bool set_rec) |
| RecordingInfo * | SwitchRecordingRingBuffer (const RecordingInfo &rcinfo) |
| void | StartedRecording (RecordingInfo *) |
| Inserts a "curRec" into the database. | |
| void | FinishedRecording (RecordingInfo *, RecordingQuality *) |
| If not a premature stop, adds program to history of recorded programs. | |
| QDateTime | GetRecordEndTime (const ProgramInfo *) const |
| Returns recording end time with proper post-roll. | |
| void | CheckForRecGroupChange (void) |
| Check if frontend changed the recording group. | |
| void | NotifySchedulerOfRecording (RecordingInfo *) |
| Tell scheduler about the recording. | |
| void | SetRecordingStatus (RecStatusType new_status, int line, bool have_lock=false) |
Static Private Member Functions | |
| static bool | GetDevices (uint cardid, GeneralDBOptions &general_opts, DVBDBOptions &dvb_opts, FireWireDBOptions &firewire_opts) |
| static QString | GetStartChannel (uint cardid, const QString &startinput) |
| static QString | FlagToString (uint) |
Private Attributes | |
| RecorderBase * | recorder |
| ChannelBase * | channel |
| SignalMonitor * | signalMonitor |
| EITScanner * | scanner |
| MThread * | eventThread |
| Event processing thread, runs TVRec::run(). | |
| MThread * | recorderThread |
| Recorder thread, runs RecorderBase::run(). | |
| bool | transcodeFirst |
| bool | earlyCommFlag |
| bool | runJobOnHostOnly |
| int | eitCrawlIdleStart |
| int | eitTransportTimeout |
| int | audioSampleRateDB |
| int | overRecordSecNrml |
| int | overRecordSecCat |
| QString | overRecordCategory |
| InputGroupMap | igrp |
| uint | cardid |
| bool | ispip |
| GeneralDBOptions | genOpt |
| DVBDBOptions | dvbOpt |
| FireWireDBOptions | fwOpt |
| QMutex | stateChangeLock |
| QMutex | pendingRecLock |
| TVState | internalState |
| TVState | desiredNextState |
| bool | changeState |
| bool | pauseNotify |
| uint | stateFlags |
| TuningQueue | tuningRequests |
| TuningRequest | lastTuningRequest |
| QDateTime | eitScanStartTime |
| QMutex | triggerEventLoopLock |
| QWaitCondition | triggerEventLoopWait |
| bool | triggerEventLoopSignal |
| QMutex | triggerEventSleepLock |
| QWaitCondition | triggerEventSleepWait |
| bool | triggerEventSleepSignal |
| volatile bool | switchingBuffer |
| RecStatusType | m_recStatus |
| RecordingInfo * | curRecording |
| QDateTime | recordEndTime |
| int | autoRunJobs |
| int | overrecordseconds |
| PendingMap | pendingRecordings |
| ProgramInfo * | pseudoLiveTVRecording |
| QString | nextLiveTVDir |
| QMutex | nextLiveTVDirLock |
| QWaitCondition | triggerLiveTVDir |
| QString | LiveTVStartChannel |
| LiveTVChain * | tvchain |
| RingBuffer * | ringBuffer |
| QString | rbFileExt |
Friends | |
| class | TuningRequest |
| class | TVRecRecordThread |
This is the coordinating class of the Recorder Subsystem.
TVRec is used by EncoderLink, which in turn is used by RemoteEncoder which allows the TV class on the frontend to communicate with TVRec and is used by MainServer to implement portions of the MythTV Network Protocol on the backend.
TVRec contains an instance of RecorderBase, which actually handles the recording of a program. It also contains an instance of RingBuffer, which in this case is used to either stream an existing recording to the frontend, or to save a stream from the RecorderBase to disk. Finally, if there is a tuner on the hardware RecorderBase is implementing then TVRec contains a channel instance for that hardware, and possibly a SignalMonitor instance which monitors the signal quality on a tuners current input.
| TVRec::TVRec | ( | int | capturecardnum | ) |
Performs instance initialiation not requiring access to database.
| capturecardnum | Capture card number |
Definition at line 81 of file tv_rec.cpp.
| TVRec::~TVRec | ( | void | ) |
Stops the event and scanning threads and deletes any ChannelBase, RingBuffer, and RecorderBase instances.
Definition at line 182 of file tv_rec.cpp.
| bool TVRec::Init | ( | void | ) |
Performs instance initialization, returns true on success.
Definition at line 145 of file tv_rec.cpp.
Referenced by SetupSignalMonitor(), and setupTVs().
| void TVRec::RecordPending | ( | const ProgramInfo * | rcinfo, |
| int | secsleft, | ||
| bool | hasLater | ||
| ) |
Tells TVRec "rcinfo" is the next pending recording.
When there is a pending recording and the frontend is in "Live TV" mode the TVRec event loop will send a "ASK_RECORDING" message to it. Depending on what that query returns, the recording will be started or not started.
| rcinfo | ProgramInfo on pending program. |
| secsleft | Seconds left until pending recording begins. Set to -1 to revoke the current pending recording. |
| hasLater | If true, a later non-conflicting showing is available. |
Definition at line 277 of file tv_rec.cpp.
Referenced by CancelNextRecording(), EncoderLink::RecordPending(), and RemoteRecordPending().
| RecStatusType TVRec::StartRecording | ( | const ProgramInfo * | rcinfo | ) |
Tells TVRec to Start recording the program "rcinfo" as soon as possible.
Definition at line 404 of file tv_rec.cpp.
Referenced by EncoderLink::StartRecording().
| RecStatusType TVRec::GetRecordingStatus | ( | void | ) | const |
Definition at line 664 of file tv_rec.cpp.
Referenced by EncoderLink::GetRecordingStatus(), and StartRecording().
| void TVRec::StopRecording | ( | bool | killFile = false | ) |
Changes from a recording state to kState_None.
Definition at line 698 of file tv_rec.cpp.
Referenced by RemoteStopRecording(), StartRecording(), and EncoderLink::StopRecording().
| void TVRec::FinishRecording | ( | void | ) | [inline] |
Tells TVRec to finish the current recording as soon as possible.
Definition at line 156 of file tv_rec.h.
Referenced by EncoderLink::FinishRecording().
| void TVRec::FrontendReady | ( | void | ) | [inline] |
Tells TVRec that the frontend's TV class is ready for messages.
Definition at line 158 of file tv_rec.h.
Referenced by EncoderLink::FrontendReady().
| void TVRec::CancelNextRecording | ( | bool | cancel | ) |
Tells TVRec to cancel the upcoming recording.
Definition at line 354 of file tv_rec.cpp.
Referenced by EncoderLink::CancelNextRecording(), and StartRecording().
Allocates and returns a ProgramInfo for the current recording.
Note: The user of this function must free the ProgramInfo this returns.
Definition at line 245 of file tv_rec.cpp.
Referenced by EncoderLink::GetRecording(), and EncoderLink::MatchesRecording().
| bool TVRec::IsRunning | ( | void | ) | const [inline] |
| void TVRec::Stop | ( | void | ) | [inline] |
| TVState TVRec::GetState | ( | void | ) | const |
Returns the TVState of the recorder.
If there is a pending state change kState_ChangingState is returned.
Definition at line 231 of file tv_rec.cpp.
Referenced by EncoderLink::GetState(), HandlePendingRecordings(), IsBusy(), RemoteGetState(), run(), SetSignalMonitoringRate(), StartRecording(), and StopRecording().
| bool TVRec::IsPlaying | ( | void | ) | [inline] |
| bool TVRec::IsRecording | ( | void | ) | [inline] |
Returns "state == kState_RecordingRecordedOnly".
| bool TVRec::SetVideoFiltersForChannel | ( | uint | sourceid, |
| const QString & | channum | ||
| ) |
Definition at line 2349 of file tv_rec.cpp.
Referenced by DTVChannel::SetChannelByString(), and TuningNewRecorder().
| bool TVRec::IsBusy | ( | TunedInputInfo * | busy_input = NULL, |
| int | time_buffer = 5 |
||
| ) | const |
Returns true if the recorder is busy, or will be within the next time_buffer seconds.
Definition at line 2380 of file tv_rec.cpp.
Referenced by ChannelBase::GetFreeInputs(), EncoderLink::IsBusy(), ChannelBase::IsInputAvailable(), and RemoteIsBusy().
Returns true if frontend can consider the recorder started.
Definition at line 2369 of file tv_rec.cpp.
Referenced by EncoderLink::IsReallyRecording().
| float TVRec::GetFramerate | ( | void | ) |
Returns recordering frame rate from the recorder.
Definition at line 2449 of file tv_rec.cpp.
Referenced by EncoderLink::GetFramerate().
| long long TVRec::GetFramesWritten | ( | void | ) |
Returns number of frames written to disk by recorder.
Definition at line 2464 of file tv_rec.cpp.
Referenced by FinishedRecording(), and EncoderLink::GetFramesWritten().
| long long TVRec::GetFilePosition | ( | void | ) |
Returns total number of bytes written by RingBuffer.
Definition at line 2479 of file tv_rec.cpp.
Referenced by EncoderLink::GetFilePosition().
| long long TVRec::GetMaxBitrate | ( | void | ) | const |
Returns the maximum bits per second this recorder can produce.
Definition at line 2528 of file tv_rec.cpp.
Referenced by EncoderLink::GetMaxBitrate().
| int64_t TVRec::GetKeyframePosition | ( | uint64_t | desired | ) | const |
Returns byte position in RingBuffer of a keyframe according to recorder.
Definition at line 2495 of file tv_rec.cpp.
Referenced by EncoderLink::GetKeyframePosition().
| bool TVRec::GetKeyframePositions | ( | int64_t | start, |
| int64_t | end, | ||
| frm_pos_map_t & | map | ||
| ) | const |
Returns byte position in RingBuffer of a keyframes according to recorder.
Definition at line 2512 of file tv_rec.cpp.
Referenced by EncoderLink::GetKeyframePositions().
| void TVRec::SpawnLiveTV | ( | LiveTVChain * | newchain, |
| bool | pip, | ||
| QString | startchan | ||
| ) |
Tells TVRec to spawn a "Live TV" recorder.
Definition at line 2548 of file tv_rec.cpp.
Referenced by EncoderLink::SpawnLiveTV().
| QString TVRec::GetChainID | ( | void | ) |
Get the chainid of the livetv instance.
Definition at line 2576 of file tv_rec.cpp.
Referenced by EncoderLink::GetChainID().
Tells TVRec to stop a "Live TV" recorder.
Definition at line 2756 of file tv_rec.cpp.
Referenced by RemoteStopLiveTV(), and EncoderLink::StopLiveTV().
Tells "recorder" to pause, used for channel and input changes.
When the RecorderBase instance has paused it calls RecorderPaused(void)
Definition at line 2799 of file tv_rec.cpp.
Referenced by EncoderLink::PauseRecorder().
| void TVRec::ToggleChannelFavorite | ( | QString | changroupname | ) |
Toggles whether the current channel should be on our favorites list.
Definition at line 2827 of file tv_rec.cpp.
Referenced by EncoderLink::ToggleChannelFavorite().
| void TVRec::SetLiveRecording | ( | int | recording | ) |
Tells the Scheduler about changes to the recording status of the LiveTV recording.
NOTE: Currently the 'recording' parameter is ignored and decisions are based on the recording group alone.
| recording | Set to 1 to mark as rsRecording, set to 0 to mark as rsCancelled, and set to -1 to base the decision of the recording group. |
Definition at line 2704 of file tv_rec.cpp.
Referenced by EncoderLink::SetLiveRecording().
| vector< InputInfo > TVRec::GetFreeInputs | ( | const vector< uint > & | excluded_cards | ) | const |
Returns the recorder's available inputs.
This filters out the connected inputs that belong to an input group which is busy. Recorders in the excluded cardids will not be considered busy for the sake of determining free inputs.
Definition at line 2916 of file tv_rec.cpp.
Referenced by EncoderLink::GetFreeInputs().
| QString TVRec::GetInput | ( | void | ) | const |
Returns current input.
Definition at line 2928 of file tv_rec.cpp.
Referenced by EncoderLink::GetInput(), and SetInput().
| QString TVRec::SetInput | ( | QString | input, |
| uint | requestType = kFlagDetect |
||
| ) |
Changes to the specified input.
You must call PauseRecorder(void) before calling this.
| input | Input to switch to, or "SwitchToNextInput". |
Definition at line 2943 of file tv_rec.cpp.
Referenced by EncoderLink::SetInput().
| void TVRec::ChangeChannel | ( | ChannelChangeDirection | dir | ) | [inline] |
Changes to a channel in the 'dir' channel change direction.
Definition at line 198 of file tv_rec.h.
Referenced by EncoderLink::ChangeChannel().
| void TVRec::SetChannel | ( | QString | name, |
| uint | requestType = kFlagDetect |
||
| ) |
Changes to a named channel on the current tuner.
You must call PauseRecorder() before calling this.
| name | channum of channel to change to |
| requestType | tells us what kind of request to actually send to the tuning thread, kFlagDetect is usually sufficient |
Definition at line 3002 of file tv_rec.cpp.
Referenced by EITScanner::run(), and EncoderLink::SetChannel().
| int TVRec::SetSignalMonitoringRate | ( | int | msec, |
| int | notifyFrontend = 1 |
||
| ) |
Sets the signal monitoring rate.
| rate | The update rate to use in milliseconds, use 0 to disable signal monitoring. |
| notifyFrontend | If 1, SIGNAL messages will be sent to the frontend using this recorder. |
Definition at line 2022 of file tv_rec.cpp.
Referenced by EncoderLink::SetSignalMonitoringRate().
Definition at line 2877 of file tv_rec.cpp.
Referenced by EncoderLink::GetPictureAttribute().
| int TVRec::ChangePictureAttribute | ( | PictureAdjustType | type, |
| PictureAttribute | attr, | ||
| bool | direction | ||
| ) |
Returns current value [0,100] if it succeeds, -1 otherwise.
Changes brightness/contrast/colour/hue of a recording.
Note: In practice this only works with frame grabbing recorders.
Note: In practice this only works with frame grabbing recorders.
Definition at line 2895 of file tv_rec.cpp.
Referenced by EncoderLink::ChangePictureAttribute().
| bool TVRec::CheckChannel | ( | QString | name | ) | const |
Checks if named channel exists on current tuner.
| name | channel to verify against current tuner. |
Definition at line 2165 of file tv_rec.cpp.
Referenced by EncoderLink::CheckChannel().
| bool TVRec::ShouldSwitchToAnotherCard | ( | QString | chanid | ) |
Checks if named channel exists on current tuner, or another tuner.
| chanid | channel to verify against tuners. |
Definition at line 2076 of file tv_rec.cpp.
Referenced by EncoderLink::ShouldSwitchToAnotherCard().
| bool TVRec::CheckChannelPrefix | ( | const QString & | prefix, |
| uint & | is_complete_valid_channel_on_rec, | ||
| bool & | is_extra_char_useful, | ||
| QString & | needed_spacer | ||
| ) |
Checks a prefix against the channels in the DB.
If the prefix matches a channel on any recorder this function returns true, otherwise it returns false.
If the prefix matches any channel entirely (i.e. prefix == channum), then the cardid of the recorder it matches is returned in 'is_complete_valid_channel_on_rec'; if it matches multiple recorders, and one of them is this recorder, this recorder is returned in 'is_complete_valid_channel_on_rec'; if it isn't complete for any channel on any recorder 'is_complete_valid_channel_on_rec' is set to zero.
If adding another character could reduce the number of channels the prefix matches 'is_extra_char_useful' is set to true, otherwise it is set to false.
Finally, if in order for the prefix to match a channel, a spacer needs to be added, the first matching spacer is returned in needed_spacer. If there is more than one spacer that might be employed and one of them is used for the current recorder, and others are used for other recorders, then the one for the current recorder is returned. The spacer must be inserted before the last character of the prefix for anything else returned from the function to be valid.
Definition at line 2213 of file tv_rec.cpp.
Referenced by EncoderLink::CheckChannelPrefix().
| void TVRec::GetNextProgram | ( | BrowseDirection | direction, |
| QString & | title, | ||
| QString & | subtitle, | ||
| QString & | desc, | ||
| QString & | category, | ||
| QString & | starttime, | ||
| QString & | endtime, | ||
| QString & | callsign, | ||
| QString & | iconpath, | ||
| QString & | channelname, | ||
| uint & | chanid, | ||
| QString & | seriesid, | ||
| QString & | programid | ||
| ) |
Definition at line 3032 of file tv_rec.cpp.
Referenced by EncoderLink::GetNextProgram().
| bool TVRec::GetChannelInfo | ( | uint & | chanid, |
| uint & | sourceid, | ||
| QString & | callsign, | ||
| QString & | channum, | ||
| QString & | channame, | ||
| QString & | xmltvid | ||
| ) | const |
Definition at line 3155 of file tv_rec.cpp.
Referenced by EncoderLink::GetChannelInfo().
| bool TVRec::SetChannelInfo | ( | uint | chanid, |
| uint | sourceid, | ||
| QString | oldchannum, | ||
| QString | callsign, | ||
| QString | channum, | ||
| QString | channame, | ||
| QString | xmltvid | ||
| ) |
Definition at line 3196 of file tv_rec.cpp.
Referenced by EncoderLink::SetChannelInfo().
| uint TVRec::GetCaptureCardNum | ( | void | ) | [inline] |
Returns the caputure card number.
Definition at line 224 of file tv_rec.h.
Referenced by ChannelBase::CreateChannel(), ChannelBase::GetCardID(), run(), EITScanner::StartActiveScan(), and TuningSignalCheck().
| bool TVRec::IsErrored | ( | void | ) | const [inline] |
| void TVRec::RingBufferChanged | ( | RingBuffer * | rb, |
| ProgramInfo * | pginfo, | ||
| RecordingQuality * | recq | ||
| ) |
Definition at line 3252 of file tv_rec.cpp.
Referenced by RecorderBase::CheckForRingBufferSwitch().
This is a callback, called by the "recorder" instance when it has actually paused.
Definition at line 2818 of file tv_rec.cpp.
Referenced by NuppelVideoRecorder::doAudioThread(), NuppelVideoRecorder::DoMJPEG(), NuppelVideoRecorder::DoV4L1(), NuppelVideoRecorder::DoV4L2(), NuppelVideoRecorder::doWriteThread(), DVBRecorder::PauseAndWait(), HDHRRecorder::PauseAndWait(), CetonRecorder::PauseAndWait(), MpegRecorder::PauseAndWait(), FirewireRecorder::PauseAndWait(), IPTVRecorder::PauseAndWait(), and RecorderBase::PauseAndWait().
| void TVRec::SetNextLiveTVDir | ( | QString | dir | ) |
Definition at line 4255 of file tv_rec.cpp.
Referenced by EncoderLink::SetNextLiveTVDir().
| uint TVRec::GetFlags | ( | void | ) | const [inline] |
Definition at line 233 of file tv_rec.h.
Referenced by EncoderLink::GetFlags(), HandleStateChange(), and RemoteGetFlags().
| TVRec * TVRec::GetTVRec | ( | uint | cardid | ) | [static] |
Definition at line 4512 of file tv_rec.cpp.
Referenced by RemoteGetFlags(), RemoteGetState(), RemoteIsBusy(), RemoteRecordPending(), RemoteStopLiveTV(), RemoteStopRecording(), and setupTVs().
| virtual void TVRec::AllGood | ( | void | ) | [inline, virtual] |
Signal to be sent when you have a lock on all values.
Note: Signals are only sent once the monitoring thread has been started.
Implements SignalMonitorListener.
| virtual void TVRec::StatusChannelTuned | ( | const SignalMonitorValue & | ) | [inline, virtual] |
Signal to be sent with change change status.
Note: Signals are only sent once the monitoring thread has been started.
Implements SignalMonitorListener.
| virtual void TVRec::StatusSignalLock | ( | const SignalMonitorValue & | ) | [inline, virtual] |
Signal to be sent as true when it is safe to begin or continue recording, and false if it may not be safe.
Note: Signals are only sent once the monitoring thread has been started.
Implements SignalMonitorListener.
| virtual void TVRec::StatusSignalStrength | ( | const SignalMonitorValue & | ) | [inline, virtual] |
Signal to be sent with an actual signal value.
Note: Signals are only sent once the monitoring thread has been started.
Implements SignalMonitorListener.
| void TVRec::run | ( | void | ) | [protected, virtual] |
Event handling method, contains event loop.
Definition at line 1199 of file tv_rec.cpp.
| bool TVRec::WaitForEventThreadSleep | ( | bool | wake = true, |
| ulong | time = ULONG_MAX |
||
| ) | [protected] |
You MUST HAVE the stateChange-lock locked when you call this method!
Definition at line 1425 of file tv_rec.cpp.
Referenced by Init(), SetChannel(), SetInput(), SetSignalMonitoringRate(), SpawnLiveTV(), StartRecording(), StopLiveTV(), and StopRecording().
| void TVRec::SetRingBuffer | ( | RingBuffer * | rb | ) | [private] |
Sets "ringBuffer", deleting any existing RingBuffer.
Definition at line 3235 of file tv_rec.cpp.
Referenced by CreateLiveTVRingBuffer(), RingBufferChanged(), SwitchLiveTVRingBuffer(), TeardownAll(), TuningNewRecorder(), and TuningShutdowns().
| void TVRec::SetPseudoLiveTVRecording | ( | ProgramInfo * | pi | ) | [private] |
Sets the pseudo LiveTV ProgramInfo.
Definition at line 330 of file tv_rec.cpp.
Referenced by CheckForRecGroupChange(), HandleStateChange(), run(), and StartRecording().
| void TVRec::TeardownAll | ( | void | ) | [private] |
Definition at line 189 of file tv_rec.cpp.
Referenced by ~TVRec().
| void TVRec::WakeEventLoop | ( | void | ) | [private] |
Definition at line 218 of file tv_rec.cpp.
Referenced by ChangeState(), ClearFlags(), RecorderPaused(), SetFlags(), and WaitForEventThreadSleep().
| bool TVRec::GetDevices | ( | uint | cardid, |
| GeneralDBOptions & | general_opts, | ||
| DVBDBOptions & | dvb_opts, | ||
| FireWireDBOptions & | firewire_opts | ||
| ) | [static, private] |
Definition at line 1532 of file tv_rec.cpp.
Referenced by Init(), and TuningShutdowns().
| QString TVRec::GetStartChannel | ( | uint | cardid, |
| const QString & | startinput | ||
| ) | [static, private] |
Definition at line 1615 of file tv_rec.cpp.
Referenced by Init(), TuningCheckForHWChange(), and TuningGetChanNum().
| void TVRec::TeardownRecorder | ( | uint | request_flags | ) | [private] |
Tears down the recorder.
If a "recorder" exists, RecorderBase::StopRecording() is called. We then wait for "recorder_thread" to exit, and finally we delete "recorder".
If a RingBuffer instance exists, RingBuffer::StopReads() is called.
If request_flags include kFlagKillRec we mark the recording as being damaged.
Finally, if there was a recording and it was not damaged, schedule any post-processing jobs.
Definition at line 1055 of file tv_rec.cpp.
Referenced by TeardownAll(), TuningNewRecorder(), and TuningShutdowns().
| DTVRecorder * TVRec::GetDTVRecorder | ( | void | ) | [private] |
Definition at line 1103 of file tv_rec.cpp.
Referenced by SetupDTVSignalMonitor(), TuningFrequency(), TuningNewRecorder(), TuningOnSameMultiplex(), and TuningShutdowns().
| bool TVRec::CreateChannel | ( | const QString & | startChanNum, |
| bool | enter_power_save_mode | ||
| ) | [private] |
Definition at line 124 of file tv_rec.cpp.
Referenced by Init(), and TuningShutdowns().
| void TVRec::CloseChannel | ( | void | ) | [private] |
Definition at line 1108 of file tv_rec.cpp.
Referenced by TuningNewRecorder(), and TuningShutdowns().
| DTVChannel * TVRec::GetDTVChannel | ( | void | ) | [private] |
Definition at line 1118 of file tv_rec.cpp.
Referenced by run(), SetupDTVSignalMonitor(), TeardownRecorder(), TeardownSignalMonitor(), and TuningFrequency().
| V4LChannel * TVRec::GetV4LChannel | ( | void | ) | [private] |
Definition at line 1123 of file tv_rec.cpp.
Referenced by TeardownRecorder(), TuningNewRecorder(), and TuningRestartRecorder().
| bool TVRec::SetupSignalMonitor | ( | bool | enable_table_monitoring, |
| bool | EITscan, | ||
| bool | notify | ||
| ) | [private] |
This creates a SignalMonitor instance and begins signal monitoring.
If the channel exists and there is something to monitor a SignalMonitor instance is created and SignalMonitor::Start() is called to start the signal monitoring thread.
| tablemon | If set we enable table monitoring |
| notify | If set we notify the frontend of the signal values |
Definition at line 1933 of file tv_rec.cpp.
Referenced by TuningFrequency().
| bool TVRec::SetupDTVSignalMonitor | ( | bool | EITscan | ) | [private] |
Tells DTVSignalMonitor what channel to look for.
If the major and minor channels are set we tell the signal monitor to look for those in the VCT.
Otherwise, we tell the signal monitor to look for the MPEG program number in the PAT.
This method also grabs the ATSCStreamData() from the recorder if possible, or creates one if needed.
| EITscan | if set we never look for video streams and we lock on encrypted streams even if we can't decode them. |
Definition at line 1754 of file tv_rec.cpp.
Referenced by SetupSignalMonitor().
| void TVRec::TeardownSignalMonitor | ( | void | ) | [private] |
If a SignalMonitor instance exists, the monitoring thread is stopped and the instance is deleted.
Definition at line 1984 of file tv_rec.cpp.
Referenced by TeardownAll(), TuningShutdowns(), and TuningSignalCheck().
| DTVSignalMonitor * TVRec::GetDTVSignalMonitor | ( | void | ) | [private] |
Definition at line 2060 of file tv_rec.cpp.
Referenced by SetupDTVSignalMonitor(), SetupSignalMonitor(), TeardownSignalMonitor(), TuningFrequency(), TuningShutdowns(), and TuningSignalCheck().
| bool TVRec::HasFlags | ( | uint | f | ) | const [inline, private] |
Definition at line 274 of file tv_rec.h.
Referenced by FinishedRecording(), HandleStateChange(), HandleTuning(), IsReallyRecording(), run(), SetChannel(), SetInput(), SetRingBuffer(), SetSignalMonitoringRate(), TeardownAll(), TeardownRecorder(), TuningFrequency(), TuningNewRecorder(), TuningRestartRecorder(), TuningShutdowns(), and TuningSignalCheck().
| void TVRec::SetFlags | ( | uint | f | ) | [private] |
Definition at line 4143 of file tv_rec.cpp.
Referenced by CreateChannel(), HandleTuning(), run(), SetLiveRecording(), SpawnLiveTV(), StopRecording(), SwitchLiveTVRingBuffer(), SwitchRecordingRingBuffer(), TuningFrequency(), and TuningNewRecorder().
| void TVRec::ClearFlags | ( | uint | f | ) | [private] |
Definition at line 4152 of file tv_rec.cpp.
Referenced by CreateLiveTVRingBuffer(), HandleStateChange(), HandleTuning(), NotifySchedulerOfRecording(), run(), SetChannel(), SetInput(), SetRingBuffer(), SetSignalMonitoringRate(), StartRecording(), StopRecording(), TeardownAll(), TeardownRecorder(), TuningFrequency(), TuningNewRecorder(), TuningRestartRecorder(), TuningShutdowns(), and TuningSignalCheck().
| QString TVRec::FlagToString | ( | uint | f | ) | [static, private] |
Definition at line 4161 of file tv_rec.cpp.
Referenced by ClearFlags(), SetFlags(), and TuningRequest::toString().
| void TVRec::HandleTuning | ( | void | ) | [private] |
Handles all tuning events.
This method pops tuning events off the tuningState queue and does what needs to be done, mostly by calling one of the Tuning... methods.
Definition at line 3363 of file tv_rec.cpp.
Referenced by run().
| void TVRec::TuningShutdowns | ( | const TuningRequest & | request | ) | [private] |
This shuts down anything that needs to be shut down before handling the passed in tuning request.
Definition at line 3475 of file tv_rec.cpp.
Referenced by HandleTuning().
| void TVRec::TuningFrequency | ( | const TuningRequest & | request | ) | [private] |
Performs initial tuning required for any tuning event.
This figures out the channel name, and possibly the input name we need to pass to "channel" and then calls channel appropriately.
Then it adds any filters and sets any video capture attributes that need to be set.
The signal monitoring is started if possible. If it is started the kFlagWaitForSignal flag is set.
The kFlagNeedToStartRecorder flag is ald set if this isn't an EIT scan so that the recorder is started or restarted a appropriate.
Definition at line 3573 of file tv_rec.cpp.
Referenced by HandleTuning().
| MPEGStreamData * TVRec::TuningSignalCheck | ( | void | ) | [private] |
This checks if we have a channel lock.
If we have a channel lock this shuts down the signal monitoring.
Definition at line 3758 of file tv_rec.cpp.
Referenced by HandleTuning().
| void TVRec::TuningNewRecorder | ( | MPEGStreamData * | streamData | ) | [private] |
Creates a recorder instance.
Definition at line 3911 of file tv_rec.cpp.
Referenced by HandleTuning().
| void TVRec::TuningRestartRecorder | ( | void | ) | [private] |
Restarts a stopped recorder or unpauses a paused recorder.
Definition at line 4075 of file tv_rec.cpp.
Referenced by HandleTuning().
| QString TVRec::TuningGetChanNum | ( | const TuningRequest & | request, |
| QString & | input | ||
| ) | const [private] |
Definition at line 3274 of file tv_rec.cpp.
Referenced by HandleTuning().
| uint TVRec::TuningCheckForHWChange | ( | const TuningRequest & | request, |
| QString & | channum, | ||
| QString & | inputname | ||
| ) | [private] |
Returns cardid for device info row in capturecard if it changes.
Definition at line 3434 of file tv_rec.cpp.
Referenced by TuningShutdowns().
| bool TVRec::TuningOnSameMultiplex | ( | TuningRequest & | request | ) | [private] |
Definition at line 3312 of file tv_rec.cpp.
Referenced by HandleTuning().
| void TVRec::HandleStateChange | ( | void | ) | [private] |
Changes the internalState to the desiredNextState if possible.
Note: There must exist a state transition from any state we can enter to the kState_None state, as this is used to shutdown TV in RunTV.
Definition at line 956 of file tv_rec.cpp.
Referenced by run().
| void TVRec::ChangeState | ( | TVState | nextState | ) | [private] |
Puts a state change on the nextState queue.
Definition at line 1033 of file tv_rec.cpp.
Referenced by CreateLiveTVRingBuffer(), run(), SpawnLiveTV(), StartRecording(), StopLiveTV(), StopRecording(), SwitchLiveTVRingBuffer(), TuningFrequency(), and TuningNewRecorder().
| bool TVRec::StateIsRecording | ( | TVState | state | ) | [private] |
Returns true if "state" is kState_RecordingOnly, or kState_WatchingLiveTV.
| state | TVState to check. |
Definition at line 719 of file tv_rec.cpp.
Referenced by RemoveRecording(), and StopRecording().
| bool TVRec::StateIsPlaying | ( | TVState | state | ) | [private] |
Returns true if we are in any state associated with a player.
| state | TVState to check. |
Definition at line 729 of file tv_rec.cpp.
Referenced by RemovePlaying(), and run().
| TVState TVRec::RemovePlaying | ( | TVState | state | ) | [private] |
Returns TVState that would remove the playing, but potentially keep recording if we are watching an in progress recording.
| state | TVState to check. |
Definition at line 755 of file tv_rec.cpp.
Referenced by run().
| TVState TVRec::RemoveRecording | ( | TVState | state | ) | [private] |
If "state" is kState_RecordingOnly or kState_WatchingLiveTV, returns a kState_None, otherwise returns kState_Error.
| state | TVState to check. |
Definition at line 739 of file tv_rec.cpp.
Referenced by StopRecording().
| void TVRec::HandlePendingRecordings | ( | void | ) | [private] |
Definition at line 1462 of file tv_rec.cpp.
Referenced by run().
| bool TVRec::WaitForNextLiveTVDir | ( | void | ) | [private] |
Definition at line 4242 of file tv_rec.cpp.
Referenced by GetProgramRingBufferForLiveTV().
| bool TVRec::GetProgramRingBufferForLiveTV | ( | RecordingInfo ** | pginfo, |
| RingBuffer ** | rb, | ||
| const QString & | channum, | ||
| int | inputID | ||
| ) | [private] |
Definition at line 4263 of file tv_rec.cpp.
Referenced by CreateLiveTVRingBuffer(), and SwitchLiveTVRingBuffer().
| bool TVRec::CreateLiveTVRingBuffer | ( | const QString & | channum | ) | [private] |
Definition at line 4359 of file tv_rec.cpp.
Referenced by TuningFrequency(), and TuningNewRecorder().
| bool TVRec::SwitchLiveTVRingBuffer | ( | const QString & | channum, |
| bool | discont, | ||
| bool | set_rec | ||
| ) | [private] |
Definition at line 4408 of file tv_rec.cpp.
Referenced by run(), TuningFrequency(), TuningNewRecorder(), and TuningRestartRecorder().
| RecordingInfo * TVRec::SwitchRecordingRingBuffer | ( | const RecordingInfo & | rcinfo | ) | [private] |
Definition at line 4472 of file tv_rec.cpp.
Referenced by StartRecording().
| void TVRec::StartedRecording | ( | RecordingInfo * | curRec | ) | [private] |
Inserts a "curRec" into the database.
| curRec | Recording to add to database. |
Definition at line 775 of file tv_rec.cpp.
Referenced by GetProgramRingBufferForLiveTV(), StartRecording(), and SwitchRecordingRingBuffer().
| void TVRec::FinishedRecording | ( | RecordingInfo * | curRec, |
| RecordingQuality * | recq | ||
| ) | [private] |
If not a premature stop, adds program to history of recorded programs.
If the recording type is kFindOneRecord this find is removed.
| curRec | ProgramInfo or recording to mark as done |
Definition at line 796 of file tv_rec.cpp.
Referenced by RingBufferChanged(), SwitchLiveTVRingBuffer(), SwitchRecordingRingBuffer(), TeardownRecorder(), TuningNewRecorder(), TuningRestartRecorder(), and TuningShutdowns().
| QDateTime TVRec::GetRecordEndTime | ( | const ProgramInfo * | pi | ) | const [private] |
Returns recording end time with proper post-roll.
Definition at line 341 of file tv_rec.cpp.
Referenced by RingBufferChanged(), SetLiveRecording(), StartRecording(), StopLiveTV(), and SwitchRecordingRingBuffer().
| void TVRec::CheckForRecGroupChange | ( | void | ) | [private] |
Check if frontend changed the recording group.
This is needed because the frontend may toggle whether something should be kept as a recording in the frontend, but this class may not find out about it in time unless we check the DB when this information is important.
Definition at line 2591 of file tv_rec.cpp.
Referenced by HandlePendingRecordings(), SetLiveRecording(), and StopLiveTV().
| void TVRec::NotifySchedulerOfRecording | ( | RecordingInfo * | rec | ) | [private] |
Tell scheduler about the recording.
This is needed if the frontend has marked the LiveTV buffer for recording after we exit LiveTV. In this case the scheduler needs to know about the recording so it can properly take overrecord into account, and to properly reschedule other recordings around to avoid this recording.
Definition at line 2646 of file tv_rec.cpp.
Referenced by SetLiveRecording(), and StopLiveTV().
| void TVRec::SetRecordingStatus | ( | RecStatusType | new_status, |
| int | line, | ||
| bool | have_lock = false |
||
| ) | [private] |
Definition at line 670 of file tv_rec.cpp.
Referenced by Init(), StartRecording(), StopRecording(), and TuningSignalCheck().
friend class TuningRequest [friend] |
Definition at line 141 of file tv_rec.h.
Referenced by HandleStateChange(), SetChannel(), SetInput(), SetSignalMonitoringRate(), and TuningFrequency().
friend class TVRecRecordThread [friend] |
RecorderBase* TVRec::recorder [private] |
Definition at line 320 of file tv_rec.h.
Referenced by GetDTVRecorder(), GetFramerate(), GetFramesWritten(), GetKeyframePosition(), GetKeyframePositions(), HandleTuning(), IsReallyRecording(), PauseRecorder(), run(), SetVideoFiltersForChannel(), SwitchLiveTVRingBuffer(), SwitchRecordingRingBuffer(), TeardownRecorder(), TuningFrequency(), TuningNewRecorder(), and TuningRestartRecorder().
ChannelBase* TVRec::channel [private] |
Definition at line 321 of file tv_rec.h.
Referenced by ChangePictureAttribute(), CheckChannel(), CloseChannel(), CreateChannel(), CreateLiveTVRingBuffer(), nv_python_libs.mashups.mashups_api.Videos::displayTreeView(), nv_python_libs.hulu.hulu_api.Videos::displayTreeView(), nv_python_libs.bbciplayer.bbciplayer_api.Videos::displayTreeView(), nv_python_libs.rev3.rev3_api.Videos::displayTreeView(), GetChannelInfo(), GetDTVChannel(), GetFreeInputs(), GetInput(), GetNextProgram(), GetPictureAttribute(), GetProgramRingBufferForLiveTV(), nv_python_libs.vimeo.vimeo_api.Videos::getTreeVideos(), GetV4LChannel(), nv_python_libs.mtv.mtv_api.Videos::getVideosForURL(), nv_python_libs.youtube.youtube_api.Videos::getVideosForURL(), HandleTuning(), IsBusy(), NotifySchedulerOfRecording(), run(), nv_python_libs.mnvsearch.mnvsearch_api.Videos::searchForVideos(), nv_python_libs.mashups.mashups_api.Videos::searchForVideos(), nv_python_libs.tedtalks.tedtalks_api.Videos::searchForVideos(), nv_python_libs.hulu.hulu_api.Videos::searchForVideos(), nv_python_libs.bbciplayer.bbciplayer_api.Videos::searchForVideos(), nv_python_libs.thewb.thewb_api.Videos::searchForVideos(), nv_python_libs.rev3.rev3_api.Videos::searchForVideos(), nv_python_libs.mnvsearch.mnvsearch_api.Videos::searchTitle(), nv_python_libs.hulu.hulu_api.Videos::searchTitle(), nv_python_libs.bbciplayer.bbciplayer_api.Videos::searchTitle(), nv_python_libs.thewb.thewb_api.Videos::searchTitle(), nv_python_libs.youtube.youtube_api.Videos::searchTitle(), nv_python_libs.rev3.rev3_api.Videos::searchTitle(), nv_python_libs.vimeo.vimeo_api.Videos::searchTitle(), SetChannelInfo(), SetInput(), SetSignalMonitoringRate(), SetupDTVSignalMonitor(), SetupSignalMonitor(), SwitchLiveTVRingBuffer(), TeardownAll(), TeardownRecorder(), ToggleChannelFavorite(), TuningCheckForHWChange(), TuningFrequency(), TuningGetChanNum(), TuningNewRecorder(), TuningOnSameMultiplex(), TuningRestartRecorder(), TuningShutdowns(), and TuningSignalCheck().
SignalMonitor* TVRec::signalMonitor [private] |
Definition at line 322 of file tv_rec.h.
Referenced by GetDTVSignalMonitor(), SetupSignalMonitor(), TeardownSignalMonitor(), TuningFrequency(), TuningOnSameMultiplex(), and TuningSignalCheck().
EITScanner* TVRec::scanner [private] |
Definition at line 323 of file tv_rec.h.
Referenced by HandleStateChange(), run(), TeardownAll(), TuningShutdowns(), and TuningSignalCheck().
MThread* TVRec::eventThread [private] |
Event processing thread, runs TVRec::run().
Definition at line 327 of file tv_rec.h.
Referenced by Init(), and TeardownAll().
MThread* TVRec::recorderThread [private] |
Recorder thread, runs RecorderBase::run().
Definition at line 329 of file tv_rec.h.
Referenced by TeardownRecorder(), and TuningNewRecorder().
bool TVRec::transcodeFirst [private] |
Definition at line 332 of file tv_rec.h.
Referenced by Init(), SetLiveRecording(), TuningNewRecorder(), and TuningRestartRecorder().
bool TVRec::earlyCommFlag [private] |
Definition at line 333 of file tv_rec.h.
Referenced by Init(), SetLiveRecording(), TuningNewRecorder(), and TuningRestartRecorder().
bool TVRec::runJobOnHostOnly [private] |
Definition at line 334 of file tv_rec.h.
Referenced by Init(), SetLiveRecording(), TuningNewRecorder(), and TuningRestartRecorder().
int TVRec::eitCrawlIdleStart [private] |
Definition at line 335 of file tv_rec.h.
Referenced by HandleStateChange(), Init(), and run().
int TVRec::eitTransportTimeout [private] |
int TVRec::audioSampleRateDB [private] |
int TVRec::overRecordSecNrml [private] |
Definition at line 338 of file tv_rec.h.
Referenced by GetRecordEndTime(), and Init().
int TVRec::overRecordSecCat [private] |
Definition at line 339 of file tv_rec.h.
Referenced by GetRecordEndTime(), and Init().
QString TVRec::overRecordCategory [private] |
Definition at line 340 of file tv_rec.h.
Referenced by GetRecordEndTime(), and Init().
InputGroupMap TVRec::igrp [private] |
Definition at line 341 of file tv_rec.h.
Referenced by StartRecording().
uint TVRec::cardid [private] |
Definition at line 344 of file tv_rec.h.
Referenced by CancelNextRecording(), CheckChannelPrefix(), FinishedRecording(), GetProgramRingBufferForLiveTV(), GetRecording(), HandlePendingRecordings(), Init(), IsBusy(), NotifySchedulerOfRecording(), RecordPending(), run(), SetupSignalMonitor(), ShouldSwitchToAnotherCard(), StartRecording(), TuningFrequency(), TuningGetChanNum(), TuningNewRecorder(), TuningSignalCheck(), TVRec(), and ~TVRec().
bool TVRec::ispip [private] |
Definition at line 345 of file tv_rec.h.
Referenced by SpawnLiveTV(), and TeardownRecorder().
GeneralDBOptions TVRec::genOpt [private] |
Definition at line 348 of file tv_rec.h.
Referenced by CloseChannel(), CreateChannel(), GetMaxBitrate(), GetProgramRingBufferForLiveTV(), Init(), run(), SetLiveRecording(), SetSignalMonitoringRate(), SetupDTVSignalMonitor(), SetupSignalMonitor(), SpawnLiveTV(), SwitchRecordingRingBuffer(), TuningFrequency(), TuningNewRecorder(), TuningRestartRecorder(), and TuningShutdowns().
DVBDBOptions TVRec::dvbOpt [private] |
Definition at line 349 of file tv_rec.h.
Referenced by CloseChannel(), CreateChannel(), Init(), run(), TuningNewRecorder(), and TuningShutdowns().
FireWireDBOptions TVRec::fwOpt [private] |
Definition at line 350 of file tv_rec.h.
Referenced by CreateChannel(), Init(), and TuningShutdowns().
QMutex TVRec::stateChangeLock [mutable, private] |
Definition at line 353 of file tv_rec.h.
Referenced by ChangePictureAttribute(), ChangeState(), CheckForRecGroupChange(), ClearFlags(), GetFilePosition(), GetFramerate(), GetFramesWritten(), GetKeyframePosition(), GetKeyframePositions(), GetPictureAttribute(), GetRecording(), Init(), PauseRecorder(), RecordPending(), run(), SetChannel(), SetFlags(), SetInput(), SetLiveRecording(), SetRingBuffer(), SetSignalMonitoringRate(), SpawnLiveTV(), StartRecording(), StopLiveTV(), StopRecording(), TeardownRecorder(), ToggleChannelFavorite(), TuningNewRecorder(), TuningShutdowns(), and WaitForEventThreadSleep().
QMutex TVRec::pendingRecLock [mutable, private] |
Definition at line 354 of file tv_rec.h.
Referenced by CancelNextRecording(), GetRecordingStatus(), HandlePendingRecordings(), IsBusy(), RecordPending(), run(), SetRecordingStatus(), and StartRecording().
TVState TVRec::internalState [private] |
Definition at line 355 of file tv_rec.h.
Referenced by CheckForRecGroupChange(), GetState(), HandleStateChange(), run(), StartRecording(), StopLiveTV(), and TuningFrequency().
TVState TVRec::desiredNextState [private] |
Definition at line 356 of file tv_rec.h.
Referenced by ChangeState(), and HandleStateChange().
bool TVRec::changeState [private] |
Definition at line 357 of file tv_rec.h.
Referenced by ChangeState(), GetRecording(), GetState(), HandleStateChange(), run(), and WaitForEventThreadSleep().
bool TVRec::pauseNotify [private] |
Definition at line 358 of file tv_rec.h.
Referenced by RecorderPaused(), and TeardownRecorder().
uint TVRec::stateFlags [private] |
Definition at line 359 of file tv_rec.h.
Referenced by ClearFlags(), and SetFlags().
TuningQueue TVRec::tuningRequests [private] |
Definition at line 360 of file tv_rec.h.
Referenced by HandleStateChange(), HandleTuning(), run(), SetChannel(), SetInput(), SetSignalMonitoringRate(), TuningFrequency(), and WaitForEventThreadSleep().
TuningRequest TVRec::lastTuningRequest [private] |
Definition at line 361 of file tv_rec.h.
Referenced by HandleTuning(), SetChannel(), SetInput(), SetupDTVSignalMonitor(), and TuningNewRecorder().
QDateTime TVRec::eitScanStartTime [private] |
Definition at line 362 of file tv_rec.h.
Referenced by HandleStateChange(), and run().
QMutex TVRec::triggerEventLoopLock [mutable, private] |
Definition at line 363 of file tv_rec.h.
Referenced by run(), and WakeEventLoop().
QWaitCondition TVRec::triggerEventLoopWait [private] |
Definition at line 364 of file tv_rec.h.
Referenced by run(), and WakeEventLoop().
bool TVRec::triggerEventLoopSignal [private] |
Definition at line 365 of file tv_rec.h.
Referenced by run(), and WakeEventLoop().
QMutex TVRec::triggerEventSleepLock [mutable, private] |
Definition at line 366 of file tv_rec.h.
Referenced by run(), and WaitForEventThreadSleep().
QWaitCondition TVRec::triggerEventSleepWait [private] |
Definition at line 367 of file tv_rec.h.
Referenced by run(), and WaitForEventThreadSleep().
bool TVRec::triggerEventSleepSignal [private] |
Definition at line 368 of file tv_rec.h.
Referenced by run(), and WaitForEventThreadSleep().
volatile bool TVRec::switchingBuffer [private] |
Definition at line 369 of file tv_rec.h.
Referenced by run(), SetRingBuffer(), and SwitchRecordingRingBuffer().
RecStatusType TVRec::m_recStatus [private] |
Definition at line 370 of file tv_rec.h.
Referenced by GetRecordingStatus(), SetRecordingStatus(), and StartRecording().
RecordingInfo* TVRec::curRecording [private] |
Definition at line 373 of file tv_rec.h.
Referenced by CheckForRecGroupChange(), CreateLiveTVRingBuffer(), FinishedRecording(), GetRecording(), HandleStateChange(), RingBufferChanged(), run(), SetLiveRecording(), StartRecording(), StopLiveTV(), SwitchLiveTVRingBuffer(), SwitchRecordingRingBuffer(), TeardownRecorder(), TuningFrequency(), TuningNewRecorder(), TuningRestartRecorder(), TuningShutdowns(), and TuningSignalCheck().
QDateTime TVRec::recordEndTime [private] |
Definition at line 374 of file tv_rec.h.
Referenced by RingBufferChanged(), run(), SetLiveRecording(), StartRecording(), StopLiveTV(), and SwitchRecordingRingBuffer().
int TVRec::autoRunJobs [private] |
Definition at line 375 of file tv_rec.h.
Referenced by FinishedRecording(), SetLiveRecording(), TuningNewRecorder(), and TuningRestartRecorder().
int TVRec::overrecordseconds [private] |
PendingMap TVRec::pendingRecordings [private] |
Definition at line 379 of file tv_rec.h.
Referenced by CancelNextRecording(), HandlePendingRecordings(), IsBusy(), RecordPending(), run(), and StartRecording().
ProgramInfo* TVRec::pseudoLiveTVRecording [private] |
Definition at line 382 of file tv_rec.h.
Referenced by CheckForRecGroupChange(), GetProgramRingBufferForLiveTV(), HandlePendingRecordings(), run(), SetLiveRecording(), SetPseudoLiveTVRecording(), StopLiveTV(), TuningFrequency(), and TuningRestartRecorder().
QString TVRec::nextLiveTVDir [private] |
Definition at line 383 of file tv_rec.h.
Referenced by GetProgramRingBufferForLiveTV(), SetNextLiveTVDir(), and WaitForNextLiveTVDir().
QMutex TVRec::nextLiveTVDirLock [private] |
Definition at line 384 of file tv_rec.h.
Referenced by GetProgramRingBufferForLiveTV(), SetNextLiveTVDir(), and WaitForNextLiveTVDir().
QWaitCondition TVRec::triggerLiveTVDir [private] |
Definition at line 385 of file tv_rec.h.
Referenced by SetNextLiveTVDir(), and WaitForNextLiveTVDir().
QString TVRec::LiveTVStartChannel [private] |
Definition at line 386 of file tv_rec.h.
Referenced by SpawnLiveTV(), and TuningGetChanNum().
LiveTVChain* TVRec::tvchain [private] |
Definition at line 389 of file tv_rec.h.
Referenced by CreateLiveTVRingBuffer(), FinishedRecording(), GetChainID(), GetProgramRingBufferForLiveTV(), SetupDTVSignalMonitor(), SpawnLiveTV(), StartRecording(), StopLiveTV(), SwitchLiveTVRingBuffer(), TuningFrequency(), TuningNewRecorder(), and TuningRestartRecorder().
RingBuffer* TVRec::ringBuffer [private] |
Definition at line 392 of file tv_rec.h.
Referenced by GetFilePosition(), SetRingBuffer(), TeardownRecorder(), TuningFrequency(), TuningNewRecorder(), TuningRestartRecorder(), and TuningShutdowns().
QString TVRec::rbFileExt [private] |
Definition at line 393 of file tv_rec.h.
Referenced by CreateChannel(), and StartedRecording().
QMutex TVRec::cardsLock [static] |
Definition at line 396 of file tv_rec.h.
Referenced by GetTVRec(), TVRec(), and ~TVRec().
QMap< uint, TVRec * > TVRec::cards [static] |
const uint TVRec::kSignalMonitoringRate = 50 [static] |
How many milliseconds the signal monitor should wait between checks.
Definition at line 400 of file tv_rec.h.
Referenced by SetupSignalMonitor().
const uint TVRec::kFlagFrontendReady = 0x00000001 [static] |
Definition at line 403 of file tv_rec.h.
Referenced by FlagToString(), and run().
const uint TVRec::kFlagRunMainLoop = 0x00000002 [static] |
Definition at line 404 of file tv_rec.h.
Referenced by FlagToString(), run(), and TeardownAll().
const uint TVRec::kFlagExitPlayer = 0x00000004 [static] |
Definition at line 405 of file tv_rec.h.
Referenced by FlagToString(), and run().
const uint TVRec::kFlagFinishRecording = 0x00000008 [static] |
Definition at line 406 of file tv_rec.h.
Referenced by FlagToString(), and run().
const uint TVRec::kFlagErrored = 0x00000010 [static] |
Definition at line 407 of file tv_rec.h.
Referenced by CreateChannel(), and FlagToString().
const uint TVRec::kFlagCancelNextRecording = 0x00000020 [static] |
Definition at line 408 of file tv_rec.h.
Referenced by FlagToString(), NotifySchedulerOfRecording(), run(), SetLiveRecording(), SpawnLiveTV(), StartRecording(), and StopRecording().
const uint TVRec::kFlagLiveTV = 0x00000100 [static] |
final result desired is LiveTV recording
Definition at line 412 of file tv_rec.h.
Referenced by FlagToString(), HandleStateChange(), HandleTuning(), SetSignalMonitoringRate(), TuningFrequency(), TuningGetChanNum(), and TuningNewRecorder().
const uint TVRec::kFlagRecording = 0x00000200 [static] |
final result desired is a timed recording
Definition at line 414 of file tv_rec.h.
Referenced by FlagToString(), HandleStateChange(), HandleTuning(), and TuningNewRecorder().
const uint TVRec::kFlagAntennaAdjust = 0x00000400 [static] |
antenna adjusting mode (LiveTV without recording).
Definition at line 416 of file tv_rec.h.
Referenced by FlagToString(), HandleTuning(), SetSignalMonitoringRate(), TuningFrequency(), and TuningOnSameMultiplex().
const uint TVRec::kFlagRec = 0x00000F00 [static] |
Definition at line 417 of file tv_rec.h.
Referenced by FlagToString(), SetChannel(), SetInput(), and TuningFrequency().
const uint TVRec::kFlagEITScan = 0x00001000 [static] |
final result desired is an EIT Scan
Definition at line 421 of file tv_rec.h.
Referenced by FlagToString(), HandleTuning(), EITScanner::run(), TuningFrequency(), and TuningShutdowns().
const uint TVRec::kFlagCloseRec = 0x00002000 [static] |
close recorder, keep recording
Definition at line 423 of file tv_rec.h.
Referenced by FlagToString(), and HandleStateChange().
const uint TVRec::kFlagKillRec = 0x00004000 [static] |
close recorder, discard recording
Definition at line 425 of file tv_rec.h.
Referenced by FlagToString(), HandleStateChange(), StopRecording(), TeardownAll(), TeardownRecorder(), TuningFrequency(), and TuningNewRecorder().
const uint TVRec::kFlagNoRec = 0x0000F000 [static] |
Definition at line 427 of file tv_rec.h.
Referenced by FlagToString(), SetChannel(), SetInput(), and TuningShutdowns().
const uint TVRec::kFlagKillRingBuffer = 0x00010000 [static] |
Definition at line 428 of file tv_rec.h.
Referenced by FlagToString(), HandleStateChange(), and TuningShutdowns().
const uint TVRec::kFlagWaitingForRecPause = 0x00100000 [static] |
Definition at line 431 of file tv_rec.h.
Referenced by FlagToString(), and HandleTuning().
const uint TVRec::kFlagWaitingForSignal = 0x00200000 [static] |
Definition at line 432 of file tv_rec.h.
Referenced by FlagToString(), HandleTuning(), TuningFrequency(), TuningShutdowns(), and TuningSignalCheck().
const uint TVRec::kFlagNeedToStartRecorder = 0x00800000 [static] |
Definition at line 433 of file tv_rec.h.
Referenced by FlagToString(), HandleTuning(), TuningFrequency(), TuningNewRecorder(), TuningRestartRecorder(), and TuningSignalCheck().
const uint TVRec::kFlagPendingActions = 0x00F00000 [static] |
Definition at line 434 of file tv_rec.h.
Referenced by CreateLiveTVRingBuffer(), FlagToString(), TuningNewRecorder(), and TuningShutdowns().
const uint TVRec::kFlagSignalMonitorRunning = 0x01000000 [static] |
Definition at line 437 of file tv_rec.h.
Referenced by FlagToString(), TuningFrequency(), TuningShutdowns(), and TuningSignalCheck().
const uint TVRec::kFlagEITScannerRunning = 0x04000000 [static] |
Definition at line 438 of file tv_rec.h.
Referenced by FlagToString(), HandleStateChange(), run(), TuningFrequency(), TuningShutdowns(), and TuningSignalCheck().
const uint TVRec::kFlagDummyRecorderRunning = 0x10000000 [static] |
Definition at line 440 of file tv_rec.h.
Referenced by FinishedRecording(), FlagToString(), IsReallyRecording(), SetRingBuffer(), TuningFrequency(), TuningNewRecorder(), TuningRestartRecorder(), and TuningShutdowns().
const uint TVRec::kFlagRecorderRunning = 0x20000000 [static] |
Definition at line 441 of file tv_rec.h.
Referenced by FlagToString(), TeardownRecorder(), TuningNewRecorder(), and TuningShutdowns().
const uint TVRec::kFlagAnyRecRunning = 0x30000000 [static] |
Definition at line 442 of file tv_rec.h.
Referenced by FlagToString().
const uint TVRec::kFlagAnyRunning = 0x3F000000 [static] |
Definition at line 443 of file tv_rec.h.
Referenced by FlagToString().
const uint TVRec::kFlagRingBufferReady = 0x40000000 [static] |
Definition at line 446 of file tv_rec.h.
Referenced by FlagToString(), SetChannel(), SetInput(), SetSignalMonitoringRate(), SwitchLiveTVRingBuffer(), SwitchRecordingRingBuffer(), TuningFrequency(), and TuningNewRecorder().
const uint TVRec::kFlagDetect = 0x80000000 [static] |
Definition at line 447 of file tv_rec.h.
Referenced by SetChannel(), and SetInput().
1.7.6.1