[mythtv] Inconsistent OSD timeout values

Bryan Mayland bmayland at leoninedev.com
Tue Dec 20 15:17:07 EST 2005


This thread is for the discussion of removing any inconsistency in the 
timeout of OSD displays.  If there are no objections, I will implement 
this and submit a patch to trac as a ... patch(?).  [I'd say 'defect 
with attached patch' but who knows.  If someone would clarify I'll 
update the TicketHowTo wiki].

There are 3 configurable settings for OSD timeouts: 
OSDProgramInfoTimeout, OSDGeneralTimeout and OSDNotifyTimeout. However, 
the subjective handling of what is "general" and what is "notify" is 
ambiguous, and many OSD activators do not use these timeout values-- 
falling back to hard-coded constants.   This can cause great confusion 
for users who are trying to change a OSD timeout via settings only to 
not have any of them affect the display they'd like to change.  I've 
included a convenient list of current OSD activators and their timeputs 
at the end of this message.

Ideally, I think there are actually 3 timeouts needed in the TV class 
and all class
*ProgramInfo* - self-explanitory
*Status* - displaying something non-interactive such as "Recording" or 
"Position Saved". Mainly things that use the "settings" OSD.
*Interactive* - changing picture adustments, time-scale, etc. Anything 
that is presenting information that may be changed by the user multiple 
times before going away.

I propose we rename the current 3 to these new values: 
OSDTimeoutProgramInfo, OSDTimeoutStatus, and OSDTimeoutInteractive (or 
some permutation of those words).  The OSD activators will then all be 
modified to use the new values.

These are the CURRENT values
TV::HandleStateChange() - settings OSD, 3 second timeout
TV::DoInfo() - program_info / status OSD, proginfo timeout
TV::DoQueueTranscode() - settings OSD, 3 second timeout
TV::UpdateOSDTextEntry() - channel_number OSD, 2 second timeout
TV::PreviousChannel() - channel_number OSD, 1 second timeout
TV::UpdateOSD() - program_info / channel_number OSD, proginfo timeout
TV::UpdateOSDInput() - settings OSD, 3 second timeout
TV::UpdateOSDSignal() - program_info / channel_number OSD, proginfo timeout
TV::ToggleMute() - settings OSD, 5 second timeout
TV::ToggleSleepTimer() - settings OSD, 3 second timeout
TV::ToggleLetterbox() - settings OSD, 3 second timeout
TV::ToggleRecord() - settings OSD, 3 second timeout (twice)
TV::ChangeAudioTrack - settings OSD, 3 second timeout
TV::SetAudioTrack - settings OSD, 3 second timeout
TV::ChangeSubtitleTrack - settings OSD, 3 second timeout
TV::SetSubtitleTrack - settings OSD, 3 second timeout
TV::ToggleSleepTimer(string) - settings OSD, 3 second timeout
TV::DoSkipCommercials() - status OSD, 6 second timeout
TV::UpdateOSDSeekMessage() - status OSD, passsed second timeout (always general)
TV::ChangeBrightness() - status OSD, 5 second timeout (twice)
TV::ChangeContrast() - status OSD, 5 second timeout (twice)
TV::ChangeColour() - status OSD, 5 second timeout (twice)
TV::ChangeHue() - status OSD, 5 second timeout (twice)
TV::ChangeVolume() - status OSD, 5 second timeout
TV::ChangeTimeStretch() - status OSD, 10 second timeout
TV::ChangeAudioSync() - status OSD, 10 second timeout
TV::DoTogglePictureAttribute - status OSD, 5 second timeout
TV::DoToggleRecPictureAttribute - status OSD, 5 second timeout
TV::ToggleAutoExpire() - status OSD, 1 second timeout 
TV::SetAutoCommercialSkip() - status OSD, 1 second timeout 
TV::SetManualZoom() - status OSD, 1 second timeout
UDPNotify::incomingData() - notify OSD, notify timeout
NuppelVideoPlayer:: - all over the place.  Do we still use this?



More information about the mythtv-dev mailing list