MythTV  master
Classes | Public Slots | Signals | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Slots | Private Types | Private Slots | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
TV Class Reference

Control TV playback. More...

#include <tv_play.h>

Inheritance diagram for TV:
Inheritance graph
[legend]
Collaboration diagram for TV:
Collaboration graph
[legend]

Classes

class  SleepTimerInfo
 

Public Slots

bool event (QEvent *Event) override
 This handles all standard events. More...
 
bool eventFilter (QObject *Object, QEvent *Event) override
 Prevent events from being sent to another object. More...
 
void timerEvent (QTimerEvent *Event) override
 
void StopPlayback ()
 
void HandleOSDClosed (int OSDType)
 
- Public Slots inherited from TVPlaybackState
void OverlayStateChanged (MythOverlayState OverlayState)
 
void AudioPlayerStateChanged (const MythAudioPlayerState &AudioPlayerState)
 
void AudioStateChanged (const MythAudioState &AudioState)
 
void CaptionsStateChanged (MythCaptionsState CaptionsState)
 
void VideoBoundsStateChanged (const MythVideoBoundsState &VideoBoundsState)
 
void VideoColourStateChanged (const MythVideoColourState &ColourState)
 
void VisualiserStateChanged (const MythVisualiserState &VisualiserState)
 
void EditorStateChanged (const MythEditorState &EditorState)
 

Signals

void PlaybackExiting (TV *Player)
 
- Signals inherited from TVPlaybackState
void InitialisePlayerState ()
 
void UpdateBookmark (bool Clear=false)
 
void UpdateLastPlayPosition (uint64_t frame)
 
void IsOSDVisible (bool &Visible)
 
void ChangeOSDPositionUpdates (bool Enable)
 
void ChangeOSDDebug ()
 
void ChangeOSDText (const QString &Window, const InfoMap &Map, OSDTimeout Timeout)
 
void ChangeOSDDialog (const MythOSDDialogData &Data)
 
void ChangeOSDMessage (const QString &Message)
 
void DialogQuit ()
 
void HideAll (bool KeepSubs=true, MythScreenType *Except=nullptr, bool DropNotification=false)
 
void ReinitAudio ()
 
void ResetAudio ()
 
void PauseAudioUntilReady ()
 
void ChangeMuteState (bool CycleChannels=false)
 
void ChangeVolume (bool Direction, int Volume)
 
void ChangeUpmix (bool Enable, bool Toggle=false)
 
void ChangeAudioOffset (std::chrono::milliseconds Delta, std::chrono::milliseconds Value=-9999ms)
 
void SetTrack (uint Type, uint TrackNo)
 
void ChangeTrack (uint Type, int Direction)
 
void ChangeAllowForcedSubtitles (bool Allow)
 
void ToggleCaptions ()
 
void ToggleCaptionsByType (uint Type)
 
void SetCaptionsEnabled (bool Enable, bool UpdateOSD=true)
 
void DisableCaptions (uint Mode, bool UpdateOSD=true)
 
void EnableCaptions (uint Mode, bool UpdateOSD=true)
 
void ChangeCaptionTrack (int Direction)
 
void ResetCaptions ()
 
void EnableTeletext (int Page=0x100)
 
void ResetTeletext ()
 
void SetTeletextPage (uint Page)
 
void HandleTeletextAction (const QString &Action, bool &Handled)
 
void RestartITV (uint Chanid, uint Cardid, bool IsLiveTV)
 
void HandleITVAction (const QString &Action, bool &Handled)
 
void AdjustSubtitleZoom (int Delta)
 
void AdjustSubtitleDelay (std::chrono::milliseconds Delta)
 
void RequestEmbedding (bool Embed, const QRect &Rect={}, const QStringList &Data={})
 
void EmbedPlayback (bool Embed, const QRect &Rect={})
 
void ResizeScreenForVideo (QSize Size={})
 
void WindowResized (const QSize &Size)
 
void ChangeStereoOverride (StereoscopicMode Mode)
 
void ChangePictureAttribute (PictureAttribute Attribute, bool Direction, int Value)
 
void ToggleDetectLetterBox ()
 
void ChangeAdjustFill (AdjustFillMode FillMode=kAdjustFill_Toggle)
 
void ChangeAspectOverride (AspectOverrideMode AspectMode=kAspect_Toggle)
 
void ChangeZoom (ZoomDirection Zoom)
 
void ToggleMoveBottomLine ()
 
void SaveBottomLine ()
 
void EnableVisualiser (bool Enable, bool Toggle=false, const QString &Name=QString())
 
void GoToMenu (const QString &Menu)
 
void GoToDVDProgram (bool Direction)
 
void EnableEdit ()
 
void DisableEdit (int HowToSave)
 
void RefreshEditorState (bool CheckSaved=false)
 

Public Member Functions

void ReloadKeys ()
 
bool IsSameProgram (const ProgramInfo *ProgInfo) const
 
- Public Member Functions inherited from TVPlaybackState
 TVPlaybackState ()=default
 
- Public Member Functions inherited from MythTVMenuItemDisplayer
virtual ~MythTVMenuItemDisplayer ()=default
 
- Public Member Functions inherited from ReferenceCounter
 ReferenceCounter (const QString &debugName, bool logDebug=true)
 Creates reference counter with an initial value of 1. More...
 
virtual int IncrRef (void)
 Increments reference count. More...
 
virtual int DecrRef (void)
 Decrements reference count and deletes on 0. More...
 

Static Public Member Functions

static bool IsTVRunning ()
 Check whether media is currently playing. More...
 
static bool StartTV (ProgramInfo *TVRec, uint Flags, const ChannelInfoList &Selection=ChannelInfoList())
 Start playback of media. More...
 
static bool IsPaused ()
 Check whether playback is paused. More...
 
static void InitKeys ()
 
static void SetFuncPtr (const char *Name, void *Pointer)
 Import pointers to functions used to embed the TV window into other containers e.g. More...
 
static int ConfiguredTunerCards ()
 If any cards are configured, return the number. More...
 
static bool IsTunable (uint ChanId)
 
- Static Public Member Functions inherited from ReferenceCounter
static void PrintDebug (void)
 Print out any leaks if that level of debugging is enabled. More...
 

Static Public Attributes

static const int kInitFFRWSpeed = 0
 
static const uint kInputKeysMax = 6
 
static const uint kNextSource = 1
 
static const uint kPreviousSource = 2
 
static const std::chrono::milliseconds kInputModeTimeout = 5s
 
static const std::chrono::milliseconds kLCDTimeout = 1s
 
static const std::chrono::milliseconds kBrowseTimeout = 30s
 
static const std::chrono::milliseconds kKeyRepeatTimeout = 300ms
 
static const std::chrono::milliseconds kPrevChanTimeout = 750ms
 
static const std::chrono::milliseconds kSleepTimerDialogTimeout = 45s
 
static const std::chrono::milliseconds kIdleTimerDialogTimeout = 45s
 
static const std::chrono::milliseconds kVideoExitDialogTimeout = 2min
 
static const std::chrono::milliseconds kEndOfPlaybackCheckFrequency = 250ms
 
static const std::chrono::milliseconds kEmbedCheckFrequency = 250ms
 
static const std::chrono::milliseconds kSpeedChangeCheckFrequency = 250ms
 
static const std::chrono::milliseconds kErrorRecoveryCheckFrequency = 250ms
 
static const std::chrono::milliseconds kEndOfRecPromptCheckFrequency = 250ms
 
static const std::chrono::milliseconds kSaveLastPlayPosTimeout = 5s
 
static const std::chrono::milliseconds kEndOfPlaybackFirstCheckTimer = 5s
 

Protected Slots

void onApplicationStateChange (Qt::ApplicationState State)
 
void customEvent (QEvent *Event) override
 This handles all custom events. More...
 
void VolumeChange (bool Up, int NewVolume=-1)
 

Private Types

enum  BookmarkAction { kBookmarkAlways, kBookmarkNever, kBookmarkAuto }
 
enum  ArbSeekWhence { ARBSEEK_SET = 0, ARBSEEK_REWIND, ARBSEEK_FORWARD, ARBSEEK_END }
 

Private Slots

void Embed (bool Embed, QRect Rect={}, const QStringList &Data={})
 

Private Member Functions

 TV (MythMainWindow *MainWindow)
 
 ~TV () override
 
PlayerContextGetPlayerContext ()
 Return a pointer to TV::m_playerContext. More...
 
bool CreatePlayer (TVState State, bool Muted=false)
 
bool StartPlaying (std::chrono::milliseconds MaxWait=-1ms)
 
bool Init ()
 Performs instance initialization, returns true on success. More...
 
void InitFromDB ()
 
bool LiveTV (bool ShowDialogs, const ChannelInfoList &Selection)
 Starts LiveTV. More...
 
int Playback (const ProgramInfo &ProgInfo)
 
void PlaybackLoop ()
 The main playback loop. More...
 
bool ProcessKeypressOrGesture (QEvent *Event)
 
bool TranslateKeyPressOrGesture (const QString &Context, QEvent *Event, QStringList &Actions, bool IsLiveTV, bool AllowJumps=true)
 
bool TranslateGesture (const QString &Context, MythGestureEvent *Event, QStringList &Actions, bool IsLiveTV)
 
void ProcessNetworkControlCommand (const QString &Command)
 
bool HandleTrackAction (const QString &Action)
 
bool ActiveHandleAction (const QStringList &Actions, bool IsDVD, bool IsDVDStillFrame)
 
bool BrowseHandleAction (const QStringList &Actions)
 
void OSDDialogEvent (int Result, const QString &Text, QString Action)
 
bool ToggleHandleAction (const QStringList &Actions, bool IsDVD)
 
bool FFRewHandleAction (const QStringList &Actions)
 
bool ActivePostQHandleAction (const QStringList &Actions)
 
bool HandleJumpToProgramAction (const QStringList &Actions)
 
bool SeekHandleAction (const QStringList &Actions, bool IsDVD)
 
bool TimeStretchHandleAction (const QStringList &Actions)
 
bool DiscMenuHandleAction (const QStringList &Actions) const
 
int StartTimer (std::chrono::milliseconds Interval, int Line)
 
void KillTimer (int Id)
 
void SetSpeedChangeTimer (std::chrono::milliseconds When, int Line)
 
void HandleEndOfPlaybackTimerEvent ()
 
void HandleEndOfRecordingExitPromptTimerEvent ()
 
void HandleVideoExitDialogTimerEvent ()
 
void HandlePseudoLiveTVTimerEvent ()
 
void HandleSpeedChangeTimerEvent ()
 
void ToggleSleepTimer ()
 
void ToggleSleepTimer (const QString &Time)
 
bool HandleLCDTimerEvent ()
 
void HandleLCDVolumeTimerEvent ()
 
void HandleSaveLastPlayPosEvent ()
 
void EditSchedule (int EditType=kScheduleProgramGuide)
 
bool IsTunablePriv (uint ChanId)
 
void ChangeChannel (const ChannelInfoList &Options)
 
void DoEditSchedule (int EditType=kScheduleProgramGuide)
 
QString GetRecordingGroup () const
 
void UpdateChannelList (int GroupID)
 update the channel list with channels from the selected channel group More...
 
OSDGetOSDL ()
 
void ReturnOSDLock () const
 
void GetPlayerWriteLock () const
 
void GetPlayerReadLock () const
 
void ReturnPlayerLock () const
 
void ToggleAutoExpire ()
 
void QuickRecord ()
 
TVState GetState () const
 
void HandleStateChange ()
 Changes the state to the state on the front of the state change queue. More...
 
void GetStatus ()
 
void ForceNextStateNone ()
 
void ScheduleStateChange ()
 
void ScheduleInputChange ()
 
void SetErrored ()
 
void SetInPlayList (bool InPlayList)
 
void setUnderNetworkControl (bool setting)
 
void PrepToSwitchToRecordedProgram (const ProgramInfo &ProgInfo)
 
void PrepareToExitPlayer (int Line)
 
void SetExitPlayer (bool SetIt, bool WantsTo)
 
bool RequestNextRecorder (bool ShowDialogs, const ChannelInfoList &Selection=ChannelInfoList())
 
void DeleteRecorder ()
 
bool StartRecorder (std::chrono::milliseconds MaxWait=-1ms)
 Starts recorder, must be called before StartPlayer(). More...
 
void StopStuff (bool StopRingBuffer, bool StopPlayer, bool StopRecorder)
 Can shut down the ringbuffers, the players, and in LiveTV it can shut down the recorders. More...
 
bool StartPlayer (TVState desiredState)
 
bool IsSwitchingCards () const
 Returns true if we are currently in the process of switching recorders. More...
 
bool GetAllowRerecord () const
 Returns true if the user told Mythtv to allow re-recording of the show. More...
 
bool GetEndOfRecording () const
 This is set to true if the player reaches the end of the recording without the user explicitly exiting the player. More...
 
bool GetJumpToProgram () const
 This is set if the user asked MythTV to jump to the previous recording in the playlist. More...
 
bool IsDeleteAllowed ()
 
void ToggleChannelFavorite (const QString &ChangroupName) const
 
void ChangeChannel (ChannelChangeDirection Direction)
 
void ChangeChannel (uint Chanid, const QString &Channum)
 
void ShowPreviousChannel ()
 
void PopPreviousChannel (bool ImmediateChange)
 
void AddKeyToInputQueue (char Key)
 
void ClearInputQueues (bool Hideosd)
 Clear channel key buffer of input keys. More...
 
bool CommitQueuedInput ()
 
bool ProcessSmartChannel (QString &InputStr)
 
bool HasQueuedInput () const
 
bool HasQueuedChannel () const
 
QString GetQueuedInput () const
 
int GetQueuedInputAsInt (bool *OK=nullptr, int Base=10) const
 
QString GetQueuedChanNum () const
 
uint GetQueuedChanID () const
 
void SwitchSource (uint Direction)
 
void SwitchInputs (uint ChanID=0, QString ChanNum="", uint InputID=0)
 
void PauseLiveTV ()
 Used in ChangeChannel() to temporarily stop video output. More...
 
void UnpauseLiveTV (bool Quietly=false)
 Used in ChangeChannel() to restart video output. More...
 
void DoPlay ()
 
float DoTogglePauseStart ()
 
void DoTogglePauseFinish (float Time, bool ShowOSD)
 
void DoTogglePause (bool ShowOSD)
 
bool DoSetPauseState (bool Pause)
 
bool ContextIsPaused (const char *File, int Location)
 
void SetLastProgram (const ProgramInfo *ProgInfo)
 
ProgramInfoGetLastProgram () const
 
void DoSeek (float Time, const QString &Msg, bool TimeIsOffset, bool HonorCutlist)
 
void DoSeek (std::chrono::seconds TimeInSec, const QString &Msg, bool TimeIsOffset, bool HonorCutlist)
 
bool DoPlayerSeek (float Time)
 
bool DoPlayerSeekToFrame (uint64_t FrameNum)
 
void DoSeekAbsolute (long long Seconds, bool HonorCutlist)
 
void DoArbSeek (ArbSeekWhence Whence, bool HonorCutlist)
 
void DoJumpFFWD ()
 
void DoJumpRWND ()
 
void DoSeekFFWD ()
 
void DoSeekRWND ()
 
void NormalSpeed ()
 
void ChangeSpeed (int Direction)
 
