﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	severity	resolution	keywords	cc	mlocked
724	Inconsistent OSD timeout values	bmayland@…	markk	"There are 3 configurable settings for OSD timeouts: OSDProgramInfoTimeout, OSDGeneralTimeout and OSDNotifyTimeout.  However, many OSD activators do not use these timeout 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 (shouldn't this use settings?)
TV::SetAutoCommercialSkip() - status OSD, 1 second timeout (shouldn't this use settings?)
TV::SetManualZoom() - status OSD, 1 second timeout (shouldn't this use settings?)
UDPNotify::incomingData() - notify OSD, notify timeout
NuppelVideoPlayer:: - all over the place.  Do we still use this?
}}}
I think there are actually 3 timeouts needed in the TV class:[[br]]
'''ProgramInfo''' - self-explanitory[[br]]
'''Status''' - displaying something non-interactive such as ""Recording"" or ""Position Saved"".  Mainly things that use the ""settings"" OSD.[[br]]
'''Interactive''' - changing picture adustments, time-scale, etc.  Anything that is presenting information that may be changed by the user multiple times before going away.

At the very least, the hard coded timeout should be changed to use the user settings."	defect	closed	minor	0.24	MythTV - User Interface Library	head	medium	fixed			0
