View Single Post
Old 2007-09-04, 11:22   #3 (permalink)
styriaman
Portal Member
 
Join Date: Sep 2004
Location: Austria/Styria
Posts: 51
Thanks: 0
Thanked 0 Times in 0 Posts


Default

Hi,

I had this problem in the TV engine 3.0 too. I personally have changed the following routine in TVController to ...

public bool CanSuspend
{
get
{
//Log.Debug("TVController.CanSuspend: checking cards");

User user = new User();
Dictionary<int, ITvCardHandler>.Enumerator enumer = _cards.GetEnumerator();
while (enumer.MoveNext())
{
int cardId = enumer.Current.Key;
User[] users = _cards[cardId].Users.GetUsers();
if (users != null)
{
for (int i = 0; i < users.Length; ++i)
{
if (_cards[cardId].Recorder.IsRecording(ref users[i]))
{
Log.Debug("TVController.CanSuspend: Recording of user {0} is running -> cannot suspend", users[i].Name);
return false;
}
if ( _cards[cardId].TimeShifter.IsTimeShifting(ref users[i]) && users[i].Name != user.Name)
{
Log.Debug("TVController.CanSuspend: User {0} has timeshift running -> cannot suspend", users[i].Name);
return false;
}
}
}
}

.
.
.


this allows for me in a single seat setup to go standby if TV is running. Maybe there are some drawbacks - maybe a developer can check the code.


Regards

Joe
styriaman is offline   Reply With Quote