void ToggleTimeStretch ()
 
void ChangeTimeStretch (int Dir, bool AllowEdit=true)
 
void DVDJumpBack ()
 
void DVDJumpForward ()
 
float StopFFRew ()
 
void ChangeFFRew (int Direction)
 
void SetFFRew (int Index)
 
bool AudioSyncHandleAction (const QStringList &Actions)
 
int GetNumChapters ()
 
void GetChapterTimes (QList< std::chrono::seconds > &Times)
 
int GetCurrentChapter ()
 
int GetNumTitles ()
 
int GetCurrentTitle ()
 
std::chrono::seconds GetTitleDuration (int Title)
 
QString GetTitleName (int Title)
 
void DoSwitchTitle (int Title)
 
int GetNumAngles ()
 
int GetCurrentAngle ()
 
QString GetAngleName (int Angle)
 
void DoSwitchAngle (int Angle)
 
void DoJumpChapter (int Chapter)
 
void DoSkipCommercials (int Direction)
 
void SetAutoCommercialSkip (CommSkipMode SkipMode=kCommSkipOff)
 
void DoQueueTranscode (const QString &Profile)
 
bool IsBookmarkAllowed ()
 
void SetBookmark (bool Clear=false)
 
void ClearOSD ()
 
void ToggleOSD (bool IncludeStatusOSD)
 Cycle through the available Info OSDs. More...
 
void UpdateOSDProgInfo (const char *WhichInfo)
 Update and display the passed OSD set with programinfo. More...
 
void UpdateOSDStatus (const QString &Title, const QString &Desc, const QString &Value, int Type, const QString &Units, int Position=0, enum OSDTimeout Timeout=kOSDTimeout_Med)
 
void UpdateOSDStatus (osdInfo &Info, int Type, enum OSDTimeout Timeout)
 
void UpdateOSDSeekMessage (const QString &Msg, enum OSDTimeout Timeout)
 
void UpdateOSDInput ()
 
void UpdateOSDSignal (const QStringList &List)
 Updates Signal portion of OSD... More...
 
void UpdateOSDTimeoutMessage ()
 
bool CalcPlayerSliderPosition (osdInfo &info, bool paddedFields=false) const
 
void HideOSDWindow (const char *window)
 
bool SubtitleZoomHandleAction (const QStringList &Actions)
 
bool SubtitleDelayHandleAction (const QStringList &Actions)
 
void DoTogglePictureAttribute (PictureAdjustType Type)
 
bool PictureAttributeHandleAction (const QStringList &Actions)
 
PictureAttribute NextPictureAdjustType (PictureAdjustType Type, PictureAttribute Attr)
 
void OverrideScan (FrameScanType Scan)
 
void ITVRestart (bool IsLive)
 Restart the MHEG/MHP engine. More...
 
void SetManualZoom (bool ZoomON, const QString &Desc)
 
bool ManualZoomHandleAction (const QStringList &Actions)
 
void StartChannelEditMode ()
 Starts channel editing mode. More...
 
bool HandleOSDChannelEdit (const QString &Action)
 Processes channel editing key. More...
 
void ChannelEditAutoFill (InfoMap &Info)
 Automatically fills in as much information as possible. More...
 
void ChannelEditXDSFill (InfoMap &Info)
 
bool DialogIsVisible (const QString &Dialog)
 
void HandleOSDInfo (const QString &Action)
 
void ShowNoRecorderDialog (NoRecorderMsg MsgType=kNoRecorders)
 
void ShowOSDAskAllow ()
 
void HandleOSDAskAllow (const QString &Action)
 
void AskAllowRecording (const QStringList &Msg, int Timeuntil, bool HasRec, bool HasLater)
 
void ShowOSDCutpoint (const QString &Type)
 
bool HandleOSDCutpoint (const QString &Action)
 
void StartProgramEditMode ()
 Starts Program Cut Map Editing mode. More...
 
void ShowOSDAlreadyEditing ()
 
void HandleOSDAlreadyEditing (const QString &Action, bool WasPaused)
 
void ShowOSDSleep ()
 
void HandleOSDSleep (const QString &Action)
 
void SleepDialogTimeout ()
 
void ShowOSDIdle ()
 After idleTimer has expired, display a dialogue warning the user that we will exit LiveTV unless they take action. We change idleTimer, to 45 seconds and when it expires for a second time we quit the player. If the user so decides, they may hit ok and we reset the timer back to the default expiry period. More...
 
void HandleOSDIdle (const QString &Action)
 
void IdleDialogTimeout ()
 
void ShowOSDStopWatchingRecording ()
 
void ShowOSDPromptDeleteRecording (const QString &Title, bool Force=false)
 
bool HandleOSDVideoExit (const QString &Action)
 
void StartOsdNavigation ()
 
void ShowOSDMenu (bool isCompact=false)
 
void FillOSDMenuJumpRec (const QString &Category="", int Level=0, const QString &Selected="")
 
void PlaybackMenuShow (const MythTVMenu &Menu, const QDomNode &Node, const QDomNode &Selected)
 
bool MenuItemDisplay (const MythTVMenuItemContext &Context, MythOSDDialogData *Menu) override
 
bool MenuItemDisplayPlayback (const MythTVMenuItemContext &Context, MythOSDDialogData *Menu)
 
bool MenuItemDisplayCutlist (const MythTVMenuItemContext &Context, MythOSDDialogData *Menu)
 
void PlaybackMenuInit (const MythTVMenu &Menu)
 
void PlaybackMenuDeinit (const MythTVMenu &Menu)
 
void MenuLazyInit (void *Field)
 
const MythTVMenugetMenuFromId (MenuTypeId id)
 
void UpdateLCD ()
 
void ShowLCDChannelInfo ()
 
void ShowLCDDVDInfo ()
 

Static Private Member Functions

static TVAcquireRelease (int &RefCount, bool Acquire, bool Create=false)
 Statically create, destroy or check the existence of the TV instance. More...
 
static QList< QKeyEvent * > ConvertScreenPressKeyMap (const QString &KeyList)
 
static QVector< uintIsTunableOn (PlayerContext *Context, uint ChanId)
 
static bool StateIsRecording (TVState State)
 
static bool StateIsPlaying (TVState State)
 
static bool StateIsLiveTV (TVState State)
 
static void ToggleChannelFavorite ()
 
static void MenuStrings ()
 

Private Attributes

MythMainWindowm_mainWindow { nullptr }
 
QString m_dbChannelFormat {"<num> <sign>"}
 
std::chrono::milliseconds m_dbIdleTimeout {0ms}
 
int m_dbPlaybackExitPrompt {0}
 
uint m_dbAutoexpireDefault {0}
 
bool m_dbAutoSetWatched {false}
 
bool m_dbEndOfRecExitPrompt {false}
 
bool m_dbJumpPreferOsd {true}
 
bool m_dbUseGuiSizeForTv {false}
 
bool m_dbUseVideoModes {false}
 
bool m_dbRunJobsOnRemote {false}
 
bool m_dbContinueEmbedded {false}
 
bool m_dbBrowseAlways {false}
 
bool m_dbBrowseAllTuners {false}
 
bool m_dbUseChannelGroups {false}
 
bool m_dbRememberLastChannelGroup {false}
 
ChannelGroupList m_dbChannelGroups
 
bool m_smartForward {false}
 
float m_ffRewRepos {1.0F}
 
bool m_ffRewReverse {false}
 
std::vector< int > m_ffRewSpeeds
 
uint m_vbimode {VBIMode::None}
 
uint m_switchToInputId {0}
 
bool m_wantsToQuit {true}
 True if the user told MythTV to stop playback. More...
 
bool m_stretchAdjustment {false}
 True if time stretch is turned on. More...
 
bool m_audiosyncAdjustment {false}
 True if audiosync is turned on. More...
 
bool m_subtitleZoomAdjustment {false}
 True if subtitle zoom is turned on. More...
 
bool m_subtitleDelayAdjustment {false}
 True if subtitle delay is turned on. More...
 
bool m_zoomMode {false}
 
bool m_sigMonMode {false}
 Are we in signal monitoring mode? More...
 
bool m_endOfRecording {false}
 !player->IsPlaying() && StateIsPlaying() More...
 
bool m_requestDelete {false}
 User wants last video deleted. More...
 
bool m_allowRerecord {false}
 User wants to rerecord the last video if deleted. More...
 
bool m_doSmartForward {false}
 
bool m_queuedTranscode {false}
 
bool m_savePosOnExit {false}
 False until first timer event. More...
 
bool m_clearPosOnExit {false}
 False unless requested by user on playback exit. More...
 
PictureAdjustType m_adjustingPicture {kAdjustingPicture_None}
 Picture attribute type to modify. More...
 
PictureAttribute m_adjustingPictureAttribute {kPictureAttribute_None}
 Picture attribute to modify (on arrow left or right) More...
 
QMap< QString, AskProgramInfom_askAllowPrograms
 
QRecursiveMutex m_askAllowLock
 
QMutex m_progListsLock
 
QMap< QString, ProgramListm_progLists
 
QRecursiveMutex m_chanEditMapLock
 Lock for chanEditMap and ddMap. More...
 
InfoMap m_chanEditMap
 Channel Editing initial map. More...
 
uint m_sleepIndex {0}
 Index into sleep_times. More...
 
std::chrono::milliseconds m_sleepTimerTimeout {0ms}
 Current sleep timeout in msec. More...
 
int m_sleepTimerId {0}
 Timer for turning off playback. More...
 
int m_sleepDialogTimerId {0}
 Timer for sleep dialog. More...
 
int m_idleTimerId {0}
 Timer for turning off playback after idle period. More...
 
int m_idleDialogTimerId {0}
 Timer for idle dialog. More...
 
MythTimer m_keyRepeatTimer
 Queue of unprocessed key presses. More...
 
bool m_ccInputMode {false}
 Are we in CC/Teletext page/stream selection mode? More...
 
bool m_asInputMode {false}
 Are we in Arbitrary seek input mode? More...
 
QString m_queuedInput
 Input key presses queued up so far... More...
 
QString m_queuedChanNum
 Input key presses queued up so far to form a valid ChanNum. More...
 
uint m_queuedChanID {0}
 Queued ChanID (from EPG channel selector) More...
 
uint m_initialChanID {0}
 Initial chanid override for Live TV. More...
 
QList< QKeyEvent * > m_screenPressKeyMapPlayback
 
QList< QKeyEvent * > m_screenPressKeyMapLiveTV
 
QElapsedTimer m_lockTimer
 
bool m_lockTimerOn {false}
 
QDateTime m_lastLockSeenTime
 
QMutex m_lastProgramLock
 
ProgramInfom_lastProgram {nullptr}
 last program played with this player More...
 
bool m_inPlaylist {false}
 show is part of a playlist More...
 
bool m_underNetworkControl {false}
 initial show started via by the network control interface More...
 
bool m_jumpToProgram {false}
 
PlayerContext m_playerContext { kPlayerInUseID }
 
MythPlayerUIm_player { nullptr }
 
QReadWriteLock m_playerLock
 lock on player and playerActive changes More...
 
bool m_noHardwareDecoders {false}
 
RemoteEncoderm_switchToRec {nullptr}
 Main recorder to use after a successful SwitchCards() call. More...
 
QString m_lcdTitle
 
QString m_lcdSubtitle
 
QString m_lcdCallsign
 
TvPlayWindowm_myWindow {nullptr}
 Our screen, if it exists. More...
 
QRect m_playerBounds
 Prior GUI window bounds, for DoEditSchedule() and player exit(). More...
 
QRect m_savedGuiBounds
 
bool m_weDisabledGUI {false}
 true if this instance disabled MythUI drawing. More...
 
bool m_ignoreKeyPresses {false}
 should we ignore keypresses More...
 
bool m_savedPause {false}
 saved pause state before embedding More...
 
QMutex m_channelGroupLock
 Lock necessary when modifying channel group variables. More...
 
volatile int m_channelGroupId {-1}
 
ChannelInfoList m_channelGroupChannelList
 
MythDeque< QString > m_networkControlCommands
 
volatile int m_lcdTimerId {0}
 
volatile int m_lcdVolumeTimerId {0}
 
volatile int m_networkControlTimerId {0}
 
volatile int m_ccInputTimerId {0}
 
volatile int m_asInputTimerId {0}
 
volatile int m_queueInputTimerId {0}
 
volatile int m_endOfPlaybackTimerId {0}
 
volatile int m_endOfRecPromptTimerId {0}
 
volatile int m_videoExitDialogTimerId {0}
 
volatile int m_pseudoChangeChanTimerId {0}
 
volatile int m_speedChangeTimerId {0}
 
volatile int m_errorRecoveryTimerId {0}
 
volatile int m_exitPlayerTimerId {0}
 
volatile int m_saveLastPlayPosTimerId {0}
 
volatile int m_signalMonitorTimerId {0}
 
QStringList m_tvmTracks [kTrackTypeCount]
 
int m_tvmCurtrack [kTrackTypeCount] {}
 
bool m_tvmAvsync {true}
 
bool m_tvmFillAutoDetect {false}
 
int m_tvmSpeedX100 {100}
 
TVState m_tvmState {kState_None}
 
bool m_tvmIsRecording {false}
 
bool m_tvmIsRecorded {false}
 
bool m_tvmIsVideo {false}
 
CommSkipMode m_tvmCurSkip {kCommSkipOff}
 
bool m_tvmIsPaused {false}
 
int m_tvmFreeRecorderCount {-1}
 
bool m_tvmIsDvd {false}
 
bool m_tvmIsBd {false}
 
bool m_tvmJump {false}
 
bool m_tvmIsLiveTv {false}
 
bool m_tvmPreviousChan {false}
 
int m_tvmNumChapters {0}
 
int m_tvmCurrentChapter {0}
 
QList< std::chrono::seconds > m_tvmChapterTimes
 
int m_tvmNumAngles {0}
 
int m_tvmCurrentAngle {0}
 
int m_tvmNumTitles {0}
 
int m_tvmCurrentTitle {0}
 
bool m_tvmSubsForcedOn {true}
 
bool m_tvmSubsHaveSubs {false}
 
bool m_tvmIsOn {false}
 
bool m_tvmTranscoding {false}
 
QVariant m_tvmJumprecBackHack
 
MythTVMenu m_playbackMenu
 
MythTVMenu m_playbackCompactMenu
 
MythTVMenu m_cutlistMenu
 
MythTVMenu m_cutlistCompactMenu
 

Static Private Attributes

static QStringList lastProgramStringList = {}
 
static EMBEDRETURNVOID RunPlaybackBoxPtr = nullptr
 
static EMBEDRETURNVOID RunViewScheduledPtr = nullptr
 
static EMBEDRETURNVOIDEPG RunProgramGuidePtr = nullptr
 
static EMBEDRETURNVOIDFINDER RunProgramFinderPtr = nullptr
 
static EMBEDRETURNVOIDSCHEDIT RunScheduleEditorPtr = nullptr
 
static const std::vector< SleepTimerInfos_sleepTimes
 
static const int kScreenPressRegionCount = 12
 screen area to keypress translation region is now 0..11 0 1 2 3 4 5 6 7 8 9 10 11 More...
 

Friends

class PlaybackBox
 
class GuideGrid
 
class TVBrowseHelper
 

Additional Inherited Members

- Protected Member Functions inherited from ReferenceCounter
virtual ~ReferenceCounter (void)
 Called on destruction, will warn if object deleted with references in place. More...
 
- Protected Member Functions inherited from TVBrowseHelper
 TVBrowseHelper (TV *Parent)
 
 ~TVBrowseHelper () override
 
void BrowseInit (std::chrono::seconds BrowseMaxForward, bool BrowseAllTuners, bool UseChannelGroups, const QString &DBChannelOrdering)
 
void BrowseStop ()
 
void BrowseWait ()
 
bool BrowseStart (bool SkipBrowse=false)
 Begins channel browsing. More...
 
void BrowseEnd (bool ChangeChannel)
 Ends channel browsing. More...
 
void BrowseDispInfo (const BrowseInfo &Browseinfo)
 
void BrowseDispInfo (BrowseDirection Direction)
 
void BrowseChannel (const QString &Channum)
 
BrowseInfo GetBrowsedInfo () const
 
uint GetBrowseChanId (const QString &Channum, uint PrefCardid, uint PrefSourceid) const
 Returns a chanid for the channum, or 0 if none is available. More...
 
- Protected Member Functions inherited from MThread
int exec (void)
 Enters the qt event loop. call exit or quit to exit thread. More...
 
 MThread (const QString &objectName)
 Standard constructor. More...
 
 MThread (const QString &objectName, QRunnable *runnable)
 Use this constructor if you want the default run() method to run the QRunnable's run() method instead of entering the Qt event loop. More...
 
virtual ~MThread ()
 
 MThread (const MThread &)=delete
 
MThreadoperator= (const MThread &)=delete
 
void RunProlog (void)
 Sets up a thread, call this if you reimplement run(). More...
 
void RunEpilog (void)
 Cleans up a thread's resources, call this if you reimplement run(). More...
 
QThread * qthread (void)
 Returns the thread, this will always return the same pointer no matter how often you restart the thread. More...
 
void setObjectName (const QString &name)
 
QString objectName (void) const
 
void setPriority (QThread::Priority priority)
 
QThread::Priority priority (void) const
 
bool isFinished (void) const
 
bool isRunning (void) const
 
void setStackSize (uint stackSize)
 
uint stackSize (void) const
 
void exit (int retcode=0)
 Use this to exit from the thread if you are using a Qt event loop. More...
 
void start (QThread::Priority p=QThread::InheritPriority)
 Tell MThread to start running the thread in the near future. More...
 
void terminate (void)
 Kill a thread unsafely. More...
 
void quit (void)
 calls exit(0) More...
 
bool wait (std::chrono::milliseconds time=std::chrono::milliseconds::max())
 Wait for the MThread to exit, with a maximum timeout. More...
 
- Static Protected Member Functions inherited from MThread
static void setTerminationEnabled (bool enabled=true)
 
static void usleep (std::chrono::microseconds time)
 
template<typename R , typename P >
static std::enable_if_t< std::chrono::treat_as_floating_point< R >::value, void > usleep (std::chrono::duration< R, P > time)
 
static void ThreadSetup (const QString &name)
 This is to be called on startup in those few threads that haven't been ported to MThread. More...
 
static void ThreadCleanup (void)
 This is to be called on exit in those few threads that haven't been ported to MThread. More...
 
static void Cleanup (void)
 This will print out all the running threads, call exit(1) on each and then wait up to 5 seconds total for all the threads to exit. More...
 
static void GetAllThreadNames (QStringList &list)
 
static void GetAllRunningThreadNames (QStringList &list)
 
- Protected Attributes inherited from TVPlaybackState
MythOverlayState m_overlayState
 
MythAudioPlayerState m_audioPlayerState { }
 
MythAudioState m_audioState
 
MythCaptionsState m_captionsState { }
 
MythVideoBoundsState m_videoBoundsState
 
MythVideoColourState m_videoColourState
 
MythVisualiserState m_visualiserState
 
MythEditorState m_editorState
 
- Protected Attributes inherited from ReferenceCounter
bool m_logDebug
 This is used to suppress creating LoggingItem classes for LoggingItem reference count changes. More...
 
QAtomicInt m_referenceCount {1}
 
- Protected Attributes inherited from TVBrowseHelper
int m_browseTimerId { 0 }
 
- Protected Attributes inherited from MThread
MThreadInternalm_thread {nullptr}
 
QRunnable * m_runnable {nullptr}
 
bool m_prologExecuted {true}
 
bool m_epilogExecuted {true}
 

Detailed Description

Control TV playback.

Signals Emitted:\n TVPlaybackAborted()
TV playback failed to start (typically, TV playback was started when another playback is currently going)
Signals Emitted:\n TVPlaybackStarted()
TV playback has started, video is now playing
Signals Emitted:\n TVPlaybackStopped()
TV playback has stopped and playback has exited
Signals Emitted:\n TVPlaybackUnpaused()
TV playback has resumed, following a Pause action
Signals Emitted:\n TVPlaybackPaused()
TV playback has been paused
Signals Emitted:\n TVPlaybackSought(qint position_seconds)
Absolute seek has completed to position_seconds

Definition at line 152 of file tv_play.h.

Member Enumeration Documentation

◆ BookmarkAction

enum TV::BookmarkAction
private
Enumerator
kBookmarkAlways 
kBookmarkNever 
kBookmarkAuto 

Definition at line 287 of file tv_play.h.

◆ ArbSeekWhence

enum TV::ArbSeekWhence
private
Enumerator
ARBSEEK_SET 
ARBSEEK_REWIND 
ARBSEEK_FORWARD 
ARBSEEK_END 

Definition at line 363 of file tv_play.h.

Constructor & Destructor Documentation

◆ TV()

TV::TV ( MythMainWindow MainWindow)
explicitprivate
See also
Init()

This list is not complete:)

Todo:

Remove m_playerLock. m_playerContext is always present and we should be using the lower level locks in PlayerContext (around player etc)

Move TV only state currently held in PlayerContext into TV

Try and remove friend class usage. This is a blunt tool and allows potentially unsafe calls into TV

Definition at line 968 of file tv_play.cpp.

◆ ~TV()

TV::~TV ( )
overrideprivate

Definition at line 1186 of file tv_play.cpp.

Member Function Documentation

◆ IsTVRunning()

bool TV::IsTVRunning ( )
static

◆ StartTV()

bool TV::StartTV ( ProgramInfo TVRec,
uint  Flags,
const ChannelInfoList Selection = ChannelInfoList() 
)
static

Start playback of media.

This is the single global entry point for playing media.

This is a 'blocking' call i.e. we do not actually return to the main event loop until this function returns. Playback is handled manually from this function with regular calls to QCoreApplication::processEvents from within PlaybackLoop.

Returns
true if the recording completed when exiting.

Definition at line 254 of file tv_play.cpp.

Referenced by GuideGrid::customEvent(), internal_play_media(), main(), PlaybackBox::Play(), and startTVNormal().

◆ IsPaused()

bool TV::IsPaused ( )
static

Check whether playback is paused.

This is currently used by MythAirplayServer.

Returns
true if a TV playback is currently going and is paused; otherwise returns false

Definition at line 4775 of file tv_play.cpp.

Referenced by MythAirplayServer::PausePlayback().

◆ InitKeys()

void TV::InitKeys ( )
static

Definition at line 457 of file tv_play.cpp.

Referenced by main(), and ReloadKeys().

◆ SetFuncPtr()

void TV::SetFuncPtr ( const char *  Name,
void *  Pointer 
)
static

Import pointers to functions used to embed the TV window into other containers e.g.

playbackbox

Definition at line 442 of file tv_play.cpp.

Referenced by SetFuncPtrs().

◆ ConfiguredTunerCards()

int TV::ConfiguredTunerCards ( )
static

If any cards are configured, return the number.

Definition at line 85 of file tv_play.cpp.

Referenced by isLiveTVAvailable(), and StartTV().

◆ IsTunable()

bool TV::IsTunable ( uint  ChanId)
static

◆ ReloadKeys()

void TV::ReloadKeys ( )

Definition at line 928 of file tv_play.cpp.

◆ IsSameProgram()

bool TV::IsSameProgram ( const ProgramInfo ProgInfo) const

◆ event

bool TV::event ( QEvent *  Event)
overrideslot

This handles all standard events.

Definition at line 2978 of file tv_play.cpp.

Referenced by eventFilter().

◆ eventFilter

bool TV::eventFilter ( QObject *  Object,
QEvent *  Event 
)
overrideslot

Prevent events from being sent to another object.

Selectively block certain KeyPress and Resize events from being sent to the specified object. This function is called by Qt before it calls Object->event(Event). It can be used by the TV object to either block events from being sent to the specified object, or for it to handle the events instead of sending them to the specified object. As of mid 2021, this filter is only used to redirect some events from the MythMainWindow object to the TV object.

Warning
Be careful if an event is broadcast to all objects instead of being set directly to a specific object. For a broadcast event, Qt will: 1) call TV::customEvent, and 2) call this function to find out whether it should call MythMainWindow::customEvent. If this function calls TV::customEvent, then the same event gets processed twice.
Parameters
ObjectThe QObject whose events are being filtered.
EventThe QEvent that is about to be passed to Object->event().
Returns
True if the event should be dropped. False if the Qt code should call Object->event(Event).

Definition at line 2931 of file tv_play.cpp.

◆ timerEvent

void TV::timerEvent ( QTimerEvent *  Event)
overrideslot

Definition at line 2363 of file tv_play.cpp.

◆ StopPlayback

void TV::StopPlayback ( )
slot

Definition at line 235 of file tv_play.cpp.

Referenced by InitFromDB(), and onApplicationStateChange().

◆ HandleOSDClosed

void TV::HandleOSDClosed ( int  OSDType)
slot

Definition at line 7614 of file tv_play.cpp.

Referenced by OSD::OSD().

◆ PlaybackExiting

void TV::PlaybackExiting ( TV Player)
signal

Referenced by GuideGrid::GuideGrid(), and StopStuff().

◆ onApplicationStateChange

void TV::onApplicationStateChange ( Qt::ApplicationState  State)
protectedslot

Definition at line 10096 of file tv_play.cpp.

Referenced by TV().

◆ customEvent

void TV::customEvent ( QEvent *  Event)
overrideprotectedslot

This handles all custom events.

Definition at line 7142 of file tv_play.cpp.

Referenced by eventFilter().

◆ VolumeChange

void TV::VolumeChange ( bool  Up,
int  NewVolume = -1 
)
protectedslot

◆ Embed

void TV::Embed ( bool  Embed,
QRect  Rect = {},
const QStringList &  Data = {} 
)
privateslot

Definition at line 6720 of file tv_play.cpp.

Referenced by TV().

◆ GetPlayerContext()

PlayerContext * TV::GetPlayerContext ( )
private

Return a pointer to TV::m_playerContext.

Note
This should NOT be called from anything other than the main thread and GetPlayerReadLock or GetPlayerWriteLock should be called first (and ReleasePlayerLock called when finished).
This method is likely to be changed and/or removed.

Definition at line 160 of file tv_play.cpp.

Referenced by TVBrowseHelper::BrowseChannel(), TVBrowseHelper::BrowseStart(), GuideGrid::GetAlternateChannelIndex(), TVBrowseHelper::GetNextProgram(), IsPaused(), IsTunable(), StartTV(), and GuideGrid::updateChannelsNonUI().

◆ CreatePlayer()

bool TV::CreatePlayer ( TVState  State,
bool  Muted = false 
)
private

Definition at line 165 of file tv_play.cpp.

Referenced by StartPlayer(), and SwitchInputs().

◆ StartPlaying()

bool TV::StartPlaying ( std::chrono::milliseconds  MaxWait = -1ms)
private

Definition at line 201 of file tv_play.cpp.

Referenced by CreatePlayer().

◆ AcquireRelease()

TV * TV::AcquireRelease ( int &  RefCount,
bool  Acquire,
bool  Create = false 
)
staticprivate

Statically create, destroy or check the existence of the TV instance.

Parameters
RefCountWill be set to the reference count for the return object
AcquireIncrease refcount (or create) if true; reduce refcount (and possibly delete) for false
CreateIf false (default) do not create TV if it does not exist and retun nullptr

Definition at line 107 of file tv_play.cpp.

Referenced by IsPaused(), IsTunable(), IsTVRunning(), and StartTV().

◆ Init()

bool TV::Init ( )
private

Performs instance initialization, returns true on success.

Returns
Returns true on success, false on failure.

Definition at line 1104 of file tv_play.cpp.

Referenced by StartTV().

◆ InitFromDB()

void TV::InitFromDB ( )
private

Definition at line 996 of file tv_play.cpp.

Referenced by TV().

◆ ConvertScreenPressKeyMap()

QList< QKeyEvent * > TV::ConvertScreenPressKeyMap ( const QString &  KeyList)
staticprivate

Definition at line 3164 of file tv_play.cpp.

Referenced by InitFromDB().

◆ LiveTV()

bool TV::LiveTV ( bool  ShowDialogs,
const ChannelInfoList Selection 
)
private

Starts LiveTV.

Parameters
ShowDialogsif true error dialogs are shown, if false they are not
SelectionWhat channel to tune.

Definition at line 1482 of file tv_play.cpp.

Referenced by StartTV().

◆ Playback()

int TV::Playback ( const ProgramInfo ProgInfo)
private

Definition at line 1861 of file tv_play.cpp.

Referenced by StartTV().

◆ PlaybackLoop()

void TV::PlaybackLoop ( )
private

The main playback loop.

Definition at line 1258 of file tv_play.cpp.

Referenced by StartTV().

◆ ProcessKeypressOrGesture()

bool TV::ProcessKeypressOrGesture ( QEvent *  Event)
private

Definition at line 3242 of file tv_play.cpp.

Referenced by event().

◆ TranslateKeyPressOrGesture()

bool TV::TranslateKeyPressOrGesture ( const QString &  Context,
QEvent *  Event,
QStringList &  Actions,
bool  IsLiveTV,
bool  AllowJumps = true 
)
private

Definition at line 3229 of file tv_play.cpp.

Referenced by ProcessKeypressOrGesture().

◆ TranslateGesture()

bool TV::TranslateGesture ( const QString &  Context,
MythGestureEvent Event,
QStringList &  Actions,
bool  IsLiveTV 
)
private

Definition at line 3198 of file tv_play.cpp.

Referenced by TranslateKeyPressOrGesture().

◆ ProcessNetworkControlCommand()

void TV::ProcessNetworkControlCommand ( const QString &  Command)
private

Definition at line 4184 of file tv_play.cpp.

Referenced by timerEvent().

◆ HandleTrackAction()

bool TV::HandleTrackAction ( const QString &  Action)
private

Definition at line 3045 of file tv_play.cpp.

Referenced by ActiveHandleAction(), CommitQueuedInput(), and OSDDialogEvent().

◆ ActiveHandleAction()

bool TV::ActiveHandleAction ( const QStringList &  Actions,
bool  IsDVD,
bool  IsDVDStillFrame 
)
private

Definition at line 3740 of file tv_play.cpp.

Referenced by OSDDialogEvent(), and ProcessKeypressOrGesture().

◆ BrowseHandleAction()

bool TV::BrowseHandleAction ( const QStringList &  Actions)
private

Definition at line 3479 of file tv_play.cpp.

Referenced by ProcessKeypressOrGesture().

◆ OSDDialogEvent()

void TV::OSDDialogEvent ( int  Result,
const QString &  Text,
QString  Action 
)
private

Definition at line 7961 of file tv_play.cpp.

Referenced by customEvent().

◆ ToggleHandleAction()

bool TV::ToggleHandleAction ( const QStringList &  Actions,
bool  IsDVD 
)
private

Definition at line 4017 of file tv_play.cpp.

Referenced by ProcessKeypressOrGesture().

◆ FFRewHandleAction()

bool TV::FFRewHandleAction ( const QStringList &  Actions)
private

Definition at line 3980 of file tv_play.cpp.

Referenced by ProcessKeypressOrGesture().

◆ ActivePostQHandleAction()

bool TV::ActivePostQHandleAction ( const QStringList &  Actions)
private

Definition at line 4104 of file tv_play.cpp.

Referenced by OSDDialogEvent(), and ProcessKeypressOrGesture().

◆ HandleJumpToProgramAction()

bool TV::HandleJumpToProgramAction ( const QStringList &  Actions)
private

Definition at line 9399 of file tv_play.cpp.

Referenced by ActiveHandleAction(), and OSDDialogEvent().

◆ SeekHandleAction()

bool TV::SeekHandleAction ( const QStringList &  Actions,
bool  IsDVD 
)
private

Definition at line 4885 of file tv_play.cpp.

Referenced by ActiveHandleAction().

◆ TimeStretchHandleAction()

bool TV::TimeStretchHandleAction ( const QStringList &  Actions)
private

Definition at line 3630 of file tv_play.cpp.

Referenced by ProcessKeypressOrGesture().

◆ DiscMenuHandleAction()

bool TV::DiscMenuHandleAction ( const QStringList &  Actions) const
private

Definition at line 3724 of file tv_play.cpp.

Referenced by ProcessKeypressOrGesture().

◆ StartTimer()

int TV::StartTimer ( std::chrono::milliseconds  Interval,
int  Line 
)
private

◆ KillTimer()

void TV::KillTimer ( int  Id)
private

◆ SetSpeedChangeTimer()

void TV::SetSpeedChangeTimer ( std::chrono::milliseconds  When,
int  Line 
)
private

◆ HandleEndOfPlaybackTimerEvent()

void TV::HandleEndOfPlaybackTimerEvent ( )
private

Definition at line 2767 of file tv_play.cpp.

Referenced by timerEvent().

◆ HandleEndOfRecordingExitPromptTimerEvent()

void TV::HandleEndOfRecordingExitPromptTimerEvent ( )
private

Definition at line 2798 of file tv_play.cpp.

Referenced by timerEvent().

◆ HandleVideoExitDialogTimerEvent()

void TV::HandleVideoExitDialogTimerEvent ( )
private

Definition at line 2828 of file tv_play.cpp.

Referenced by timerEvent().

◆ HandlePseudoLiveTVTimerEvent()

void TV::HandlePseudoLiveTVTimerEvent ( )
private

Definition at line 2853 of file tv_play.cpp.

Referenced by timerEvent().

◆ HandleSpeedChangeTimerEvent()

void TV::HandleSpeedChangeTimerEvent ( )
private

Definition at line 2894 of file tv_play.cpp.

Referenced by timerEvent().

◆ ToggleSleepTimer() [1/2]

void TV::ToggleSleepTimer ( )
private

Definition at line 6987 of file tv_play.cpp.

Referenced by OSDDialogEvent(), and ToggleHandleAction().

◆ ToggleSleepTimer() [2/2]

void TV::ToggleSleepTimer ( const QString &  Time)
private

Definition at line 9471 of file tv_play.cpp.

◆ HandleLCDTimerEvent()

bool TV::HandleLCDTimerEvent ( )
private

Definition at line 2579 of file tv_play.cpp.

Referenced by timerEvent().

◆ HandleLCDVolumeTimerEvent()

void TV::HandleLCDVolumeTimerEvent ( )
private

Definition at line 2620 of file tv_play.cpp.

Referenced by timerEvent().

◆ HandleSaveLastPlayPosEvent()

void TV::HandleSaveLastPlayPosEvent ( )
private

Definition at line 9980 of file tv_play.cpp.

Referenced by timerEvent().

◆ EditSchedule()

void TV::EditSchedule ( int  EditType = kScheduleProgramGuide)
private

◆ IsTunablePriv()

bool TV::IsTunablePriv ( uint  ChanId)
private

Definition at line 6659 of file tv_play.cpp.

Referenced by ChangeChannel(), and HandleStateChange().

◆ IsTunableOn()

QVector< uint > TV::IsTunableOn ( PlayerContext Context,
uint  ChanId 
)
staticprivate

Definition at line 6676 of file tv_play.cpp.

Referenced by ChangeChannel(), IsTunable(), IsTunablePriv(), and RequestNextRecorder().

◆ ChangeChannel() [1/3]

void TV::ChangeChannel ( const ChannelInfoList Options)
private

◆ DoEditSchedule()

void TV::DoEditSchedule ( int  EditType = kScheduleProgramGuide)
private

Definition at line 6764 of file tv_play.cpp.

Referenced by customEvent().

◆ GetRecordingGroup()

QString TV::GetRecordingGroup ( ) const
private

Definition at line 10018 of file tv_play.cpp.

Referenced by FillOSDMenuJumpRec(), and PlaybackBox::PlaybackBox().

◆ UpdateChannelList()

void TV::UpdateChannelList ( int  GroupID)
private

update the channel list with channels from the selected channel group

Definition at line 1294 of file tv_play.cpp.

Referenced by OSDDialogEvent(), and GuideGrid::~GuideGrid().

◆ GetOSDL()

OSD * TV::GetOSDL ( )
private

◆ ReturnOSDLock()

void TV::ReturnOSDLock ( ) const
private

◆ GetPlayerWriteLock()

void TV::GetPlayerWriteLock ( ) const
private

Definition at line 10081 of file tv_play.cpp.

Referenced by customEvent(), and ScheduleStateChange().

◆ GetPlayerReadLock()

void TV::GetPlayerReadLock ( ) const
private

◆ ReturnPlayerLock()

void TV::ReturnPlayerLock ( ) const
private

◆ ToggleAutoExpire()

void TV::ToggleAutoExpire ( )
private

Definition at line 9351 of file tv_play.cpp.

Referenced by OSDDialogEvent().

◆ QuickRecord()

void TV::QuickRecord ( )
private

Definition at line 7539 of file tv_play.cpp.

Referenced by BrowseHandleAction(), and ToggleHandleAction().

◆ StateIsRecording()

bool TV::StateIsRecording ( TVState  State)
staticprivate

Definition at line 1891 of file tv_play.cpp.

Referenced by PrepareToExitPlayer().

◆ StateIsPlaying()

bool TV::StateIsPlaying ( TVState  State)
staticprivate

◆ StateIsLiveTV()

bool TV::StateIsLiveTV ( TVState  State)
staticprivate

◆ GetState()

TVState TV::GetState ( ) const
private

◆ HandleStateChange()

void TV::HandleStateChange ( )
private

Changes the state to the state on the front of the state change queue.

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 1933 of file tv_play.cpp.

Referenced by LiveTV(), Playback(), and ScheduleStateChange().

◆ GetStatus()

void TV::GetStatus ( )
private

Definition at line 1326 of file tv_play.cpp.

Referenced by customEvent().

◆ ForceNextStateNone()

void TV::ForceNextStateNone ( )
private

Definition at line 2648 of file tv_play.cpp.

Referenced by HandleEndOfPlaybackTimerEvent(), and timerEvent().

◆ ScheduleStateChange()

void TV::ScheduleStateChange ( )
private

Definition at line 2654 of file tv_play.cpp.

Referenced by customEvent(), ForceNextStateNone(), StartPlayer(), and SwitchInputs().

◆ ScheduleInputChange()

void TV::ScheduleInputChange ( )
private

Definition at line 2677 of file tv_play.cpp.

Referenced by OSDDialogEvent(), and SwitchSource().

◆ SetErrored()

void TV::SetErrored ( )
private

Definition at line 2694 of file tv_play.cpp.

Referenced by HandleStateChange(), StartRecorder(), and SwitchInputs().

◆ SetInPlayList()

void TV::SetInPlayList ( bool  InPlayList)
inlineprivate

Definition at line 284 of file tv_play.h.

Referenced by OSDDialogEvent(), and StartTV().

◆ setUnderNetworkControl()

void TV::setUnderNetworkControl ( bool  setting)
inlineprivate

Definition at line 285 of file tv_play.h.

Referenced by StartTV().

◆ PrepToSwitchToRecordedProgram()

void TV::PrepToSwitchToRecordedProgram ( const ProgramInfo ProgInfo)
private

Definition at line 2701 of file tv_play.cpp.

Referenced by Embed(), and HandleJumpToProgramAction().

◆ PrepareToExitPlayer()

void TV::PrepareToExitPlayer ( int  Line)
private

◆ SetExitPlayer()

void TV::SetExitPlayer ( bool  SetIt,
bool  WantsTo 
)
private

◆ RequestNextRecorder()

bool TV::RequestNextRecorder ( bool  ShowDialogs,
const ChannelInfoList Selection = ChannelInfoList() 
)
private

Definition at line 1510 of file tv_play.cpp.

Referenced by LiveTV().

◆ DeleteRecorder()

void TV::DeleteRecorder ( )
private

◆ StartRecorder()

bool TV::StartRecorder ( std::chrono::milliseconds  MaxWait = -1ms)
private

Starts recorder, must be called before StartPlayer().

Parameters
MaxWaitHow long to wait for RecorderBase to start recording. If not provided, this defaults to 40 seconds.
Returns
true when successful, false otherwise.

Definition at line 2278 of file tv_play.cpp.

Referenced by HandleStateChange(), and SwitchInputs().

◆ StopStuff()

void TV::StopStuff ( bool  StopRingBuffer,
bool  StopPlayer,
bool  StopRecorder 
)
private

Can shut down the ringbuffers, the players, and in LiveTV it can shut down the recorders.

The player needs to be partially shutdown before the recorder, and partially shutdown after the recorder. Hence these are shutdown from within the same method. Also, shutting down things in the right order avoids spewing error messages...

Parameters
StopRingBufferSet to true if ringbuffer must be shut down.
StopPlayerSet to true if player must be shut down.
StopRecorderSet to true if recorder must be shut down.

Definition at line 2328 of file tv_play.cpp.

Referenced by HandleStateChange(), and SwitchInputs().

◆ StartPlayer()

bool TV::StartPlayer ( TVState  desiredState)
private

Definition at line 4654 of file tv_play.cpp.

Referenced by HandleStateChange().

◆ IsSwitchingCards()

bool TV::IsSwitchingCards ( ) const
inlineprivate

Returns true if we are currently in the process of switching recorders.

Definition at line 303 of file tv_play.h.

◆ GetAllowRerecord()

bool TV::GetAllowRerecord ( ) const
inlineprivate

Returns true if the user told Mythtv to allow re-recording of the show.

Definition at line 305 of file tv_play.h.

Referenced by StartTV().

◆ GetEndOfRecording()

bool TV::GetEndOfRecording ( ) const
inlineprivate

This is set to true if the player reaches the end of the recording without the user explicitly exiting the player.

Definition at line 308 of file tv_play.h.

Referenced by PrepareToExitPlayer(), and StartTV().

◆ GetJumpToProgram()

bool TV::GetJumpToProgram ( ) const
inlineprivate

This is set if the user asked MythTV to jump to the previous recording in the playlist.

Definition at line 311 of file tv_play.h.

Referenced by StartTV().

◆ IsDeleteAllowed()

bool TV::IsDeleteAllowed ( )
private

Definition at line 9780 of file tv_play.cpp.

Referenced by HandleOSDVideoExit(), and ShowOSDStopWatchingRecording().

◆ ToggleChannelFavorite() [1/2]

void TV::ToggleChannelFavorite ( )
staticprivate

Definition at line 5655 of file tv_play.cpp.

Referenced by ToggleHandleAction().

◆ ToggleChannelFavorite() [2/2]

void TV::ToggleChannelFavorite ( const QString &  ChangroupName) const
private

Definition at line 5662 of file tv_play.cpp.

◆ ChangeChannel() [2/3]

void TV::ChangeChannel ( ChannelChangeDirection  Direction)
private

Definition at line 5884 of file tv_play.cpp.

◆ ChangeChannel() [3/3]

void TV::ChangeChannel ( uint  Chanid,
const QString &  Channum 
)
private

Definition at line 5978 of file tv_play.cpp.

◆ ShowPreviousChannel()

void TV::ShowPreviousChannel ( )
private

Definition at line 6140 of file tv_play.cpp.

Referenced by PopPreviousChannel().

◆ PopPreviousChannel()

void TV::PopPreviousChannel ( bool  ImmediateChange)
private

Definition at line 6149 of file tv_play.cpp.

Referenced by ActivePostQHandleAction(), and OSDDialogEvent().

◆ AddKeyToInputQueue()

void TV::AddKeyToInputQueue ( char  Key)
private

◆ ClearInputQueues()

void TV::ClearInputQueues ( bool  Hideosd)
private

Clear channel key buffer of input keys.

Parameters
Hideosdif true, hides "channel_number" OSDSet.

Definition at line 5702 of file tv_play.cpp.

Referenced by ActiveHandleAction(), ChangeChannel(), ClearOSD(), CommitQueuedInput(), DoArbSeek(), HandleTrackAction(), Init(), and timerEvent().

◆ CommitQueuedInput()

bool TV::CommitQueuedInput ( )
private

◆ ProcessSmartChannel()

bool TV::ProcessSmartChannel ( QString &  InputStr)
private

Definition at line 5764 of file tv_play.cpp.

Referenced by AddKeyToInputQueue().

◆ HasQueuedInput()

bool TV::HasQueuedInput ( ) const
inlineprivate

◆ HasQueuedChannel()

bool TV::HasQueuedChannel ( ) const
inlineprivate

Definition at line 331 of file tv_play.h.

Referenced by ActiveHandleAction(), ClearOSD(), and timerEvent().

◆ GetQueuedInput()

QString TV::GetQueuedInput ( ) const
private

Definition at line 5668 of file tv_play.cpp.

Referenced by AddKeyToInputQueue().

◆ GetQueuedInputAsInt()

int TV::GetQueuedInputAsInt ( bool OK = nullptr,
int  Base = 10 
) const
private

Definition at line 5673 of file tv_play.cpp.

Referenced by DoArbSeek(), and HandleTrackAction().

◆ GetQueuedChanNum()

QString TV::GetQueuedChanNum ( ) const
private

Definition at line 5678 of file tv_play.cpp.

Referenced by CommitQueuedInput(), and ProcessSmartChannel().

◆ GetQueuedChanID()

uint TV::GetQueuedChanID ( ) const
inlineprivate

Definition at line 337 of file tv_play.h.

Referenced by ChangeChannel(), and CommitQueuedInput().

◆ SwitchSource()

void TV::SwitchSource ( uint  Direction)
private

Definition at line 5440 of file tv_play.cpp.

Referenced by ActivePostQHandleAction().

◆ SwitchInputs()

void TV::SwitchInputs ( uint  ChanID = 0,
QString  ChanNum = "",
uint  InputID = 0 
)
private

Definition at line 5496 of file tv_play.cpp.

Referenced by ActivePostQHandleAction(), ChangeChannel(), and ScheduleInputChange().

◆ PauseLiveTV()

void TV::PauseLiveTV ( )
private

Used in ChangeChannel() to temporarily stop video output.

Definition at line 9566 of file tv_play.cpp.

Referenced by ActiveHandleAction(), and ChangeChannel().

◆ UnpauseLiveTV()

void TV::UnpauseLiveTV ( bool  Quietly = false)
private

Used in ChangeChannel() to restart video output.

Definition at line 9603 of file tv_play.cpp.

Referenced by ActiveHandleAction(), ChangeChannel(), and SwitchInputs().

◆ DoPlay()

void TV::DoPlay ( )
private

Definition at line 4677 of file tv_play.cpp.

Referenced by ActiveHandleAction(), and OSDDialogEvent().

◆ DoTogglePauseStart()

float TV::DoTogglePauseStart ( )
private

Definition at line 4711 of file tv_play.cpp.

Referenced by DoSetPauseState(), and DoTogglePause().

◆ DoTogglePauseFinish()

void TV::DoTogglePauseFinish ( float  Time,
bool  ShowOSD 
)
private

Definition at line 4740 of file tv_play.cpp.

Referenced by DoSetPauseState(), and DoTogglePause().

◆ DoTogglePause()

void TV::DoTogglePause ( bool  ShowOSD)
private

◆ DoSetPauseState()

bool TV::DoSetPauseState ( bool  Pause)
private

Definition at line 6753 of file tv_play.cpp.

Referenced by DoEditSchedule(), and Embed().

◆ ContextIsPaused()

bool TV::ContextIsPaused ( const char *  File,
int  Location 
)
private

◆ SetLastProgram()

void TV::SetLastProgram ( const ProgramInfo ProgInfo)
private

◆ GetLastProgram()

ProgramInfo * TV::GetLastProgram ( ) const
private

Definition at line 10010 of file tv_play.cpp.

Referenced by FillOSDMenuJumpRec(), and StartTV().

◆ DoSeek() [1/2]

void TV::DoSeek ( float  Time,
const QString &  Msg,
bool  TimeIsOffset,
bool  HonorCutlist 
)
private

◆ DoSeek() [2/2]

void TV::DoSeek ( std::chrono::seconds  TimeInSec,
const QString &  Msg,
bool  TimeIsOffset,
bool  HonorCutlist 
)
inlineprivate

Definition at line 359 of file tv_play.h.

◆ DoPlayerSeek()

bool TV::DoPlayerSeek ( float  Time)
private

◆ DoPlayerSeekToFrame()

bool TV::DoPlayerSeekToFrame ( uint64_t  FrameNum)
private

Definition at line 4856 of file tv_play.cpp.

Referenced by ActiveHandleAction(), DoSeek(), and SeekHandleAction().

◆ DoSeekAbsolute()

void TV::DoSeekAbsolute ( long long  Seconds,
bool  HonorCutlist 
)
private

Definition at line 5005 of file tv_play.cpp.

Referenced by customEvent(), DoArbSeek(), and ProcessNetworkControlCommand().

◆ DoArbSeek()

void TV::DoArbSeek ( ArbSeekWhence  Whence,
bool  HonorCutlist 
)
private

Definition at line 5019 of file tv_play.cpp.

Referenced by ActiveHandleAction(), CommitQueuedInput(), and SeekHandleAction().

◆ DoJumpFFWD()

void TV::DoJumpFFWD ( )
private

Definition at line 9650 of file tv_play.cpp.

Referenced by ActiveHandleAction(), ActivePostQHandleAction(), and OSDDialogEvent().

◆ DoJumpRWND()

void TV::DoJumpRWND ( )
private

Definition at line 9665 of file tv_play.cpp.

Referenced by ActiveHandleAction(), ActivePostQHandleAction(), and OSDDialogEvent().

◆ DoSeekFFWD()

void TV::DoSeekFFWD ( )
private

Definition at line 9660 of file tv_play.cpp.

Referenced by OSDDialogEvent().

◆ DoSeekRWND()

void TV::DoSeekRWND ( )
private

Definition at line 9675 of file tv_play.cpp.

Referenced by OSDDialogEvent().

◆ NormalSpeed()

void TV::NormalSpeed ( )
private

◆ ChangeSpeed()

void TV::ChangeSpeed ( int  Direction)
private

Definition at line 5071 of file tv_play.cpp.

Referenced by ActiveHandleAction().

◆ ToggleTimeStretch()

void TV::ToggleTimeStretch ( )
private

Definition at line 6921 of file tv_play.cpp.

Referenced by OSDDialogEvent(), TimeStretchHandleAction(), and ToggleHandleAction().

◆ ChangeTimeStretch()

void TV::ChangeTimeStretch ( int  Dir,
bool  AllowEdit = true 
)
private

◆ DVDJumpBack()

void TV::DVDJumpBack ( )
private

Definition at line 9683 of file tv_play.cpp.

Referenced by DoJumpRWND().

◆ DVDJumpForward()

void TV::DVDJumpForward ( )
private

Definition at line 9716 of file tv_play.cpp.

Referenced by DoJumpFFWD().

◆ StopFFRew()

float TV::StopFFRew ( )
private

◆ ChangeFFRew()

void TV::ChangeFFRew ( int  Direction)
private

Definition at line 5144 of file tv_play.cpp.

Referenced by SeekHandleAction().

◆ SetFFRew()

void TV::SetFFRew ( int  Index)
private

Definition at line 5177 of file tv_play.cpp.

Referenced by ChangeFFRew(), FFRewHandleAction(), and ProcessNetworkControlCommand().

◆ AudioSyncHandleAction()

bool TV::AudioSyncHandleAction ( const QStringList &  Actions)
private

Definition at line 3655 of file tv_play.cpp.

Referenced by ProcessKeypressOrGesture().

◆ GetNumChapters()

int TV::GetNumChapters ( )
private

Definition at line 5271 of file tv_play.cpp.

Referenced by DoJumpFFWD(), DoJumpRWND(), and PlaybackMenuInit().

◆ GetChapterTimes()

void TV::GetChapterTimes ( QList< std::chrono::seconds > &  Times)
private

Definition at line 5281 of file tv_play.cpp.

Referenced by PlaybackMenuInit().

◆ GetCurrentChapter()

int TV::GetCurrentChapter ( )
private

Definition at line 5289 of file tv_play.cpp.

Referenced by PlaybackMenuInit().

◆ GetNumTitles()

int TV::GetNumTitles ( )
private

Definition at line 5314 of file tv_play.cpp.

Referenced by PlaybackMenuInit().

◆ GetCurrentTitle()

int TV::GetCurrentTitle ( )
private

Definition at line 5324 of file tv_play.cpp.

Referenced by PlaybackMenuInit().

◆ GetTitleDuration()

std::chrono::seconds TV::GetTitleDuration ( int  Title)
private

Definition at line 5364 of file tv_play.cpp.

Referenced by MenuItemDisplayPlayback().

◆ GetTitleName()

QString TV::GetTitleName ( int  Title)
private

Definition at line 5375 of file tv_play.cpp.

Referenced by MenuItemDisplayPlayback().

◆ DoSwitchTitle()

void TV::DoSwitchTitle ( int  Title)
private

Definition at line 5385 of file tv_play.cpp.

Referenced by customEvent(), and OSDDialogEvent().

◆ GetNumAngles()

int TV::GetNumAngles ( )
private

Definition at line 5334 of file tv_play.cpp.

Referenced by PlaybackMenuInit().

◆ GetCurrentAngle()

int TV::GetCurrentAngle ( )
private

Definition at line 5344 of file tv_play.cpp.

Referenced by PlaybackMenuInit().

◆ GetAngleName()

QString TV::GetAngleName ( int  Angle)
private

Definition at line 5354 of file tv_play.cpp.

Referenced by MenuItemDisplayPlayback().

◆ DoSwitchAngle()

void TV::DoSwitchAngle ( int  Angle)
private

Definition at line 5401 of file tv_play.cpp.

Referenced by customEvent(), and OSDDialogEvent().

◆ DoJumpChapter()

void TV::DoJumpChapter ( int  Chapter)
private

◆ DoSkipCommercials()

void TV::DoSkipCommercials ( int  Direction)
private

Definition at line 5417 of file tv_play.cpp.

Referenced by ActiveHandleAction().

◆ SetAutoCommercialSkip()

void TV::SetAutoCommercialSkip ( CommSkipMode  SkipMode = kCommSkipOff)
private

Definition at line 9374 of file tv_play.cpp.

Referenced by ActiveHandleAction(), and OSDDialogEvent().

◆ DoQueueTranscode()

void TV::DoQueueTranscode ( const QString &  Profile)
private

Definition at line 5222 of file tv_play.cpp.

Referenced by ActiveHandleAction(), and OSDDialogEvent().

◆ IsBookmarkAllowed()

bool TV::IsBookmarkAllowed ( )
private

Definition at line 9754 of file tv_play.cpp.

◆ SetBookmark()

void TV::SetBookmark ( bool  Clear = false)
private

Definition at line 4086 of file tv_play.cpp.

Referenced by ActivePostQHandleAction().

◆ ClearOSD()

void TV::ClearOSD ( )
private

◆ ToggleOSD()

void TV::ToggleOSD ( bool  IncludeStatusOSD)
private

Cycle through the available Info OSDs.

Definition at line 6196 of file tv_play.cpp.

Referenced by ActiveHandleAction(), and StartOsdNavigation().

◆ UpdateOSDProgInfo()

void TV::UpdateOSDProgInfo ( const char *  WhichInfo)
private

Update and display the passed OSD set with programinfo.

Definition at line 6262 of file tv_play.cpp.

Referenced by ToggleOSD(), and UnpauseLiveTV().

◆ UpdateOSDStatus() [1/2]

void TV::UpdateOSDStatus ( const QString &  Title,
const QString &  Desc,
const QString &  Value,
int  Type,
const QString &  Units,
int  Position = 0,
enum OSDTimeout  Timeout = kOSDTimeout_Med 
)
private

◆ UpdateOSDStatus() [2/2]

void TV::UpdateOSDStatus ( osdInfo Info,
int  Type,
enum OSDTimeout  Timeout 
)
private

Definition at line 6274 of file tv_play.cpp.

◆ UpdateOSDSeekMessage()

void TV::UpdateOSDSeekMessage ( const QString &  Msg,
enum OSDTimeout  Timeout 
)
private

◆ UpdateOSDInput()

void TV::UpdateOSDInput ( )
private

Definition at line 6316 of file tv_play.cpp.

Referenced by ChangeChannel(), HandleStateChange(), and SwitchInputs().

◆ UpdateOSDSignal()

void TV::UpdateOSDSignal ( const QStringList &  List)
private

Updates Signal portion of OSD...

Definition at line 6327 of file tv_play.cpp.

Referenced by customEvent(), and timerEvent().

◆ UpdateOSDTimeoutMessage()

void TV::UpdateOSDTimeoutMessage ( )
private

Definition at line 6485 of file tv_play.cpp.

Referenced by customEvent(), and timerEvent().

◆ CalcPlayerSliderPosition()

bool TV::CalcPlayerSliderPosition ( osdInfo info,
bool  paddedFields = false 
) const
private

◆ HideOSDWindow()

void TV::HideOSDWindow ( const char *  window)
private

◆ SubtitleZoomHandleAction()

bool TV::SubtitleZoomHandleAction ( const QStringList &  Actions)
private

Definition at line 3678 of file tv_play.cpp.

Referenced by ProcessKeypressOrGesture().

◆ SubtitleDelayHandleAction()

bool TV::SubtitleDelayHandleAction ( const QStringList &  Actions)
private

Definition at line 3701 of file tv_play.cpp.

Referenced by ProcessKeypressOrGesture().

◆ DoTogglePictureAttribute()

void TV::DoTogglePictureAttribute ( PictureAdjustType  Type)
private

Definition at line 7665 of file tv_play.cpp.

Referenced by OSDDialogEvent(), and ToggleHandleAction().

◆ PictureAttributeHandleAction()

bool TV::PictureAttributeHandleAction ( const QStringList &  Actions)
private

Definition at line 3601 of file tv_play.cpp.

Referenced by ProcessKeypressOrGesture().

◆ NextPictureAdjustType()

PictureAttribute TV::NextPictureAdjustType ( PictureAdjustType  Type,
PictureAttribute  Attr 
)
private

Definition at line 7643 of file tv_play.cpp.

Referenced by DoTogglePictureAttribute().

◆ OverrideScan()

void TV::OverrideScan ( FrameScanType  Scan)
private

Definition at line 9335 of file tv_play.cpp.

Referenced by ActiveHandleAction(), and OSDDialogEvent().

◆ ITVRestart()

void TV::ITVRestart ( bool  IsLive)
private

Restart the MHEG/MHP engine.

Definition at line 9631 of file tv_play.cpp.

Referenced by HandleStateChange(), SwitchInputs(), and UnpauseLiveTV().

◆ SetManualZoom()

void TV::SetManualZoom ( bool  ZoomON,
const QString &  Desc 
)
private

Definition at line 9390 of file tv_play.cpp.

Referenced by ManualZoomHandleAction(), and OSDDialogEvent().

◆ ManualZoomHandleAction()

bool TV::ManualZoomHandleAction ( const QStringList &  Actions)
private

Definition at line 3524 of file tv_play.cpp.

Referenced by ProcessKeypressOrGesture().

◆ StartChannelEditMode()

void TV::StartChannelEditMode ( )
private

Starts channel editing mode.

Definition at line 7834 of file tv_play.cpp.

Referenced by OSDDialogEvent(), and ToggleHandleAction().

◆ HandleOSDChannelEdit()

bool TV::HandleOSDChannelEdit ( const QString &  Action)
private

Processes channel editing key.

Definition at line 7878 of file tv_play.cpp.

Referenced by OSDDialogEvent().

◆ ChannelEditAutoFill()

void TV::ChannelEditAutoFill ( InfoMap Info)
private

Automatically fills in as much information as possible.

Definition at line 7914 of file tv_play.cpp.

Referenced by HandleOSDChannelEdit(), and StartChannelEditMode().

◆ ChannelEditXDSFill()

void TV::ChannelEditXDSFill ( InfoMap Info)
private

Definition at line 7924 of file tv_play.cpp.

Referenced by ChannelEditAutoFill().

◆ DialogIsVisible()

bool TV::DialogIsVisible ( const QString &  Dialog)
private

◆ HandleOSDInfo()

void TV::HandleOSDInfo ( const QString &  Action)
private

Definition at line 8316 of file tv_play.cpp.

Referenced by OSDDialogEvent().

◆ ShowNoRecorderDialog()

void TV::ShowNoRecorderDialog ( NoRecorderMsg  MsgType = kNoRecorders)
private

Definition at line 9535 of file tv_play.cpp.

Referenced by ChangeChannel(), and RequestNextRecorder().

◆ ShowOSDAskAllow()

void TV::ShowOSDAskAllow ( )
private

Definition at line 1604 of file tv_play.cpp.

Referenced by AskAllowRecording().

◆ HandleOSDAskAllow()

void TV::HandleOSDAskAllow ( const QString &  Action)
private

Definition at line 1823 of file tv_play.cpp.

Referenced by OSDDialogEvent().

◆ AskAllowRecording()

void TV::AskAllowRecording ( const QStringList &  Msg,
int  Timeuntil,
bool  HasRec,
bool  HasLater 
)
private

Definition at line 1563 of file tv_play.cpp.

Referenced by customEvent().

◆ ShowOSDCutpoint()

void TV::ShowOSDCutpoint ( const QString &  Type)
private

Definition at line 7701 of file tv_play.cpp.

Referenced by ProcessKeypressOrGesture().

◆ HandleOSDCutpoint()

bool TV::HandleOSDCutpoint ( const QString &  Action)
private

Definition at line 7745 of file tv_play.cpp.

Referenced by OSDDialogEvent().

◆ StartProgramEditMode()

void TV::StartProgramEditMode ( )
private

Starts Program Cut Map Editing mode.

Definition at line 7768 of file tv_play.cpp.

Referenced by OSDDialogEvent(), and ToggleHandleAction().

◆ ShowOSDAlreadyEditing()

void TV::ShowOSDAlreadyEditing ( )
private

Definition at line 7783 of file tv_play.cpp.

Referenced by StartProgramEditMode().

◆ HandleOSDAlreadyEditing()

void TV::HandleOSDAlreadyEditing ( const QString &  Action,
bool  WasPaused 
)
private

Definition at line 7797 of file tv_play.cpp.

Referenced by OSDDialogEvent().

◆ ShowOSDSleep()

void TV::ShowOSDSleep ( )
private

Definition at line 7013 of file tv_play.cpp.

Referenced by timerEvent().

◆ HandleOSDSleep()

void TV::HandleOSDSleep ( const QString &  Action)
private

Definition at line 7029 of file tv_play.cpp.

Referenced by OSDDialogEvent().

◆ SleepDialogTimeout()

void TV::SleepDialogTimeout ( )
private

Definition at line 7050 of file tv_play.cpp.

Referenced by timerEvent().

◆ ShowOSDIdle()

void TV::ShowOSDIdle ( )
private

After idleTimer has expired, display a dialogue warning the user that we will exit LiveTV unless they take action. We change idleTimer, to 45 seconds and when it expires for a second time we quit the player. If the user so decides, they may hit ok and we reset the timer back to the default expiry period.

Definition at line 7068 of file tv_play.cpp.

Referenced by timerEvent().

◆ HandleOSDIdle()

void TV::HandleOSDIdle ( const QString &  Action)
private

Definition at line 7084 of file tv_play.cpp.

Referenced by OSDDialogEvent().

◆ IdleDialogTimeout()

void TV::IdleDialogTimeout ( )
private

Definition at line 7107 of file tv_play.cpp.

Referenced by timerEvent().

◆ ShowOSDStopWatchingRecording()

void TV::ShowOSDStopWatchingRecording ( )
private

Definition at line 9795 of file tv_play.cpp.

Referenced by ActiveHandleAction().

◆ ShowOSDPromptDeleteRecording()

void TV::ShowOSDPromptDeleteRecording ( const QString &  Title,
bool  Force = false 
)
private

◆ HandleOSDVideoExit()

bool TV::HandleOSDVideoExit ( const QString &  Action)
private

Definition at line 9936 of file tv_play.cpp.

Referenced by OSDDialogEvent().

◆ StartOsdNavigation()

void TV::StartOsdNavigation ( )
private

Definition at line 7863 of file tv_play.cpp.

Referenced by ToggleHandleAction().

◆ ShowOSDMenu()

void TV::ShowOSDMenu ( bool  isCompact = false)
private

Definition at line 9210 of file tv_play.cpp.

Referenced by ActiveHandleAction(), OSDDialogEvent(), and ToggleHandleAction().

◆ FillOSDMenuJumpRec()

void TV::FillOSDMenuJumpRec ( const QString &  Category = "",
int  Level = 0,
const QString &  Selected = "" 
)
private

Definition at line 9228 of file tv_play.cpp.

Referenced by HandleJumpToProgramAction(), and OSDDialogEvent().

◆ PlaybackMenuShow()

void TV::PlaybackMenuShow ( const MythTVMenu Menu,
const QDomNode &  Node,
const QDomNode &  Selected 
)
private

Definition at line 9136 of file tv_play.cpp.

Referenced by customEvent(), ShowOSDCutpoint(), and ShowOSDMenu().

◆ MenuItemDisplay()

bool TV::MenuItemDisplay ( const MythTVMenuItemContext Context,
MythOSDDialogData Menu 
)
overrideprivatevirtual

Implements MythTVMenuItemDisplayer.

Definition at line 8334 of file tv_play.cpp.

◆ MenuItemDisplayPlayback()

bool TV::MenuItemDisplayPlayback ( const MythTVMenuItemContext Context,
MythOSDDialogData Menu 
)
private

Definition at line 8478 of file tv_play.cpp.

Referenced by MenuItemDisplay().

◆ MenuItemDisplayCutlist()

bool TV::MenuItemDisplayCutlist ( const MythTVMenuItemContext Context,
MythOSDDialogData Menu 
)
private

Definition at line 8343 of file tv_play.cpp.

Referenced by MenuItemDisplay().

◆ PlaybackMenuInit()

void TV::PlaybackMenuInit ( const MythTVMenu Menu)
private

Definition at line 9041 of file tv_play.cpp.

Referenced by PlaybackMenuShow().

◆ PlaybackMenuDeinit()

void TV::PlaybackMenuDeinit ( const MythTVMenu Menu)
private

Definition at line 9131 of file tv_play.cpp.

Referenced by PlaybackMenuShow().

◆ MenuStrings()

void TV::MenuStrings ( )
staticprivate

Definition at line 9164 of file tv_play.cpp.

◆ MenuLazyInit()

void TV::MenuLazyInit ( void *  Field)
private

Definition at line 9034 of file tv_play.cpp.

◆ getMenuFromId()

const MythTVMenu & TV::getMenuFromId ( MenuTypeId  id)
private

Definition at line 7125 of file tv_play.cpp.

Referenced by customEvent().

◆ UpdateLCD()

void TV::UpdateLCD ( )
private

Definition at line 6565 of file tv_play.cpp.

Referenced by HandleStateChange(), and UnpauseLiveTV().

◆ ShowLCDChannelInfo()

void TV::ShowLCDChannelInfo ( )
private

Definition at line 6573 of file tv_play.cpp.

Referenced by HandleLCDTimerEvent(), and HandleLCDVolumeTimerEvent().

◆ ShowLCDDVDInfo()

void TV::ShowLCDDVDInfo ( )
private

Definition at line 6599 of file tv_play.cpp.

Referenced by HandleLCDTimerEvent().

Friends And Related Function Documentation

◆ PlaybackBox

friend class PlaybackBox
friend

Definition at line 154 of file tv_play.h.

◆ GuideGrid

friend class GuideGrid
friend

Definition at line 155 of file tv_play.h.

◆ TVBrowseHelper

friend class TVBrowseHelper
friend

Definition at line 156 of file tv_play.h.

Member Data Documentation

◆ lastProgramStringList

QStringList TV::lastProgramStringList = {}
inlinestaticprivate

Definition at line 191 of file tv_play.h.

Referenced by StartTV(), and timerEvent().

◆ RunPlaybackBoxPtr

EMBEDRETURNVOID TV::RunPlaybackBoxPtr = nullptr
inlinestaticprivate

Definition at line 192 of file tv_play.h.

Referenced by DoEditSchedule(), HandleJumpToProgramAction(), and SetFuncPtr().

◆ RunViewScheduledPtr

EMBEDRETURNVOID TV::RunViewScheduledPtr = nullptr
inlinestaticprivate

Definition at line 193 of file tv_play.h.

Referenced by DoEditSchedule(), and SetFuncPtr().

◆ RunProgramGuidePtr

EMBEDRETURNVOIDEPG TV::RunProgramGuidePtr = nullptr
inlinestaticprivate

Definition at line 194 of file tv_play.h.

Referenced by DoEditSchedule(), and SetFuncPtr().

◆ RunProgramFinderPtr

EMBEDRETURNVOIDFINDER TV::RunProgramFinderPtr = nullptr
inlinestaticprivate

Definition at line 195 of file tv_play.h.

Referenced by DoEditSchedule(), and SetFuncPtr().

◆ RunScheduleEditorPtr

EMBEDRETURNVOIDSCHEDIT TV::RunScheduleEditorPtr = nullptr
inlinestaticprivate

Definition at line 196 of file tv_play.h.

Referenced by DoEditSchedule(), and SetFuncPtr().

◆ m_mainWindow

MythMainWindow* TV::m_mainWindow { nullptr }
private

◆ m_dbChannelFormat

QString TV::m_dbChannelFormat {"<num> <sign>"}
private

Definition at line 506 of file tv_play.h.

Referenced by InitFromDB(), and ShowOSDAskAllow().

◆ m_dbIdleTimeout

std::chrono::milliseconds TV::m_dbIdleTimeout {0ms}
private

Definition at line 507 of file tv_play.h.

Referenced by HandleOSDIdle(), InitFromDB(), LiveTV(), ProcessKeypressOrGesture(), and ShowOSDIdle().

◆ m_dbPlaybackExitPrompt

int TV::m_dbPlaybackExitPrompt {0}
private

Definition at line 508 of file tv_play.h.

Referenced by ActiveHandleAction(), and InitFromDB().

◆ m_dbAutoexpireDefault

uint TV::m_dbAutoexpireDefault {0}
private

Definition at line 509 of file tv_play.h.

Referenced by InitFromDB(), and QuickRecord().

◆ m_dbAutoSetWatched

bool TV::m_dbAutoSetWatched {false}
private

Definition at line 510 of file tv_play.h.

Referenced by InitFromDB(), and PrepareToExitPlayer().

◆ m_dbEndOfRecExitPrompt

bool TV::m_dbEndOfRecExitPrompt {false}
private

Definition at line 511 of file tv_play.h.

Referenced by HandleEndOfPlaybackTimerEvent(), HandleStateChange(), and InitFromDB().

◆ m_dbJumpPreferOsd

bool TV::m_dbJumpPreferOsd {true}
private

Definition at line 512 of file tv_play.h.

Referenced by HandleJumpToProgramAction(), and InitFromDB().

◆ m_dbUseGuiSizeForTv

bool TV::m_dbUseGuiSizeForTv {false}
private

Definition at line 513 of file tv_play.h.

Referenced by DoEditSchedule(), Init(), and InitFromDB().

◆ m_dbUseVideoModes

bool TV::m_dbUseVideoModes {false}
private

Definition at line 514 of file tv_play.h.

Referenced by Embed(), HandleStateChange(), and InitFromDB().

◆ m_dbRunJobsOnRemote

bool TV::m_dbRunJobsOnRemote {false}
private

Definition at line 515 of file tv_play.h.

Referenced by DoQueueTranscode(), and InitFromDB().

◆ m_dbContinueEmbedded

bool TV::m_dbContinueEmbedded {false}
private

Definition at line 516 of file tv_play.h.

Referenced by DoEditSchedule(), and InitFromDB().

◆ m_dbBrowseAlways

bool TV::m_dbBrowseAlways {false}
private

Definition at line 517 of file tv_play.h.

Referenced by ActivePostQHandleAction(), and InitFromDB().

◆ m_dbBrowseAllTuners

bool TV::m_dbBrowseAllTuners {false}
private

Definition at line 518 of file tv_play.h.

Referenced by InitFromDB().

◆ m_dbUseChannelGroups

bool TV::m_dbUseChannelGroups {false}
private

◆ m_dbRememberLastChannelGroup

bool TV::m_dbRememberLastChannelGroup {false}
private

Definition at line 520 of file tv_play.h.

Referenced by InitFromDB(), and UpdateChannelList().

◆ m_dbChannelGroups

ChannelGroupList TV::m_dbChannelGroups
private

Definition at line 521 of file tv_play.h.

Referenced by InitFromDB(), and MenuItemDisplayPlayback().

◆ m_smartForward

bool TV::m_smartForward {false}
private

Definition at line 523 of file tv_play.h.

Referenced by InitFromDB(), and SeekHandleAction().

◆ m_ffRewRepos

float TV::m_ffRewRepos {1.0F}
private

Definition at line 524 of file tv_play.h.

Referenced by InitFromDB(), and StopFFRew().

◆ m_ffRewReverse

bool TV::m_ffRewReverse {false}
private

Definition at line 525 of file tv_play.h.

Referenced by ChangeFFRew(), and InitFromDB().

◆ m_ffRewSpeeds

std::vector<int> TV::m_ffRewSpeeds
private

◆ m_vbimode

uint TV::m_vbimode {VBIMode::None}
private

Definition at line 528 of file tv_play.h.

Referenced by AddKeyToInputQueue(), HandleTrackAction(), and InitFromDB().

◆ m_switchToInputId

uint TV::m_switchToInputId {0}
private

Definition at line 529 of file tv_play.h.

Referenced by OSDDialogEvent(), ScheduleInputChange(), and SwitchSource().

◆ m_wantsToQuit

bool TV::m_wantsToQuit {true}
mutableprivate

True if the user told MythTV to stop playback.

If this is false when we exit the player, we display an error screen.

Definition at line 533 of file tv_play.h.

Referenced by Playback(), PlaybackLoop(), SetExitPlayer(), and StartTV().

◆ m_stretchAdjustment

bool TV::m_stretchAdjustment {false}
private

True if time stretch is turned on.

Definition at line 534 of file tv_play.h.

Referenced by ChangeTimeStretch(), HandleOSDClosed(), and TimeStretchHandleAction().

◆ m_audiosyncAdjustment

bool TV::m_audiosyncAdjustment {false}
private

True if audiosync is turned on.

Definition at line 535 of file tv_play.h.

Referenced by AudioSyncHandleAction(), HandleOSDClosed(), and TV().

◆ m_subtitleZoomAdjustment

bool TV::m_subtitleZoomAdjustment {false}
private

True if subtitle zoom is turned on.

Definition at line 536 of file tv_play.h.

Referenced by HandleOSDClosed(), SubtitleZoomHandleAction(), and TV().

◆ m_subtitleDelayAdjustment

bool TV::m_subtitleDelayAdjustment {false}
private

True if subtitle delay is turned on.

Definition at line 537 of file tv_play.h.

Referenced by HandleOSDClosed(), SubtitleDelayHandleAction(), and TV().

◆ m_zoomMode

bool TV::m_zoomMode {false}
private

Definition at line 538 of file tv_play.h.

Referenced by ManualZoomHandleAction(), and SetManualZoom().

◆ m_sigMonMode

bool TV::m_sigMonMode {false}
private

Are we in signal monitoring mode?

Definition at line 539 of file tv_play.h.

Referenced by ActiveHandleAction().

◆ m_endOfRecording

bool TV::m_endOfRecording {false}
private

!player->IsPlaying() && StateIsPlaying()

Definition at line 540 of file tv_play.h.

Referenced by HandleEndOfPlaybackTimerEvent(), and HandleEndOfRecordingExitPromptTimerEvent().

◆ m_requestDelete

bool TV::m_requestDelete {false}
private

User wants last video deleted.

Definition at line 541 of file tv_play.h.

Referenced by ActiveHandleAction(), HandleOSDVideoExit(), HandleVideoExitDialogTimerEvent(), LiveTV(), Playback(), and StartTV().

◆ m_allowRerecord

bool TV::m_allowRerecord {false}
private

User wants to rerecord the last video if deleted.

Definition at line 542 of file tv_play.h.

Referenced by HandleOSDVideoExit(), LiveTV(), and Playback().

◆ m_doSmartForward

bool TV::m_doSmartForward {false}
private

Definition at line 543 of file tv_play.h.

Referenced by HandleOSDClosed(), SeekHandleAction(), and UpdateOSDSeekMessage().

◆ m_queuedTranscode

bool TV::m_queuedTranscode {false}
private

Definition at line 544 of file tv_play.h.

Referenced by DoQueueTranscode().

◆ m_savePosOnExit

bool TV::m_savePosOnExit {false}
private

False until first timer event.

Definition at line 545 of file tv_play.h.

Referenced by HandleSaveLastPlayPosEvent(), and PrepareToExitPlayer().

◆ m_clearPosOnExit

bool TV::m_clearPosOnExit {false}
private

False unless requested by user on playback exit.

Definition at line 546 of file tv_play.h.

Referenced by ActiveHandleAction(), HandleOSDVideoExit(), and PrepareToExitPlayer().

◆ m_adjustingPicture

PictureAdjustType TV::m_adjustingPicture {kAdjustingPicture_None}
private

Picture attribute type to modify.

Definition at line 548 of file tv_play.h.

Referenced by DoTogglePictureAttribute(), HandleOSDClosed(), and PictureAttributeHandleAction().

◆ m_adjustingPictureAttribute

PictureAttribute TV::m_adjustingPictureAttribute {kPictureAttribute_None}
private

Picture attribute to modify (on arrow left or right)

Definition at line 550 of file tv_play.h.

Referenced by DoTogglePictureAttribute(), HandleOSDClosed(), OSDDialogEvent(), and PictureAttributeHandleAction().

◆ m_askAllowPrograms

QMap<QString,AskProgramInfo> TV::m_askAllowPrograms
private

Definition at line 553 of file tv_play.h.

Referenced by AskAllowRecording(), HandleOSDAskAllow(), and ShowOSDAskAllow().

◆ m_askAllowLock

QRecursiveMutex TV::m_askAllowLock
private

Definition at line 554 of file tv_play.h.

Referenced by AskAllowRecording(), HandleOSDAskAllow(), and ShowOSDAskAllow().

◆ m_progListsLock

QMutex TV::m_progListsLock
private

Definition at line 556 of file tv_play.h.

Referenced by FillOSDMenuJumpRec(), and HandleJumpToProgramAction().

◆ m_progLists

QMap<QString,ProgramList> TV::m_progLists
private

Definition at line 557 of file tv_play.h.

Referenced by FillOSDMenuJumpRec(), and HandleJumpToProgramAction().

◆ m_chanEditMapLock

QRecursiveMutex TV::m_chanEditMapLock
mutableprivate

Lock for chanEditMap and ddMap.

Definition at line 559 of file tv_play.h.

Referenced by HandleOSDChannelEdit(), and StartChannelEditMode().

◆ m_chanEditMap

InfoMap TV::m_chanEditMap
private

Channel Editing initial map.

Definition at line 560 of file tv_play.h.

Referenced by HandleOSDChannelEdit(), and StartChannelEditMode().

◆ s_sleepTimes

const std::vector< TV::SleepTimerInfo > TV::s_sleepTimes
staticprivate
Initial value:
=
{
{ tr("Off", "Sleep timer"), 0min },
{ tr("30m", "Sleep timer"), 30min },
{ tr("1h", "Sleep timer"), 60min },
{ tr("1h30m", "Sleep timer"), 90min },
{ tr("2h", "Sleep timer"), 120min }
}

Definition at line 562 of file tv_play.h.

Referenced by ToggleSleepTimer().

◆ m_sleepIndex

uint TV::m_sleepIndex {0}
private

Index into sleep_times.

Definition at line 564 of file tv_play.h.

Referenced by Init(), and ToggleSleepTimer().

◆ m_sleepTimerTimeout

std::chrono::milliseconds TV::m_sleepTimerTimeout {0ms}
private

Current sleep timeout in msec.

Definition at line 565 of file tv_play.h.

Referenced by HandleOSDSleep(), ShowOSDSleep(), and ToggleSleepTimer().

◆ m_sleepTimerId

int TV::m_sleepTimerId {0}
private

Timer for turning off playback.

Definition at line 566 of file tv_play.h.

Referenced by HandleOSDSleep(), MenuItemDisplayPlayback(), ShowOSDSleep(), timerEvent(), and ToggleSleepTimer().

◆ m_sleepDialogTimerId

int TV::m_sleepDialogTimerId {0}
private

Timer for sleep dialog.

Definition at line 567 of file tv_play.h.

Referenced by HandleOSDSleep(), ShowOSDSleep(), SleepDialogTimeout(), and timerEvent().

◆ m_idleTimerId

int TV::m_idleTimerId {0}
private

Timer for turning off playback after idle period.

Definition at line 569 of file tv_play.h.

Referenced by HandleOSDIdle(), LiveTV(), ProcessKeypressOrGesture(), ShowOSDIdle(), and timerEvent().

◆ m_idleDialogTimerId

int TV::m_idleDialogTimerId {0}
private

Timer for idle dialog.

Definition at line 570 of file tv_play.h.

Referenced by HandleOSDIdle(), IdleDialogTimeout(), ShowOSDIdle(), and timerEvent().

◆ m_keyRepeatTimer

MythTimer TV::m_keyRepeatTimer
private

Queue of unprocessed key presses.

Timeout timer for repeat key filtering

Definition at line 573 of file tv_play.h.

Referenced by DoSeek(), and TV().

◆ m_ccInputMode

bool TV::m_ccInputMode {false}
private

Are we in CC/Teletext page/stream selection mode?

Definition at line 577 of file tv_play.h.

Referenced by ActiveHandleAction(), AddKeyToInputQueue(), CommitQueuedInput(), HandleTrackAction(), and timerEvent().

◆ m_asInputMode

bool TV::m_asInputMode {false}
private

Are we in Arbitrary seek input mode?

Definition at line 581 of file tv_play.h.

Referenced by ActiveHandleAction(), AddKeyToInputQueue(), CommitQueuedInput(), HandleTrackAction(), and timerEvent().

◆ m_queuedInput

QString TV::m_queuedInput
private

Input key presses queued up so far...

Definition at line 585 of file tv_play.h.

Referenced by AddKeyToInputQueue(), ChangeChannel(), ClearInputQueues(), GetQueuedInput(), GetQueuedInputAsInt(), OSDDialogEvent(), and PopPreviousChannel().

◆ m_queuedChanNum

QString TV::m_queuedChanNum
mutableprivate

◆ m_queuedChanID

uint TV::m_queuedChanID {0}
private

Queued ChanID (from EPG channel selector)

Definition at line 589 of file tv_play.h.

Referenced by ChangeChannel(), ClearInputQueues(), OSDDialogEvent(), PopPreviousChannel(), ProcessNetworkControlCommand(), and timerEvent().

◆ m_initialChanID

uint TV::m_initialChanID {0}
private

Initial chanid override for Live TV.

Definition at line 591 of file tv_play.h.

Referenced by HandleStateChange(), and RequestNextRecorder().

◆ kScreenPressRegionCount

const int TV::kScreenPressRegionCount = 12
staticprivate

screen area to keypress translation region is now 0..11 0 1 2 3 4 5 6 7 8 9 10 11

Definition at line 598 of file tv_play.h.

Referenced by ConvertScreenPressKeyMap().

◆ m_screenPressKeyMapPlayback

QList<QKeyEvent*> TV::m_screenPressKeyMapPlayback
private

Definition at line 599 of file tv_play.h.

Referenced by InitFromDB(), TranslateGesture(), and ~TV().

◆ m_screenPressKeyMapLiveTV

QList<QKeyEvent*> TV::m_screenPressKeyMapLiveTV
private

Definition at line 600 of file tv_play.h.

Referenced by InitFromDB(), TranslateGesture(), and ~TV().

◆ m_lockTimer

QElapsedTimer TV::m_lockTimer
private

Definition at line 603 of file tv_play.h.

Referenced by HandleStateChange(), PauseLiveTV(), SwitchInputs(), and UpdateOSDTimeoutMessage().

◆ m_lockTimerOn

bool TV::m_lockTimerOn {false}
private

◆ m_lastLockSeenTime

QDateTime TV::m_lastLockSeenTime
private

Definition at line 605 of file tv_play.h.

Referenced by HandleStateChange(), and UpdateOSDSignal().

◆ m_lastProgramLock

QMutex TV::m_lastProgramLock
mutableprivate

Definition at line 609 of file tv_play.h.

Referenced by GetLastProgram(), and SetLastProgram().

◆ m_lastProgram

ProgramInfo* TV::m_lastProgram {nullptr}
private

last program played with this player

Definition at line 610 of file tv_play.h.

Referenced by GetLastProgram(), MenuItemDisplayPlayback(), SetLastProgram(), timerEvent(), and ~TV().

◆ m_inPlaylist

bool TV::m_inPlaylist {false}
private

◆ m_underNetworkControl

bool TV::m_underNetworkControl {false}
private

initial show started via by the network control interface

Definition at line 612 of file tv_play.h.

Referenced by ActiveHandleAction(), HandleEndOfPlaybackTimerEvent(), HandleEndOfRecordingExitPromptTimerEvent(), and HandleStateChange().

◆ m_jumpToProgram

bool TV::m_jumpToProgram {false}
private

◆ m_playerContext

PlayerContext TV::m_playerContext { kPlayerInUseID }
private

Definition at line 618 of file tv_play.h.

Referenced by ActiveHandleAction(), ActivePostQHandleAction(), ChangeChannel(), ChangeFFRew(), ChangeSpeed(), ChangeTimeStretch(), ChannelEditXDSFill(), CommitQueuedInput(), ContextIsPaused(), CreatePlayer(), customEvent(), DiscMenuHandleAction(), DoArbSeek(), DoEditSchedule(), DoJumpChapter(), DoJumpFFWD(), DoJumpRWND(), DoPlay(), DoPlayerSeek(), DoPlayerSeekToFrame(), DoQueueTranscode(), DoSeek(), DoSeekAbsolute(), DoSeekFFWD(), DoSeekRWND(), DoSkipCommercials(), DoSwitchAngle(), DoSwitchTitle(), DoTogglePause(), DoTogglePauseFinish(), DoTogglePauseStart(), DoTogglePictureAttribute(), DVDJumpBack(), DVDJumpForward(), event(), FFRewHandleAction(), FillOSDMenuJumpRec(), ForceNextStateNone(), GetAngleName(), GetChapterTimes(), GetCurrentAngle(), GetCurrentChapter(), GetCurrentTitle(), GetNumAngles(), GetNumChapters(), GetNumTitles(), GetOSDL(), GetPlayerContext(), GetRecordingGroup(), GetState(), GetStatus(), GetTitleDuration(), GetTitleName(), HandleEndOfPlaybackTimerEvent(), HandleEndOfRecordingExitPromptTimerEvent(), HandleLCDTimerEvent(), HandleOSDAlreadyEditing(), HandleOSDAskAllow(), HandleOSDChannelEdit(), HandleOSDVideoExit(), HandlePseudoLiveTVTimerEvent(), HandleSaveLastPlayPosEvent(), HandleSpeedChangeTimerEvent(), HandleStateChange(), IdleDialogTimeout(), Init(), IsBookmarkAllowed(), IsDeleteAllowed(), IsSameProgram(), IsTunablePriv(), ITVRestart(), LiveTV(), MenuItemDisplayPlayback(), NormalSpeed(), OSDDialogEvent(), OverrideScan(), PauseLiveTV(), PictureAttributeHandleAction(), Playback(), PlaybackLoop(), PlaybackMenuInit(), PopPreviousChannel(), PrepareToExitPlayer(), ProcessKeypressOrGesture(), ProcessNetworkControlCommand(), ProcessSmartChannel(), QuickRecord(), RequestNextRecorder(), ReturnOSDLock(), ScheduleStateChange(), SeekHandleAction(), SetAutoCommercialSkip(), SetErrored(), SetFFRew(), ShowLCDChannelInfo(), ShowLCDDVDInfo(), ShowOSDAskAllow(), ShowOSDPromptDeleteRecording(), ShowOSDStopWatchingRecording(), ShowPreviousChannel(), StartChannelEditMode(), StartPlaying(), StartProgramEditMode(), StartRecorder(), StopFFRew(), StopStuff(), SwitchInputs(), SwitchSource(), timerEvent(), ToggleAutoExpire(), ToggleChannelFavorite(), ToggleTimeStretch(), UnpauseLiveTV(), UpdateOSDInput(), UpdateOSDProgInfo(), UpdateOSDSignal(), UpdateOSDTimeoutMessage(), VolumeChange(), and ~TV().

◆ m_player

MythPlayerUI* TV::m_player { nullptr }
private

◆ m_playerLock

QReadWriteLock TV::m_playerLock
mutableprivate

lock on player and playerActive changes

Definition at line 623 of file tv_play.h.

Referenced by GetPlayerReadLock(), GetPlayerWriteLock(), ReturnPlayerLock(), and ~TV().

◆ m_noHardwareDecoders

bool TV::m_noHardwareDecoders {false}
private

Definition at line 625 of file tv_play.h.

◆ m_switchToRec

RemoteEncoder* TV::m_switchToRec {nullptr}
private

Main recorder to use after a successful SwitchCards() call.

Definition at line 629 of file tv_play.h.

Referenced by Init(), LiveTV(), and RequestNextRecorder().

◆ m_lcdTitle

QString TV::m_lcdTitle
private

Definition at line 632 of file tv_play.h.

Referenced by HandleLCDVolumeTimerEvent(), ShowLCDChannelInfo(), and ShowLCDDVDInfo().

◆ m_lcdSubtitle

QString TV::m_lcdSubtitle
private

Definition at line 633 of file tv_play.h.

Referenced by HandleLCDVolumeTimerEvent(), ShowLCDChannelInfo(), and ShowLCDDVDInfo().

◆ m_lcdCallsign

QString TV::m_lcdCallsign
private

Definition at line 634 of file tv_play.h.

Referenced by HandleLCDVolumeTimerEvent(), ShowLCDChannelInfo(), and ShowLCDDVDInfo().

◆ m_myWindow

TvPlayWindow* TV::m_myWindow {nullptr}
private

Our screen, if it exists.

player bounds, for after DoEditSchedule() returns to normal playing.

Definition at line 637 of file tv_play.h.

Referenced by customEvent(), HandleStateChange(), Init(), and ~TV().

◆ m_playerBounds

QRect TV::m_playerBounds
private

Prior GUI window bounds, for DoEditSchedule() and player exit().

Definition at line 639 of file tv_play.h.

Referenced by Embed(), HandleStateChange(), and Init().

◆ m_savedGuiBounds

QRect TV::m_savedGuiBounds
private

Definition at line 641 of file tv_play.h.

Referenced by DoEditSchedule(), Init(), and ~TV().

◆ m_weDisabledGUI

bool TV::m_weDisabledGUI {false}
private

true if this instance disabled MythUI drawing.

Definition at line 643 of file tv_play.h.

Referenced by DoEditSchedule(), Embed(), HandleStateChange(), and ~TV().

◆ m_ignoreKeyPresses

bool TV::m_ignoreKeyPresses {false}
private

should we ignore keypresses

Definition at line 646 of file tv_play.h.

Referenced by DoEditSchedule(), Embed(), and eventFilter().

◆ m_savedPause

bool TV::m_savedPause {false}
private

saved pause state before embedding

Definition at line 647 of file tv_play.h.

Referenced by DoEditSchedule(), and Embed().

◆ m_channelGroupLock

QMutex TV::m_channelGroupLock
mutableprivate

Lock necessary when modifying channel group variables.

These are only modified in UI thread, so no lock is needed to read this value in the UI thread.

Definition at line 653 of file tv_play.h.

Referenced by ChangeChannel(), OSDDialogEvent(), TVBrowseHelper::run(), and UpdateChannelList().

◆ m_channelGroupId

volatile int TV::m_channelGroupId {-1}
private

◆ m_channelGroupChannelList

ChannelInfoList TV::m_channelGroupChannelList
private

◆ m_networkControlCommands

MythDeque<QString> TV::m_networkControlCommands
private

Definition at line 658 of file tv_play.h.

Referenced by customEvent(), and timerEvent().

◆ m_lcdTimerId

volatile int TV::m_lcdTimerId {0}
private

Definition at line 661 of file tv_play.h.

Referenced by HandleLCDTimerEvent(), Init(), timerEvent(), and UpdateLCD().

◆ m_lcdVolumeTimerId

volatile int TV::m_lcdVolumeTimerId {0}
private

Definition at line 662 of file tv_play.h.

Referenced by HandleLCDVolumeTimerEvent(), timerEvent(), and VolumeChange().

◆ m_networkControlTimerId

volatile int TV::m_networkControlTimerId {0}
private

Definition at line 663 of file tv_play.h.

Referenced by customEvent(), and timerEvent().

◆ m_ccInputTimerId

volatile int TV::m_ccInputTimerId {0}
private

Definition at line 664 of file tv_play.h.

Referenced by ActiveHandleAction(), HandleTrackAction(), and timerEvent().

◆ m_asInputTimerId

volatile int TV::m_asInputTimerId {0}
private

Definition at line 665 of file tv_play.h.

Referenced by ActiveHandleAction(), HandleTrackAction(), and timerEvent().

◆ m_queueInputTimerId

volatile int TV::m_queueInputTimerId {0}
private

◆ m_endOfPlaybackTimerId

volatile int TV::m_endOfPlaybackTimerId {0}
private

Definition at line 667 of file tv_play.h.

Referenced by HandleEndOfPlaybackTimerEvent(), HandleStateChange(), and timerEvent().

◆ m_endOfRecPromptTimerId

volatile int TV::m_endOfRecPromptTimerId {0}
private

Definition at line 668 of file tv_play.h.

Referenced by HandleStateChange(), and timerEvent().

◆ m_videoExitDialogTimerId

volatile int TV::m_videoExitDialogTimerId {0}
private

◆ m_pseudoChangeChanTimerId

volatile int TV::m_pseudoChangeChanTimerId {0}
private

Definition at line 670 of file tv_play.h.

Referenced by customEvent(), HandlePseudoLiveTVTimerEvent(), and timerEvent().

◆ m_speedChangeTimerId

volatile int TV::m_speedChangeTimerId {0}
private

Definition at line 671 of file tv_play.h.

Referenced by HandleSpeedChangeTimerEvent(), Init(), SetSpeedChangeTimer(), and timerEvent().

◆ m_errorRecoveryTimerId

volatile int TV::m_errorRecoveryTimerId {0}
private

Definition at line 672 of file tv_play.h.

Referenced by Init(), SetErrored(), and timerEvent().

◆ m_exitPlayerTimerId

volatile int TV::m_exitPlayerTimerId {0}
mutableprivate

◆ m_saveLastPlayPosTimerId

volatile int TV::m_saveLastPlayPosTimerId {0}
private

Definition at line 674 of file tv_play.h.

Referenced by Init(), and timerEvent().

◆ m_signalMonitorTimerId

volatile int TV::m_signalMonitorTimerId {0}
private

Definition at line 675 of file tv_play.h.

Referenced by timerEvent(), and UpdateOSDSignal().

◆ m_tvmTracks

QStringList TV::m_tvmTracks[kTrackTypeCount]
private

Definition at line 681 of file tv_play.h.

Referenced by MenuItemDisplayPlayback(), and PlaybackMenuInit().

◆ m_tvmCurtrack

int TV::m_tvmCurtrack[kTrackTypeCount] {}
private

Definition at line 682 of file tv_play.h.

Referenced by MenuItemDisplayPlayback(), and PlaybackMenuInit().

◆ m_tvmAvsync

bool TV::m_tvmAvsync {true}
private

Definition at line 685 of file tv_play.h.

Referenced by PlaybackMenuInit().

◆ m_tvmFillAutoDetect

bool TV::m_tvmFillAutoDetect {false}
private

Definition at line 688 of file tv_play.h.

Referenced by MenuItemDisplayPlayback(), and PlaybackMenuInit().

◆ m_tvmSpeedX100

int TV::m_tvmSpeedX100 {100}
private

Definition at line 691 of file tv_play.h.

Referenced by MenuItemDisplayPlayback(), and PlaybackMenuInit().

◆ m_tvmState

TVState TV::m_tvmState {kState_None}
private

Definition at line 692 of file tv_play.h.

Referenced by PlaybackMenuInit().

◆ m_tvmIsRecording

bool TV::m_tvmIsRecording {false}
private

Definition at line 693 of file tv_play.h.

Referenced by MenuItemDisplayPlayback(), and PlaybackMenuInit().

◆ m_tvmIsRecorded

bool TV::m_tvmIsRecorded {false}
private

Definition at line 694 of file tv_play.h.

Referenced by MenuItemDisplayPlayback(), and PlaybackMenuInit().

◆ m_tvmIsVideo

bool TV::m_tvmIsVideo {false}
private

Definition at line 695 of file tv_play.h.

Referenced by MenuItemDisplayPlayback(), and PlaybackMenuInit().

◆ m_tvmCurSkip

CommSkipMode TV::m_tvmCurSkip {kCommSkipOff}
private

Definition at line 696 of file tv_play.h.

Referenced by MenuItemDisplayPlayback(), and PlaybackMenuInit().

◆ m_tvmIsPaused

bool TV::m_tvmIsPaused {false}
private

Definition at line 697 of file tv_play.h.

Referenced by MenuItemDisplayPlayback(), and PlaybackMenuInit().

◆ m_tvmFreeRecorderCount

int TV::m_tvmFreeRecorderCount {-1}
private

Definition at line 698 of file tv_play.h.

Referenced by MenuLazyInit(), and PlaybackMenuInit().

◆ m_tvmIsDvd

bool TV::m_tvmIsDvd {false}
private

Definition at line 699 of file tv_play.h.

Referenced by MenuItemDisplayPlayback(), and PlaybackMenuInit().

◆ m_tvmIsBd

bool TV::m_tvmIsBd {false}
private

Definition at line 700 of file tv_play.h.

Referenced by MenuItemDisplayPlayback(), and PlaybackMenuInit().

◆ m_tvmJump

bool TV::m_tvmJump {false}
private

Definition at line 701 of file tv_play.h.

Referenced by MenuItemDisplayPlayback(), and PlaybackMenuInit().

◆ m_tvmIsLiveTv

bool TV::m_tvmIsLiveTv {false}
private

Definition at line 702 of file tv_play.h.

Referenced by MenuItemDisplayPlayback(), and PlaybackMenuInit().

◆ m_tvmPreviousChan

bool TV::m_tvmPreviousChan {false}
private

Definition at line 703 of file tv_play.h.

Referenced by MenuItemDisplayPlayback(), and PlaybackMenuInit().

◆ m_tvmNumChapters

int TV::m_tvmNumChapters {0}
private

Definition at line 706 of file tv_play.h.

Referenced by MenuItemDisplayPlayback(), and PlaybackMenuInit().

◆ m_tvmCurrentChapter

int TV::m_tvmCurrentChapter {0}
private

Definition at line 707 of file tv_play.h.

Referenced by MenuItemDisplayPlayback(), and PlaybackMenuInit().

◆ m_tvmChapterTimes

QList<std::chrono::seconds> TV::m_tvmChapterTimes
private

Definition at line 708 of file tv_play.h.

Referenced by MenuItemDisplayPlayback(), and PlaybackMenuInit().

◆ m_tvmNumAngles

int TV::m_tvmNumAngles {0}
private

Definition at line 709 of file tv_play.h.

Referenced by MenuItemDisplayPlayback(), and PlaybackMenuInit().

◆ m_tvmCurrentAngle

int TV::m_tvmCurrentAngle {0}
private

Definition at line 710 of file tv_play.h.

Referenced by MenuItemDisplayPlayback(), and PlaybackMenuInit().

◆ m_tvmNumTitles

int TV::m_tvmNumTitles {0}
private

Definition at line 711 of file tv_play.h.

Referenced by MenuItemDisplayPlayback(), and PlaybackMenuInit().

◆ m_tvmCurrentTitle

int TV::m_tvmCurrentTitle {0}
private

Definition at line 712 of file tv_play.h.

Referenced by MenuItemDisplayPlayback(), and PlaybackMenuInit().

◆ m_tvmSubsForcedOn

bool TV::m_tvmSubsForcedOn {true}
private

Definition at line 714 of file tv_play.h.

Referenced by MenuItemDisplayPlayback(), and PlaybackMenuInit().

◆ m_tvmSubsHaveSubs

bool TV::m_tvmSubsHaveSubs {false}
private

Definition at line 715 of file tv_play.h.

Referenced by MenuItemDisplayPlayback(), and PlaybackMenuInit().

◆ m_tvmIsOn

bool TV::m_tvmIsOn {false}
private

Definition at line 717 of file tv_play.h.

Referenced by MenuItemDisplayPlayback(), and PlaybackMenuInit().

◆ m_tvmTranscoding

bool TV::m_tvmTranscoding {false}
private

Definition at line 718 of file tv_play.h.

Referenced by MenuItemDisplayPlayback(), and PlaybackMenuInit().

◆ m_tvmJumprecBackHack

QVariant TV::m_tvmJumprecBackHack
private

Definition at line 720 of file tv_play.h.

Referenced by FillOSDMenuJumpRec(), and MenuItemDisplayPlayback().

◆ m_playbackMenu

MythTVMenu TV::m_playbackMenu
private

◆ m_playbackCompactMenu

MythTVMenu TV::m_playbackCompactMenu
private

◆ m_cutlistMenu

MythTVMenu TV::m_cutlistMenu
private

Definition at line 725 of file tv_play.h.

Referenced by getMenuFromId(), MenuItemDisplay(), PlaybackMenuShow(), and ShowOSDCutpoint().

◆ m_cutlistCompactMenu

MythTVMenu TV::m_cutlistCompactMenu
private

Definition at line 726 of file tv_play.h.

Referenced by getMenuFromId(), MenuItemDisplay(), PlaybackMenuShow(), and ShowOSDCutpoint().

◆ kInitFFRWSpeed

const int TV::kInitFFRWSpeed = 0
inlinestatic

◆ kInputKeysMax

const uint TV::kInputKeysMax = 6
inlinestatic

Definition at line 730 of file tv_play.h.

Referenced by AddKeyToInputQueue().

◆ kNextSource

const uint TV::kNextSource = 1
inlinestatic

Definition at line 731 of file tv_play.h.

Referenced by ActivePostQHandleAction(), and SwitchSource().

◆ kPreviousSource

const uint TV::kPreviousSource = 2
inlinestatic

Definition at line 732 of file tv_play.h.

Referenced by ActivePostQHandleAction(), and SwitchSource().

◆ kInputModeTimeout

const std::chrono::milliseconds TV::kInputModeTimeout = 5s
inlinestatic

Definition at line 734 of file tv_play.h.

Referenced by ActiveHandleAction(), and HandleTrackAction().

◆ kLCDTimeout

const std::chrono::milliseconds TV::kLCDTimeout = 1s
inlinestatic

Definition at line 735 of file tv_play.h.

Referenced by HandleLCDTimerEvent().

◆ kBrowseTimeout

const std::chrono::milliseconds TV::kBrowseTimeout = 30s
inlinestatic

Definition at line 736 of file tv_play.h.

Referenced by TVBrowseHelper::BrowseDispInfo().

◆ kKeyRepeatTimeout

const std::chrono::milliseconds TV::kKeyRepeatTimeout = 300ms
inlinestatic

Definition at line 737 of file tv_play.h.

Referenced by DoSeek().

◆ kPrevChanTimeout

const std::chrono::milliseconds TV::kPrevChanTimeout = 750ms
inlinestatic

Definition at line 738 of file tv_play.h.

◆ kSleepTimerDialogTimeout

const std::chrono::milliseconds TV::kSleepTimerDialogTimeout = 45s
inlinestatic

Definition at line 739 of file tv_play.h.

Referenced by ShowOSDSleep().

◆ kIdleTimerDialogTimeout

const std::chrono::milliseconds TV::kIdleTimerDialogTimeout = 45s
inlinestatic

Definition at line 740 of file tv_play.h.

Referenced by ShowOSDIdle().

◆ kVideoExitDialogTimeout

const std::chrono::milliseconds TV::kVideoExitDialogTimeout = 2min
inlinestatic

Definition at line 741 of file tv_play.h.

Referenced by ShowOSDPromptDeleteRecording().

◆ kEndOfPlaybackCheckFrequency

const std::chrono::milliseconds TV::kEndOfPlaybackCheckFrequency = 250ms
inlinestatic

Definition at line 742 of file tv_play.h.

Referenced by HandleEndOfPlaybackTimerEvent().

◆ kEmbedCheckFrequency

const std::chrono::milliseconds TV::kEmbedCheckFrequency = 250ms
inlinestatic

Definition at line 743 of file tv_play.h.

◆ kSpeedChangeCheckFrequency

const std::chrono::milliseconds TV::kSpeedChangeCheckFrequency = 250ms
inlinestatic

Definition at line 744 of file tv_play.h.

Referenced by HandleSpeedChangeTimerEvent(), and Init().

◆ kErrorRecoveryCheckFrequency

const std::chrono::milliseconds TV::kErrorRecoveryCheckFrequency = 250ms
inlinestatic

Definition at line 745 of file tv_play.h.

Referenced by Init(), and timerEvent().

◆ kEndOfRecPromptCheckFrequency

const std::chrono::milliseconds TV::kEndOfRecPromptCheckFrequency = 250ms
inlinestatic

Definition at line 746 of file tv_play.h.

Referenced by HandleStateChange().

◆ kSaveLastPlayPosTimeout

const std::chrono::milliseconds TV::kSaveLastPlayPosTimeout = 5s
inlinestatic

Definition at line 747 of file tv_play.h.

Referenced by Init().

◆ kEndOfPlaybackFirstCheckTimer

const std::chrono::milliseconds TV::kEndOfPlaybackFirstCheckTimer = 5s
inlinestatic

Definition at line 751 of file tv_play.h.

Referenced by HandleStateChange().


The documentation for this class was generated from the following files: